Типовая схема подключения LCD-модуля по 4-х проводному интерфейсу к микроконтрол

Ниже приведены исходные тексты подпрограммы на языке ассемблера ASM51, позволяющие записывать данные, инструкции в контроллер, считывать данные. Приведен так же примерный текст подпрограммы инициализации контроллера в режим восьми битного интерфейса, при работе с двумя строками. Отображение курсора и мигание отключено. Курсор установлен в начало первой (верхней) строки.

Использовать минимальное количество линий подключения контроллера ЖКИ к микро-ЭВМ позволяет соединение по схеме приведенной на рисунке


Далее приведены исходные тексты подпрограмм, позволяющие записывать инструкции и данные в контроллер при реализации четырёх битного интерфейса подключения.


B_RS BIT P1.2
B_WR BIT P1.3
B_E BIT P3.4
LCD_PORT EQU P1
;————————————-
;ИНИЦИАЛИЗАЦИЯ HD44780
;————————————-
LCDINIT: CLR B_E
MOV A,#28H ; 8-BIT 2-LINES
CALL WRC
MOV A,#0CH ; DISP-ON, CUR-OFF, FLASH-OFF
CALL WRC
MOV A,#06H ; MOVE CURSOR RIGHT
CALL WRC
CLS: MOV A,#01H ; CLEAR SCREEN
CALL WRC
RET
;————————————-
;ЗАПИСЬ ДАННЫХ В HD44780 ИЗ АСС
;————————————-
WRD: CALL WAIT_HD
MOV LCD_PORT,A
SETB B_RS
CLR B_WR
SETB B_E
CLR B_E
SWAP A
MOV LCD_PORT,A
SETB B_RS
CLR B_WR
SETB B_E
CLR B_E
RET
;————————————-
;ЗАПИСЬ КОМАНДЫ В HD44780 ИЗ АСС
;————————————-
WRC: CALL WAIT_HD
MOV LCD_PORT,A
CLR B_RS
CLR B_WR
SETB B_E
CLR B_E
SWAP A
MOV LCD_PORT,A
CLR B_RS
CLR B_WR
SETB B_E
CLR B_E
RET
;————————————-
;ожидание ГОТОВНОСТИ HD44780
;————————————-
WAIT_HD: PUSH ACC
MOV LCD_PORT,#0FFH
CLR B_RS
SETB B_WR
WAIT_LL: SETB B_E
MOV A,LCD_PORT
CLR B_E
MOV B,A
SETB B_E
MOV A,LCD_PORT
CLR B_E
MOV A,B
JB ACC.7,WAIT_LL
POP ACC
RET
;————————————-

Надеемся, что приведённая примеры позволят Вам сэкономить время на освоении ЖКИ-модулeй с контроллерами, совместимыми с HD44780.


Источник: gaw.ru


Источник

Оставить комментарий

Вы можете использовать следующие теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>