Работа с ЖКИ на контроллере HD44780 и его аналогах

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Vlad0o
Открыл глаза
Сообщения: 67
Зарегистрирован: Вт июл 19, 2011 19:09:46

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Vlad0o »

у дисплея не должна гореть верхняя строка после инициализации. только как произвести инициализацию "без подключенных линий управления\данных" я не знаю.
vladsol
Родился
Сообщения: 8
Зарегистрирован: Пт ноя 11, 2011 23:08:44

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение vladsol »

Имел в виду внутреннюю инициализацию \ самотестирование (как еще назвать:) ) самого дисплея =)
В общем, выходит, высокий уровень на D0-D7 по-умолчанию - нормально. Все работает.
ВитГо
Вымогатель припоя
Сообщения: 680
Зарегистрирован: Ср фев 24, 2010 19:16:07

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение ВитГо »

использую 4х проводное подключение данного дисплея.
дисплей если вдруг важно 16х2

в драйвере дисплея заметил запрет прерываний при выполнении действий записи\чтения - меня это не устраивает (У меня в прерывании приоритетный процесс висит) соответственно "лишние" на мой взгляд команды я повыкидывал "наФиг"...
так же мне не нужны подпрограммы чтения данных\команд с дисплея (ну это особо не опасаясь выкинул)

в чем могу поймать грабли ?

Файлы прилагаю..

p.s. базовые файлы получил вместе с PinBoard (это типа как указание на первоначальное авторство)
Вложения
lcd.rar
Драйвер экрана (ассемблер) + макросы
(2.37 КБ) 246 скачиваний
BVS
Потрогал лапой паяльник
Сообщения: 336
Зарегистрирован: Пн май 23, 2011 18:27:41

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение BVS »

ВитГо писал(а):использую 4х проводное подключение данного дисплея.
дисплей если вдруг важно 16х2

в драйвере дисплея заметил запрет прерываний при выполнении действий записи\чтения - меня это не устраивает (У меня в прерывании приоритетный процесс висит) соответственно "лишние" на мой взгляд команды я повыкидывал "наФиг"...
так же мне не нужны подпрограммы чтения данных\команд с дисплея (ну это особо не опасаясь выкинул)

в чем могу поймать грабли ?

Файлы прилагаю..

p.s. базовые файлы получил вместе с PinBoard (это типа как указание на первоначальное авторство)


Да если портом не пользуется больше ни кто то пролезит

в BusyWait запрещать нет смысла так как она только читает
но лучьше сделать вот так:

Код: Выделить всё

PortIn:   CLI
         IN      R16,DATA_DDR   ; Данные из DDR в регистр
         ANDI   R16,0x0F      ; Отдавливаем старшую тетраду - нам нужно сохранить младшую и обнулить старшую
         OUT      DATA_DDR,R16   ; Выдаем результат в порт.

         IN      R16,DATA_PORT   ; Берем данные из порта
         ORI      R16,0xF0      ; Выставляем все биты старшей тетрады, не трогая младшую
         OUT      DATA_PORT,R16   ; Выдаем в порт
      SEI
         RET      
;=================   
PortOut:CLI
         IN      R16,DATA_DDR   ; Данные из ДДР в регистр
         ORI      R16,0xF0      ; Выставляем все биты старшей тетрады, не трогая младшую
         OUT      DATA_DDR,R16   ; Выдаем данные в порт
      SEI
         RET      


тоже и в "DATA_WR" запретил, изменил порт, разрешил сразу перед "LCD_Delay"

P.S. только не делайте длинные прерывания
а запрет в BusyWait у меня мешал динамической индикации на параллельном светодиодном дисплее

P.S.2 забыл, он же там в стеке тарит тетраду, поэтому или брать 2 раза или запрещать на время процедуры
Аватара пользователя
FeCat
Прорезались зубы
Сообщения: 211
Зарегистрирован: Пт окт 21, 2011 14:39:31

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение FeCat »

Учусь работать с HD44780, купил на ebay у китайцев один на пробу, нонэйм. Собрал на макетке, вывожу слово – он вставляет по пробелу между каждым символом (в протеусе работает нормально). Подключил канал строба (E) через резистор 1,2к, и добавил со стороны дисплея шунтирующий на землю конденсатор, пробелы пропали. Это глюк конкретного дисплея, или мне очень не повезло с наводками (макетки без пайки вроде как к ним сильно подверженны)?

