реклама на сайте
подробности

 
 
> Помогите разобраться с кодом для 74HC595
lol483
сообщение May 8 2012, 13:13
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 8-05-12
Пользователь №: 71 734



Здравствуйте, прошу помощи в следующей проблеме: написал кусочек кода для будущих часов на газоразрядных индикаторах с применением регистра последовательного сдвига 74HC595
и столкнулся с непонятным моментом, на осциллографе на соответствующих ножках МК: DS-постоянно 1, SH_CP-постоянно 1, ST_CP-постоянно 0. В соответствии с прикрепленной прошивкой там должны быть определенные колебания. Расскажите что в коде не так, в чем проблема?


Сообщение отредактировал lol483 - May 8 2012, 13:14
Прикрепленные файлы
Прикрепленный файл  __________74HC595.rar ( 26.06 килобайт ) Кол-во скачиваний: 33
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ILYAUL
сообщение May 8 2012, 21:06
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Интересно , а что на OE?


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
lol483
сообщение May 8 2012, 21:13
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 8-05-12
Пользователь №: 71 734



Цитата(ILYAUL @ May 9 2012, 00:06) *
Интересно , а что на OE?

OE постоянно и намертво присоединена к 0.
MR постоянно присоединена к 1 (5 v).

У меня осциллограф до 7 МГц берет, так что я фьюзы поставил на тактирование от внутреннего генератора на 1 МГц, так что должен видеть уж точно колебания хотя бы на SH_CP и ST_CP но их нет :-(

Сообщение отредактировал lol483 - May 8 2012, 21:13
Go to the top of the page
 
+Quote Post
zombi
сообщение May 9 2012, 10:06
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(lol483 @ May 9 2012, 00:13) *
У меня осциллограф до 7 МГц берет, так что я фьюзы поставил на тактирование от внутреннего генератора на 1 МГц, так что должен видеть уж точно колебания хотя бы на SH_CP и ST_CP но их нет :-(

А они должны быть!!! И Вы их должны видеть!!!
И до тех пор пока Вы их не увидите дальнейшие движения бессмысленны.
Ищите косяк.
Код
delay_ms(5);

После добавления задержки 5000 тактов Вы заметили колебания!? Какие частоты? Длительности? Действительно ли 5ms?

Цитата(lol483 @ May 9 2012, 00:29) *
И к тому же частота работы 74HC595 по моему около 100 МГц.

Зависит от питания и температуры. При 5В и 25С я бы больше 25MHz не подавал (для серийного изделия).

Цитата(lol483 @ May 9 2012, 11:49) *
unsigned char bin_digits[10]=
{
0b11111111, //0
0b11111110, //1
0b11111101, //2
0b11111100, //3
0b11111011, //4
0b11111010, //5
0b11111001, //6
0b11111000, //7
0b11110111, //8
0b11110110, //9
};

А почему инверсные значения 0-9?

Цитата(lol483 @ May 9 2012, 11:49) *
PORTD.0=bin_digits[dig] & 1<<i; //выводим "текущий бит" в линию DS

В СИ не силён, но чтото мне это не нравится.
Go to the top of the page
 
+Quote Post
adnega
сообщение May 9 2012, 10:29
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(zombi @ May 9 2012, 13:06) *
В СИ не силён, но чтото мне это не нравится.


PORTD.0= (bin_digits[dig] >> i) & 1;

А так?
Go to the top of the page
 
+Quote Post
zombi
сообщение May 9 2012, 11:06
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(adnega @ May 9 2012, 13:29) *
PORTD.0= (bin_digits[dig] >> i) & 1;

А так?

Так нравится.

Код
PORTD.0=bin_digits[dig] & 1<<i;
PORTD.0=(bin_digits[dig] >> i) & 1;

А что на СИ эти строки дают абсолютно одинаковый результат?
Go to the top of the page
 
+Quote Post
_Артём_
сообщение May 9 2012, 12:28
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(zombi @ May 9 2012, 14:06) *
Код
PORTD.0=bin_digits[dig] & 1<<i;
PORTD.0=(bin_digits[dig] >> i) & 1;

А что на СИ эти строки дают абсолютно одинаковый результат?

А что - нет?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- lol483   Помогите разобраться с кодом для 74HC595   May 8 2012, 13:13
- - Genadi Zawidowski   В строке Цитатавыводим "текущий бит" в ...   May 8 2012, 14:01
|- - lol483   Цитата(Genadi Zawidowski @ May 8 2012, 17...   May 8 2012, 20:26
||- - zombi   Цитата(_Артём_ @ May 9 2012, 15:28) А что...   May 9 2012, 13:03
||- - _Артём_   Цитата(zombi @ May 9 2012, 16:03) А я не ...   May 9 2012, 14:36
||- - zombi   Цитата(_Артём_ @ May 9 2012, 17:36) Разны...   May 9 2012, 15:47
|- - gerber   КодPORTD.0=bin_digits[dig] & 1<...   May 10 2012, 11:51
- - ILYAUL   Код{ PORTD.0=bin_digits[dig] & 1...   May 8 2012, 21:26
|- - lol483   Цитата(ILYAUL @ May 9 2012, 00:26) Код{ ...   May 8 2012, 21:29
|- - ILYAUL   Цитата(lol483 @ May 9 2012, 01:29) Это не...   May 8 2012, 22:01
- - lol483   Я думаю что по сути всё равно когда возникает импу...   May 9 2012, 06:46
- - lol483   Ну значит так: после добавления задержек в код на ...   May 9 2012, 08:49
- - Павлик   CODE// Internal SPI .equ spi_ddr = DDRB // ...   May 9 2012, 15:09
|- - lol483   Цитата(Павлик @ May 9 2012, 18:09) Это п...   May 9 2012, 19:57
|- - _Артём_   Цитата(lol483 @ May 9 2012, 22:57) Это в ...   May 9 2012, 20:23
- - lol483   Ребята, кажется я понял в чем дело. Оказывается ра...   May 9 2012, 21:28
|- - zombi   Цитата(lol483 @ May 10 2012, 00:28) Вот о...   May 10 2012, 05:17
|- - Genadi Zawidowski   Цитата(lol483 @ May 10 2012, 01:28) Ребят...   May 10 2012, 06:46
|- - lol483   Цитата(Genadi Zawidowski @ May 10 2012, 09...   May 10 2012, 07:16
- - hd44780   Вы смотрели, что появляется на ноге PD0? Конструк...   May 10 2012, 08:03
- - lol483   Вообщем попробовал так: подключил К155ИД1 (с газор...   May 10 2012, 09:03
- - hd44780   А 74HC595 вообще зачем? Ноги проца экономишь ? Р...   May 10 2012, 10:34
|- - lol483   Цитата(hd44780 @ May 10 2012, 13:34) А 74...   May 10 2012, 10:52
- - hd44780   Про 2 порта я не понял . 4 ноги - код цифры, а ос...   May 10 2012, 11:38
|- - lol483   Цитата(hd44780 @ May 10 2012, 14:38) Про ...   May 10 2012, 12:06
- - hd44780   Понятно. Фактически классическая статическая индик...   May 10 2012, 13:47
- - ILYAUL   Можно начать экономить отказавшись от секунд. Бало...   May 10 2012, 17:59
|- - lol483   Цитата(ILYAUL @ May 10 2012, 20:59) Можно...   May 11 2012, 07:12
- - hd44780   Не знаю. Когда-то давно, когда я ещё был маленьким...   May 11 2012, 08:41
|- - GDI   Цитата(hd44780 @ May 11 2012, 12:41) Вооб...   May 11 2012, 08:55
|- - sKWO   Цитата(hd44780 @ May 11 2012, 11:41) Вооб...   May 11 2012, 08:57
- - lol483   Всё, я разобрался! Оказалось что я не правильн...   May 12 2012, 12:01
- - GDI   Ничего себе заявочки! Цитатарегистр последоват...   May 12 2012, 12:49
- - lol483   Цитата(GDI @ May 12 2012, 15:49) Ничего с...   May 12 2012, 13:23
- - _Артём_   Цитата(lol483 @ May 12 2012, 16:23) По ид...   May 12 2012, 13:28
- - lol483   Цитата(_Артём_ @ May 12 2012, 16:28) Нет ...   May 12 2012, 15:18
- - _Артём_   Ещё сомнительная конструкция: Код PORTD.0=bin_digi...   May 12 2012, 15:28


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th June 2025 - 14:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.02298 секунд с 7
ELECTRONIX ©2004-2016