Работа с ЖКИ на контроллере HD44780 и его аналогах
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
у дисплея не должна гореть верхняя строка после инициализации. только как произвести инициализацию "без подключенных линий управления\данных" я не знаю.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Имел в виду внутреннюю инициализацию \ самотестирование (как еще назвать:) ) самого дисплея =)
В общем, выходит, высокий уровень на D0-D7 по-умолчанию - нормально. Все работает.
В общем, выходит, высокий уровень на D0-D7 по-умолчанию - нормально. Все работает.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
использую 4х проводное подключение данного дисплея.
дисплей если вдруг важно 16х2
в драйвере дисплея заметил запрет прерываний при выполнении действий записи\чтения - меня это не устраивает (У меня в прерывании приоритетный процесс висит) соответственно "лишние" на мой взгляд команды я повыкидывал "наФиг"...
так же мне не нужны подпрограммы чтения данных\команд с дисплея (ну это особо не опасаясь выкинул)
в чем могу поймать грабли ?
Файлы прилагаю..
p.s. базовые файлы получил вместе с PinBoard (это типа как указание на первоначальное авторство)
дисплей если вдруг важно 16х2
в драйвере дисплея заметил запрет прерываний при выполнении действий записи\чтения - меня это не устраивает (У меня в прерывании приоритетный процесс висит) соответственно "лишние" на мой взгляд команды я повыкидывал "наФиг"...
так же мне не нужны подпрограммы чтения данных\команд с дисплея (ну это особо не опасаясь выкинул)
в чем могу поймать грабли ?
Файлы прилагаю..
p.s. базовые файлы получил вместе с PinBoard (это типа как указание на первоначальное авторство)
- Вложения
-
- lcd.rar
- Драйвер экрана (ассемблер) + макросы
- (2.37 КБ) 246 скачиваний
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
ВитГо писал(а):использую 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 раза или запрещать на время процедуры
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Учусь работать с HD44780, купил на ebay у китайцев один на пробу, нонэйм. Собрал на макетке, вывожу слово – он вставляет по пробелу между каждым символом (в протеусе работает нормально). Подключил канал строба (E) через резистор 1,2к, и добавил со стороны дисплея шунтирующий на землю конденсатор, пробелы пропали. Это глюк конкретного дисплея, или мне очень не повезло с наводками (макетки без пайки вроде как к ним сильно подверженны)?
И ещё вопрос.
В прайсе интернет магазина для всех HD44780 дисплеев написано в описании либо «12:00» либо «6:00», что это значит?
И ещё вопрос.
В прайсе интернет магазина для всех 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
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Сразу к проблеме:
Дисплей работает правильно в 50 % случаев. В остальных случаях показывает какую-то символьную кашу. Вылоды Е и RS подмаял на землю через резистор 5К1.
К сообщению прикрепил файл исходника на MPASM для контроллера PIC16F877.
Тут можно посмотреть видео работы прибора: http://www.youtube.com/watch?v=x0g-v2ff ... e=youtu.be
Дисплей работает правильно в 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 и его аналогах
acvarium писал(а):Вылоды Е и RS подмаял на землю через резистор 5К1.
WTF?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Это, чтоб в отсутствии сигнала от микроконтроллера на этих выводах было определено значение 0. Я подозревал, что ЖКИ ведет себя подобным образом потому, что в момент включения на выводе Е значение не определено и в 50 % случаев определяется как 1. Возможно я не прав.
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
acvarium писал(а):Это, чтоб в отсутствии сигнала от микроконтроллера на этих выводах было определено значение 0.
Хитро... интересно, так делает ещё кто-нибудь?
Последний раз редактировалось Gudd-Head Чт дек 08, 2011 10:36:49, всего редактировалось 2 раза.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Если на вход необходимо подать ноль, то его просто сажают на GND..
Единственное исключение - сканирование внешней клавиатуры..
Единственное исключение - сканирование внешней клавиатуры..

[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 и его аналогах
acvarium писал(а):Тут можно посмотреть видео работы прибора: http://www.youtube.com/watch?v=x0g-v2ff ... e=youtu.be
А что делает кнопка и что должно происходить при нажатии?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Кнопка RESET, она соединяет + на землю.
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
acvarium писал(а):соединяет + на землю.
"+" на землю будет КЗ. Схему в студию.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
http://www.kosmodrom.com.ua/razrabotka/ ... _schem.pdf
Кнопка RESET на схеме называется S1.
Кнопка RESET на схеме называется S1.
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
acvarium писал(а):Кнопка RESET на схеме называется S1.
У вас в программе (не смотрел) инициализация дисплея идёт сразу после ресета?
Если так, то про дребезг слышали? Тогда перед инициализацией вставьте задержку 50...100 мс и/или кондёр параллельно S1.
И ещё: если включать-выключать питание (а не ресетом) дисплей нормально инициализируется?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Ой, не, вру. Кнопка SW1
При включении-выключении питания дисплей работает как-же.
При включении-выключении питания дисплей работает как-же.
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
acvarium писал(а):При включении-выключении питания дисплей работает как-же.
Как у вас организована задержка между командами (инициализации) — по таймеру или опросом бита готовности?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Можно сказать по таймеру. В программе есть несколько процедур задержки, которые вызываются в нужное время.
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
acvarium писал(а):Можно сказать по таймеру. В программе есть несколько процедур задержки, которые вызываются в нужное время.
Всё естессно по даташиту?
На схеме не видно подключение дисплея.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]