И ещё вопрос.
В прайсе интернет магазина для всех HD44780 дисплеев написано в описании либо «12:00» либо «6:00», что это значит?
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Леонид Иванович »

FeCat писал(а):написано в описании либо «12:00» либо «6:00», что это значит?


http://www.gaw.ru/html.cgi/txt/app/lcd/viev.htm
acvarium
Родился
Сообщения: 8
Зарегистрирован: Вс мар 20, 2011 00:53:11

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение acvarium »

Сразу к проблеме:
Дисплей работает правильно в 50 % случаев. В остальных случаях показывает какую-то символьную кашу. Вылоды Е и RS подмаял на землю через резистор 5К1.
К сообщению прикрепил файл исходника на MPASM для контроллера PIC16F877.
Тут можно посмотреть видео работы прибора: http://www.youtube.com/watch?v=x0g-v2ff ... e=youtu.be
Вложения
LCD.asm
(5.01 КБ) 230 скачиваний
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Gudd-Head »

acvarium писал(а):Вылоды Е и RS подмаял на землю через резистор 5К1.

WTF?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
acvarium
Родился
Сообщения: 8
Зарегистрирован: Вс мар 20, 2011 00:53:11

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение acvarium »

Это, чтоб в отсутствии сигнала от микроконтроллера на этих выводах было определено значение 0. Я подозревал, что ЖКИ ведет себя подобным образом потому, что в момент включения на выводе Е значение не определено и в 50 % случаев определяется как 1. Возможно я не прав.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Gudd-Head »

acvarium писал(а):Это, чтоб в отсутствии сигнала от микроконтроллера на этих выводах было определено значение 0.

Хитро... интересно, так делает ещё кто-нибудь? :)
Последний раз редактировалось Gudd-Head Чт дек 08, 2011 10:36:49, всего редактировалось 2 раза.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение МитяРа »

Если на вход необходимо подать ноль, то его просто сажают на GND..
Единственное исключение - сканирование внешней клавиатуры.. :tea:
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Gudd-Head »

acvarium писал(а):Тут можно посмотреть видео работы прибора: http://www.youtube.com/watch?v=x0g-v2ff ... e=youtu.be

А что делает кнопка и что должно происходить при нажатии?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
acvarium
Родился
Сообщения: 8
Зарегистрирован: Вс мар 20, 2011 00:53:11

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение acvarium »

Кнопка RESET, она соединяет + на землю.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Gudd-Head »

acvarium писал(а):соединяет + на землю.

"+" на землю будет КЗ. Схему в студию.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
acvarium
Родился
Сообщения: 8
Зарегистрирован: Вс мар 20, 2011 00:53:11

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение acvarium »

http://www.kosmodrom.com.ua/razrabotka/ ... _schem.pdf
Кнопка RESET на схеме называется S1.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Gudd-Head »

acvarium писал(а):Кнопка RESET на схеме называется S1.

У вас в программе (не смотрел) инициализация дисплея идёт сразу после ресета?
Если так, то про дребезг слышали? Тогда перед инициализацией вставьте задержку 50...100 мс и/или кондёр параллельно S1.
И ещё: если включать-выключать питание (а не ресетом) дисплей нормально инициализируется?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
acvarium
Родился
Сообщения: 8
Зарегистрирован: Вс мар 20, 2011 00:53:11

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение acvarium »

Ой, не, вру. Кнопка SW1
При включении-выключении питания дисплей работает как-же.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Gudd-Head »

acvarium писал(а):При включении-выключении питания дисплей работает как-же.

Как у вас организована задержка между командами (инициализации) — по таймеру или опросом бита готовности?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
acvarium
Родился
Сообщения: 8
Зарегистрирован: Вс мар 20, 2011 00:53:11

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение acvarium »

Можно сказать по таймеру. В программе есть несколько процедур задержки, которые вызываются в нужное время.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Gudd-Head »

acvarium писал(а):Можно сказать по таймеру. В программе есть несколько процедур задержки, которые вызываются в нужное время.

Всё естессно по даташиту?
На схеме не видно подключение дисплея.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Ответить

Вернуться в «Периферия»