单片机和图形液晶显示器接口应用技术
时间:08-30
来源:互联网
点击:
[/table] 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 内RAM28H-RAM37H 共16 个字节存放8×16 的点阵数据,生成的8×16 点阵库文件存放在单片机W78E58 存储器中的首地址定义为ASCII_DOT816。 |
DISP_ASCII816: MOV DPTR,#ASCII_DOT816 ;8×16 点阵库首地址 |
MOV A,ASCIICODE ;显示字符代码ASCIICODE |
MOV B,#16 ;每个字符点阵占16 个字节 |
MUL AB ;计算显示字符在字库的首地址 |
ADD A,DPL |
MOV DPL,A |
MOV A,DPH |
ADDC A,B |
MOV DPH,A |
;MOV R0,#28H ;将点阵数据放到RAM28H-RAM37H |
MOV R2,#00H |
LP_MOVDOT16: MOV A,R2 |
MOVC A,@A+DPTR |
MOV @R0,A ;如要将字符反显(黑底白字),则读出点 |
INC R0 ;阵数据后求反放入单片机的RAM 中 |
INC R2 |
CJNE R2,#16,LP_MOVDOT16 |
; |
PUSH COLUMN |
MOV A,COLUMN ;显示列数COLUMN 是否在右半屏 |
CJNE A,#64,ASCII_IF64 |
[table] |
MOV DPTR,#CWADR1 ;在左半屏时,选择左半屏写指令代码地址
CLR FIRST0_SECOND1_BIT ;左半屏列数标志BIT=0
SJMP ALL_COLUMN
ASCII_YGE64: CLR C
SUBB A,#64
MOV COLUMN,A
MOV DPTR,#CWADR2 ;在右半屏时,选择右半屏写指令代码地址
SETB FIRST0_SECOND1_BIT ;右半屏列数标志BIT=1
ALL_COLUMN: MOV A,PAGE
ADD A,#10111000B ;设置页地址命令
MOVX @DPTR,A
MOV A,COLUMN ;设置列地址命令
ADD A,#01000000B
MOVX @DPTR,A
MOV DPTR,DWADR1 ;根据左右半屏列数标志,选择写显示数据地址
JNB FIRST0_SECOND1_BIT,ALLMOV1
MOV DPTR,DWADR2
ALLMOV1: MOV R0,#28H
MOV_8BYTE1: MOV A,@R0
MOVX @DPTR,A ;写显示数据
NOP
INC R0
CJNE R0,#30H,MOV_8BYTE1
MOV DPTR,#CWADR1
JNB FIRST0_SECOND_BIT,ALLMOV2
MOV DPTR,#CWADR2
ALLMOV2: MOV A,PAGE
INC A ;页地址加1
ADD A,#10111000B
MOVX @DPTR,A ;设置页地址命令
MOV A,COLUMN ;设置列地址命令
ADD A,#01000000B
MOVX @DPTR,A
MOV DPTR,DWADR1;根据左右半屏列数标志,选择写显示数据地址
JNB FIRST0_SECOND1_BIT,ALLMOV3
MOV DPTR,DWADR2
ALLMOV3: MOV R0,#30H
MOV_8BYTE2: MOV A,@R0
MOVX @DPTR,A ;写显示数据
INC R0
CJNE R0,#38H,MOV_8BYTE2
;
POP COLUMN
RET
16×16 汉字显示子程序:16×16 汉字显示子程序与8X16 字符显示子程序基本相同。不同在于每次写32 字
节显示数据,可定义W78E58 内RAM28H-RAM47H 共32 个字节存放16×16 的点阵数据,生成的16×16 点阵库文件存放在单片机W78E58 存储器中的首地址定义为HZK_DOT16X16。具体程序略,读者如需要可来函索取。
结语
本文在介绍液晶显示模块与单片机接口的同时,采用了新颖的改造方案以解决应用中的问题。由于节省了单片机口线,使系统资源得到了充分利用。可显示汉字、字符和图形,使人机界面更为美观、易读。其它如8×8 西文点阵字库及图形的建立和显示可参照上面介绍的方法来编写程序。由于各种液晶显示模块的接口基本相同,因此本文所讨论的内容也适用于其它型号的液晶显示模块。液晶显示较其它显示终端有许多优点:功耗低且字型美观、可用集成电池供电,便于携带等。相信它将得到越来越广泛的使用。
- LG选用赛普拉斯CapSense 触摸感应解决方案(05-03)
- 基于单片机的频率特性测试仪设计(03-07)
- 基于ARM的校园LED公告板系统设计(02-26)
- 基于MSP430单片机的数据采集系统(04-15)
- 基于单片机的瓦斯报警器设计(05-12)
- 如何将一个开源游戏移植给一款32位微控制器(05-26)