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

 
 
 
Reply to this topicStart new topic
> HD44780 + сдвиговый регистр + AVR, ЖКИ влияет на работу логики
semenov
сообщение Apr 7 2006, 11:41
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 6-04-06
Пользователь №: 15 875



Господа программисты, такая ситуация:

Занчит связка AVR через сдвиговый регистр 74HC595 подключен на ЖКИ (HD44780).
Для снижения расходов ножек микроконтроллера.
Получается 3-х проводный интерфейс ЖКИ (плата со сдвиговым регистром находится на ЖКИ)
У микроконтроллера используются 3 ноги (Для: Е-строб для ЖКИ, С-строб для регистра и DI-данные для

регисрта).

Алгоритм приблизительно сл:
устанавливаю Е в 0
Далее в цикле перебираю биты чила, в зависимости от этого устанавливаю или сбрасываю DI и передергиваю С
После 8 раз на выходе регистра получаю D0-D7 для ЖКИ
Далее, если команда, сбрасываю С (он у меня подключен и к RS ЖКИ), если данные, то оставляю 1
Устанавливаю Е в 1
Жду
Устанавливаю Е в 0

А загвоздка вот в чем:
Когда ЖКИ не подключен (к сдвиговому регистру) то на выходах регистре число получается верное(например

вдвигаю в регистр 56-> и получаю на выходах D0-D7:00011100), в общем работа с регистром организована

правильно.
А когда подключен ЖКИ при той же операции получаю D0-D7:00011111 или D0-D7:00011110
Откуда берутся 1-цы??, контроллер ЖКИ их устанавливает?

Пробовал медленно вдвигать число в регистр, чтобы успевать мерять напряжения на выходах, так вот, когда

вдвигаю 6 например, сначала появляется первая 1ца, затем вторая 1ца, затем, при появлении 0ля, одна

единица исчезает и получается 4(00100000) вместо 6(01100000). При этом без ЖКИ вся логика верная и

работает, может как-то развязать выходы микросхемы и ЖКИ? хотя бред, уровни логики одинаковые. А может

диоды поставить?

Буду признателен за любую информацию.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Apr 7 2006, 12:08
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Работал с логикой тогда, когда был один МП и 150 корпусов логики. smile.gif В одном изделии было 13 плат. smile.gif

Сдвиговые регистры, связка счётчик-дешифратор и т.д. --- это как раз то, от чего ушли благодаря появлению МК. Это замечательно. Применение сдвигового регистра вполне оправдано если надо светодиоды зажечь, или для опроса клавиатуры. Для применения в ответственном месте, где нельзя допустить ни одной ошибки, на мой взгляд неприемлемо. Недавно мне предложили таким образом подключить шаговые двигатели, - отказался на отрез! Пропуск одного шага может привести к изменению направления движения!
В одной схеме у меня помню стояла статическая озу, счётчик и дешифратор. Т.о. подавая сброс счётчика и N импульсов можно прочитать произвольные данные. Что я только не делал. Но периодически возникали ошибки. Их немного было, но это фатально и от такой схемы пришлось отказаться. Даже если здесь уберёшь, а если серия?
Зато можно использовать регистры по принципу шины данных. Посмотри выше про пульт. Там схема. На 2313 подключ клава, LCD, зумер, и 3 выходных ноги. Всё работало.
Go to the top of the page
 
+Quote Post
proba
сообщение Apr 7 2006, 14:34
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 358
Регистрация: 29-05-05
Пользователь №: 5 526



что-то я не понимаю, только 595 требует 3 вывода, сер. clk, data и паралл clk.где там еще вывод для E останется .я исползовал вариант где 4 вывода 595 на дата LCD, 1- E, 1- RS, 2 - под LED .
паралелныи clk можно соединит через RC филтр с сериал clk, так экономищ еще 1 вывод.
тогда короткии импулс записывает сериал дата, а длинныи и сериал и паралел. чтоб вывести 8 бит, надо 7 коротких и 1 длинныи импулс, не забудть запретить прерывание во время коротких импулсов.
Go to the top of the page
 
+Quote Post
rezident
сообщение Apr 7 2006, 14:56
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Советую использовать LCD в 4-битном режиме шины данных. Тогда все сигналы HD44780 укладываются в разрядность 74HC595. Цепляете к аппартному SPI и вперед! MOSI->SER, SCK->SRCLK, SS->RCLK. Последовательность данных для формирования временных диаграмм HD44780 можно оформить таблицей. ИМХО это проще в алгоритм управления уложить. Вот только BUSY при таком включении анализировать не получится.
Go to the top of the page
 
+Quote Post
GeorgyBey
сообщение Apr 7 2006, 15:05
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 205
Регистрация: 21-12-04
Из: Киев
Пользователь №: 1 593



Цитата(semenov @ Apr 7 2006, 14:41) *
А когда подключен ЖКИ при той же операции получаю D0-D7:00011111 или D0-D7:00011110
Откуда берутся 1-цы??, контроллер ЖКИ их устанавливает?


44780, если не ошибаюсь, работает в полубайтном режиме laugh.gif .
Тогда 5я единичка должна "сдвинуть" полубайт а остальными напихивается следующий полубайт smile.gif
cheers.gif


--------------------
На "нет" и "нах" :)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 21:49
Рейтинг@Mail.ru


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