Устройство отображения информации на LCD-дисплее 16×2 с контролером HD44780

Устройство позволяет загрузить в него необходимый для отображения текст с помощью ПК, через COM порт, в энергонезависимую память (EEPROM) и отображать его в дальнейшем в виде “бегущей стройки” на стандартном 2-х строчном 16-и символьном дисплее на базе контроллера HD44780. Причем в верхней строке дисплея отображается статическая информация, а в нижней бегущая строка загружаемая пользователем.

Устройство может располагаться на витрине магазина радиодеталей и отображать различную рекламную информацию, а также использоваться для демонстрации работы дисплейных модулей, их проверки и т.п. В верхней строке может располагаться номер телефона, адрес WEB-сайта и т.п.   

Загрузка текста пользователем осуществляется с помощью стандартного ПО WINDOW, в частности программы “HyperTerminal”, никакого специального программного обеспечения устанавливать не придется.

Устройство выполнено на базе микроконтроллера ATmega8. Схема изображена на нижеследующем рисунке (кликните для увеличения).

Микроконтроллер работает от внутреннего RC-генератора, на частоте 8 МГц, кварцевый резонатор не требуется.

Для работы микроконтроллера в таком режиме, нужно запрограммировать необходимые Fuse-биты, в соответствии со следующим рисунком.

   

Для питания устройства используется малогабаритный импульсный, стабилизированный источник питания с напряжением 5В. Резистором R1 выставляется необходимая контрастность дисплея.

При первом включении устройства, (если текст пользователя в EEPROM ещё не загружен) в верхней строке отображается надпись «WINSTAR DISPLAYS», а в нижней циклическая бегущая строка «Устройство отображения рекламной информации”.

После загрузки текста пользователя в нижней строке тут же начнет отображаться загруженная информация, она же будет сохранена в EEPROM и при последующих включениях сначала однократно будет “пробегать” строчка  «Устройство отображения рекламной информации”, а далее циклически пользовательский текст. 

Специально печатная плата для устройства не разрабатывалась, оно было выполнено на отладочной плате, предназначавшейся для другого устройства, см. фото.

    

Теперь расскажу о загрузке текста в устройство:

— Открыть программу (Пуск->Программы->Стандартные->Связь).
— При первом запуске предложит использовать его по умолчанию, ставим галку “больше не задавать этот вопрос” и жмем нет.
— Далее будет предложение указать сведения о местоположении, в поле “код города” вводим любые цифры, в принципе нам это не важно, и жмем.
— В окне Описание подключений печатаем название (например LcdText)

Нажать ОК

Далее выбираем СОM порт к которому подключено устройство

 

В данном случае COM1 , нажимаем ОК

Попадаем в меню свойства

 

Выбираем скорость (бит/с) 9600

В опции управление потоком ставим НЕТ, остальные параметры согласно рисунку.

Нажимаем Применить и ОК

Порт сконфигурирован.

Также нужно установить передачу служебных символов, для этого выбираем Файл->Свойства

далее в появившемся окне вкладку Параметры

и далее Параметры ASCII , и установить недостающие галки как на рисунке выше.

Нажимаем ОК.

Для корректного отображения русскоязычного текста нам также необходимо поменять параметры шрифта.

Заходим в меню “Вид”, выбираем опцию “Шрифт”, далее меняем шрифт с “Terminal” на любой другой, где есть кириллица, например: “Lucida Console”.

В поле “Набор символов” выбираем Кириллический и жмем ОК.

Настройки программы HyperTerminal можно сохранить, чтобы в дальнейшем не вводить их заново.

Для этого выбираем “Файл” – “Сохранить как” и жмем сохранить.

В дальнейшем можно будет запускать сохраненный файл с настройками, а не непосредственно программу HyperTerminal.

Далее, для отправки текста устройству можно поступить двумя способами:
1   –  печатаем текст в окне терминала и жмем “Enter” на клавиатуре. При таком вводе текст нельзя редактировать.
2   –  открываем любой текстовый редактор, например “Блокнот”. Печатаем там текст, сохраняем файл.  

Далее, в программе HyperTerminal, выбираем Передача->Отправить текстовый файл.

Выбираем ранее сохраненный нами файл, нажимаем “открыть”, при этом текст отобразится в окне терминала,

и далее нажимаем клавишу “Enter” на клавиатуре.

После передачи текста сразу начнётся его отображение на дисплее устройства.

Хочу отметить, что для изменения статического текста в верхней строке дисплея необходимо будет подкорректировать исходник и заново скомпилировать проект, либо обратиться к автору.

Исходники проекта в среде CodeVisionAVR, прошивку, схему и проект в Proteus Вы можете скачать в прилагаемом архиве.

Файл проекта в “Proteus” находится в папке с исходниками. Для корректного отображения кириллицы на дисплее в “Proteus” его необходимо русифицировать.

Для этого необходимо заменить файл  “LCDALPHA.DLL”,  который находится в директории, где установлен “Proteus” в папке “MODELS”, файлом из прилагаемого архива.

Ввод текста при симуляции в программе “Proteus” производится в окне “Virtual Terminal” либо текст заранее набирается в любом текстовом редакторе, копируется и далее вставляется (кликнуть правой кнопкой мыши на окне “Virtual Terminal” и нажать Paste) в окно “Virtual Terminal”. После ввода либо вставки текста необходимо нажать комбинацию клавиш [Shift + Enter] – что соответствует коду 0x0D и далее [Ctrl + Enter] – что соответствует коду 0x0A. После этого введенный текст сразу будет отображаться на экране дисплея.


Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот

DD1
МК AVR 8-битATmega8-16PU1
VT4
Биполярный транзисторКТ31021
С1, С3
Конденсатор0.1 мкФ2
С2
Электролитический конденсатор47 мкФ 10В1
R1
Подстроечный резистор10 кОм1
R2, R3
Резистор10 кОм2
R4
Резистор1 кОм1
H1
LCD-дисплейMT-16S2D-1YLG1
Х1
РазъемDB91
FemalePRG
Разъем1
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Добавить комментарий

Ваш адрес email не будет опубликован.