Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: HD44780 + сдвиговый регистр + AVR
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
semenov
Господа программисты, такая ситуация:

Занчит связка 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). При этом без ЖКИ вся логика верная и

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

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

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

Сдвиговые регистры, связка счётчик-дешифратор и т.д. --- это как раз то, от чего ушли благодаря появлению МК. Это замечательно. Применение сдвигового регистра вполне оправдано если надо светодиоды зажечь, или для опроса клавиатуры. Для применения в ответственном месте, где нельзя допустить ни одной ошибки, на мой взгляд неприемлемо. Недавно мне предложили таким образом подключить шаговые двигатели, - отказался на отрез! Пропуск одного шага может привести к изменению направления движения!
В одной схеме у меня помню стояла статическая озу, счётчик и дешифратор. Т.о. подавая сброс счётчика и N импульсов можно прочитать произвольные данные. Что я только не делал. Но периодически возникали ошибки. Их немного было, но это фатально и от такой схемы пришлось отказаться. Даже если здесь уберёшь, а если серия?
Зато можно использовать регистры по принципу шины данных. Посмотри выше про пульт. Там схема. На 2313 подключ клава, LCD, зумер, и 3 выходных ноги. Всё работало.
proba
что-то я не понимаю, только 595 требует 3 вывода, сер. clk, data и паралл clk.где там еще вывод для E останется .я исползовал вариант где 4 вывода 595 на дата LCD, 1- E, 1- RS, 2 - под LED .
паралелныи clk можно соединит через RC филтр с сериал clk, так экономищ еще 1 вывод.
тогда короткии импулс записывает сериал дата, а длинныи и сериал и паралел. чтоб вывести 8 бит, надо 7 коротких и 1 длинныи импулс, не забудть запретить прерывание во время коротких импулсов.
rezident
Советую использовать LCD в 4-битном режиме шины данных. Тогда все сигналы HD44780 укладываются в разрядность 74HC595. Цепляете к аппартному SPI и вперед! MOSI->SER, SCK->SRCLK, SS->RCLK. Последовательность данных для формирования временных диаграмм HD44780 можно оформить таблицей. ИМХО это проще в алгоритм управления уложить. Вот только BUSY при таком включении анализировать не получится.
GeorgyBey
Цитата(semenov @ Apr 7 2006, 14:41) *
А когда подключен ЖКИ при той же операции получаю D0-D7:00011111 или D0-D7:00011110
Откуда берутся 1-цы??, контроллер ЖКИ их устанавливает?


44780, если не ошибаюсь, работает в полубайтном режиме laugh.gif .
Тогда 5я единичка должна "сдвинуть" полубайт а остальными напихивается следующий полубайт smile.gif
cheers.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.