Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру

Глава 1 б. Некоторые Агdиiпо-зада чи на ассемблере 4 15 Таблица 1 6. 1 . Разводка выводов некоторых типов дисплеев на основе HD44780 ЖК-дисплеи Winstar, Winstar Вывод Назначение DataVision, МТ-1 051 ВСВ1 602-05 OLED МТ-1 651 и т. д. GND (Vss) GND 1 1 2 1 4 1 Vcc (Vdd) +5 в 2 1 4 1 3 2 Vo (Vee) Контраст 3 NC ( 1 3) 1 2 NC RS (АО) Data/Cmd 4 5 1 1 4 RW Read/Write 5 6 1 0 5 Е ЕnаЫе 6 7 9 6 DBO-DB3 Data 0. . 3 7-1 0 1 -4 1-4 7-0 DB4 Data 4 1 1 1 1 5 1 1 DB5 Data 5 1 2 1 0 6 1 2 DB6 Data 6 1 3 9 7 1 3 DB7 Data 7 1 4 8 8 1 4 Led+ Подсветка+ 1 5 1 5 1 5 NC Led- Подсветка- 1 6 1 6 1 6 NC Отметим, что вывод чтения/записи RW у дисплея можно подключать к нулю, т. к. в наших операциях он не задействован. Вывод разрешения Е, кроме всего прочего, может служить .для параллельного управления несколькими дисплеями по тем же остальным линиям, если подключить вывод Е каждого дисплея к отдельному выво­ ду внешнего контроллера. Инициализация и вывод символов По образцу подключаемого файла для интерфейса 1 2 С (см. разд. «Программ ная эмуляция протокола I2C» главы 13) создадим «библиотеку», в которой распишем универсальные базовые процедуры доступа к строчным дисплеям. Чтобы не загро­ мождать программу лишней условной компиляцией, как и в том случае, примем конкретную схему подключения согласно рис. 1 6 . 8 и тактовую частоту 4 МГц. Контроллер при этом необязательно должен быть именно АTmega8, можно взять любой другой с такими же портами, просто для контроллеров с большим числом выводов целесообразно программу упростить, подключив все управляющие входы к одному порту и устанавливая нужные биты в один прием. Полностью файл такой «библиотеки» (LCD1 602 . prg) вы найдете в архиве по адресу, указанному во введении. Отметим, что цифры 1 602 в имени файла лишь отражают его применение для наиболее популярной конфигурации дисплеев: 1 6 позиций в 2 строки, но на самом деле он годится для любых дисплеев (именно строчных, а не графических) с числом знакомест до 20, - дисплеев с их большим количеством просто в продаже не встречается . При этом для однострочных дисплеев процедуры

RkJQdWJsaXNoZXIy MTExODQxMg==