液晶显示与单片机的接口与编程方法
以上所有的字模数据都存放在单片机W78E58 的程序存储器中,如用到的汉字、图形较多,可选用较大容量的程序存储器。
通用子程序:通用子程序分左半屏、右半屏写指令代码子程序和写显示数据子程序。液晶显示驱动器HD16202 内部有个忙标志寄存器,当BF=1 时,表示内部操作正在运行,不能接受外部数据或指令。下面子程序中设指令代码寄存器为COMM,数据寄存器为DATA。
(COMM EQU 20H /*指令寄存器*/ DATA EQU 21H /*数据寄存器*/)
(1) 左半屏写指令子程序
WR_CMD1: MOV DPTR,#CRADR1 ;/*读状态字口地址*/ WAIT1: MOVX A,@DPTR ;/* 读状态字 */
JB ACC.7,WAIT1 ;/*判忙标志BF,如BF=1 忙,等待*/
MOV DPTR,#CWADR1 ;/*写指令字口地址*/
MOV A,COMM ;/*取指令代码*/
MOVX @DPTR,A ;/*写指令代码*/
RET
(2)左半屏写数据子程序
WR_DATA1:MOV DPTR,#CRADR1 ;/*读状态字口地址*/
WAIT11: MOVX A,@DPTR ;/* 读状态字 */
JB ACC.7,WAIT11 ;/*判忙标志BF,如BF=1 忙,等待*/
MOV DPTR,#DWADR1 ;/*写数据字口地址*/
MOV A,DATA ;/*取数据/
MOVX @DPTR,A ;/*写数据*/
RET
(3)右半屏写指令子程序WR_CMD2 和右半屏写数据子程序WR_DATA2 的编制同左半屏子程序相同,只是对应口地址不同。
8X16 字符显示子程序:MGLS12864 液晶显示屏由二片HD61202 控制,LCD 显示中应尽量避免一个字符一半在左半屏显示,另一半在右半屏显示的情况。设列地址寄存器为COLUMN,页地址寄存器为PAGE,要显示的字符代码寄存器为ASCIICODE,W78E58 内R
评论