Главная » 2013 » Ноябрь » 12 » Устройство отображения информации на LCD-дисплее 16x2 с контролером HD44780
01:58
Устройство отображения информации на LCD-дисплее 16x2 с контролером HD44780

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

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

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

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

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

Схема устройства отображения информации на LCD-дисплее 16x2 с контролером HD44780

Микроконтроллер работает от внутреннего 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. После этого введенный текст сразу будет отображаться на экране дисплея.

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

Просмотров: 3582 | Добавил: Дмытрохан | Теги: HD44780, Proteus, CodeVisionAVR, атмега, ATmega8 | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Яндекс.Метрика
24 log 24 LOG statistick
счетчик посещений
Если вы видите это,
то ваш браузер устарел
и не поддерживает технологий
CSS 3.0