完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>
一、液晶显示模块概述
1. 液晶显示模块是128×64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。可与CPU直接接口,提供两种界面来连接微处理机:8-位并行及串行两种连接方式。具有多种功能:光标显示、画面移位、睡眠模式等。
2. 外观尺寸:93×70×12.5mm
3. 视域尺寸:73×39mm
外形尺寸图
二、模块引脚说明
128X64 引脚说明
*注释1:如在实际应用中仅使用串口通讯模式,可将PSB接固定低电平,也可以将模块上的J8和“GND”用焊锡短接。
*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。
*注释3:如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。
2.2并行接口
管脚号管脚名称电平管脚功能描述
1VSS0V电源地
2VCC3.0+5V电源正
3V0-对比度(亮度)调整
4RS(CS)H/LRS=“H”,表示DB7——DB0为显示数据
RS=“L”,表示DB7——DB0为显示指令数据
5R/W(SID)H/LR/W=“H”,E=“H”,数据被读到DB7——DB0
R/W=“L”,E=“H→L”, DB7——DB0的数据被写到IR或DR
6E(SCLK)H/L使能信号
7DB0H/L三态数据线
8DB1H/L三态数据线
9DB2H/L三态数据线
10DB3H/L三态数据线
11DB4H/L三态数据线
12DB5H/L三态数据线
13DB6H/L三态数据线
14DB7H/L三态数据线
15PSBH/LH:8位或4位并口方式,L:串口方式(见注释1)
16NC-空脚
17/RESETH/L复位端,低电平有效(见注释2)
18VOUT-LCD驱动电压输出端
19AVDD背光源正端(+5V)(见注释3)
20KVSS背光源负端(见注释3)
*注释1:如在实际应用中仅使用并口通讯模式,可将PSB接固定高电平,也可以将模块上的J8和“VCC”用焊锡短接。
*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。
*注释3:如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。
二、控制器接口信号说明:
1、RS,R/W的配合选择决定控制界面的4种模式:
RSR/W功能说明
LLMPU写指令到指令暂存器(IR)
LH读出忙标志(BF)及地址记数器(AC)的状态
HLMPU写入数据到数据暂存器(DR)
HHMPU从数据暂存器(DR)中读出数据
2、E信号
E状态执行动作结果
高——》低I/O缓冲——》DR配合/W进行写数据或指令
高DR——》I/O缓冲配合R进行读数据或指令
低/低——》高无动作
● 忙标志:BF BF标志提供内部工作情况.BF=1表示模块在进行内部操作,此时模块不接受外部指令和数据.BF=0时,模块为准备状态,随时可接受外部指令和数据。 利用STATUS RD 指令,可以将BF读到DB7总线,从而检验模块之工作状态。● 字型产生ROM(CGROM) 字型产生ROM(CGROM)提供8192个此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示(DISPLAY ON),DDRAM 的内容就显示在屏幕上,DFF=0为关显示(DISPLAY OFF)。 DFF 的状态是指令DISPLAY ON/OFF和RST信号控制的。● 显示数据RAM(DDRAM)模块内部显示数据RAM 提供64×2个位元组的空间,最多可控制4行16字(64个字)的中文字型显示,当写入显示数据RAM时,可分别显示CGROM与CGRAM的字型;此模 块可显示三种字型,分别是半角英数字型(16*8)、CGRAM字型及CGROM的中文字型,三种字型的选择,由在DDRAM中写入的编码选择,在 0000H—0006H的编码中(其代码分别是0000、0002、0004、0006共4个)将选择CGRAM的自定义字型,02H—7FH的编码中将 选择半角英数字的字型,至于A1以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码BIG5(A140—D75F),GB (A1A0-F7FFH)。 ● 字型产生RAM(CGRAM) 字型产生RAM提供图象定义(造字)功能, 可以提供四组16×16点的自定义图象空间,使用者可以将内部字型没有提供的图象字型自行定义到CGRAM中,便可和CGROM中的定义一样地通过DDRAM显示在屏幕中。● 地址计数器AC地址计数器是用来贮存DDRAM/CGRAM之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入DDRAM/CGRAM的值时,地址计数器的值就会自动加一,当RS为“0”时而R/W为“1”时,地址计数器的值会被读取到DB6——DB0中。
● 光标/闪烁控制电路
此模块提供硬体光标及闪烁控制电路,由地址计数器的值来指定DDRAM中的光标或闪烁位置。
外形尺寸
ITEMNOMINAL DIMENUNIT
模块体积93×78×12.5mm
视域70.7×38.8mm
行列点阵数128×64dots
点距离0.52×0.52mm
点大小0.48×0.48mm
三、液晶硬件接口
1、逻辑工作电压(VDD):4.5~5.5V
2、电源地(GND):0V
3、工作温度(Ta):0~60℃(常温) / -20~75℃(宽温)
4、电气特性见附图1 外部连接图(参考附图2)
模块有并行和串行两种连接方法(时序如下):
1、8位并行连接时序图
MPU写资料到模块
MPU从模块读出资料
2、串行连接时序图
四、用户指令集
1、指令表1:(RE=0:基本指令集)
指令表—2:(RE=1:扩充指令集)
HS12864-12串口接线方式:
备注:
1、 当模块在接受指令前,微处理顺必须先确认模块内部处于非忙碌状态,即读取BF标志时BF需为0,方可接受新的指令;如果在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延迟一段较长的时间,即是等待前一个指令确实执行完成,指令执行的时间请参考指令表中的个别指令说明。
2“RE”为基本指令集与扩充指令集的选择控制位元,当变更“RE”位元后,往后的指令集将维持在最后的状态,除非再次变更“RE”位元,否则使用相同指令集时,不需每次重设“RE”位元。
具体指令介绍:
1、清除显示
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
LLLLLLLLLH
功能:清除显示屏幕,把DDRAM位址计数器调整为“00H”
2、位址归位
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
LLLLLLLLHX
功能:把DDRAM位址计数器调整为“00H”,游标回原点,该功能不影响显示DDRAM
3、位址归位
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
LLLLLLLHI/DS
功能:把DDRAM位址计数器调整为“00H”,游标回原点,该功能不影响显示DDRAM功能:执行该命令后,所设置的行将显示在屏幕的第一行。显示起始行是由Z地址计数器控制的,该命令自动将A0-A5位地址送入Z地址计数器,起始地址可以是0-63范围内任意一行。Z地址计数器具有循环计数功能,用于显示行扫描同步,当扫描完一行后自动加一。
4、显示状态 开/关
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
LLLLLLHDCB
功能: D=1;整体显示ON C=1;游标ON B=1;游标位置ON
5、游标或显示移位控制
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
LLLLLHS/CR/LXX
功能:设定游标的移动与显示的移位控制位:这个指令并不改变DDRAM的内容
6、功能设定
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
LLLLHDLX0 REXX
功能:DL=1(必须设为1) RE=1;扩充指令集动作 RE=0:基本指令集动作
7、设定CGRAM位址
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
LLLHAC5AC4AC3AC2AC1AC0
功能:设定CGRAM位址到位址计数器(AC)
8、设定DDRAM位址
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
LLHAC6AC5AC4AC3AC2AC1AC0
功能:设定DDRAM位址到位址计数器(AC)
9、读取忙碌状态(BF)和位址
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
LHBFAC6AC5AC4AC3AC2AC1AC0
功能:读取忙碌状态(BF)可以确认内部动作是否完成,同时可以读出位址计数器(AC)的值
10、写资料到RAM
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
HLD7D6D5D4D3D2D1D0
功能:写入资料到内部的RAM(DDRAM/CGRAM/TRAM/GDRAM)
11、读出RAM的值
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
HHD7D6D5D4D3D2D1D0
功能:从内部RAM读取资料(DDRAM/CGRAM/TRAM/GDRAM)
12、 待命模式(12H)
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
LLLLLLLLLH
功能:进入待命模式,执行其他命令都可终止待命模式
13、卷动位址或IRAM位址选择(13H)
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
LLLLLLLLHSR
功能:SR=1;允许输入卷动位址 SR=0;允许输入IRAM位址
14、反白选择(14H)
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
LLLLLLLHR1R0
功能:选择4行中的任一行作反白显示,并可决定反白的与否
15、睡眠模式(015H)
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
LLLLLLHSLXX
功能:SL=1;脱离睡眠模式 SL=0;进入睡眠模式
16、扩充功能设定(016H)
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
LLLLHHX1 REGL
功能:RE=1;扩充指令集动作 RE=0;基本指令集动作 G=1;绘图显示ON G=0;绘图显示OFF
17、设定IRAM位址或卷动位址(017H)
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
LLLHAC5AC4AC3AC2AC1AC0
功能:SR=1;AC5~AC0为垂直卷动位址 SR=0;AC3~AC0写ICONRAM位址
18、设定绘图RAM位址(018H)
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
LLHAC6AC5AC4AC3AC2AC1AC0
功能:设定GDRAM位址到位址计数器(AC)
五、显示坐标关系
1、图形显示坐标
2、汉字显示坐标
X坐标
Line180H81H82H83H84H85H86H87H
Line290H91H92H93H94H95H96H97H
Line388H89H8AH8BH8CH8DH8EH8FH
Line498H99H9AH9BH9CH9DH9EH9FH
六、显示步骤
1、显示资料RAM(DDRAM)
显示资料RAM提供64×2个位元组的空间,最多可以控制4行16字(64个字)的中文字型显示,当写入显示资料RAM时,可以分别显示CGROM、HCGROM与CGRAM的字型;ST7920A可以显示三种字型 ,分别是半宽的HCGROM字型、CGRAM字型及中文CGROM字型 ,三种字型的选择,由在DDRAM中写入的编码选择,在0000H—0006H的编码中将自动的结合下一个位元组,组成两个位元组的编码达成中文字型 的编码(A140—D75F),各种字型详细编码如下:
1、显示半宽字型 :将8位元资料写入DDRAM中,范围为02H—7FH的编码。
2、显示CGRAM字型:将16位元资料写入DDRAM中,总共有0000H,0002H,0004H,0006H四种编码。
3、显示中文字形:将16位元资料写入DDRAMK ,范围为A1A1H—F7FEH的编码。
绘图RAM(GDRAM)
绘图显示RAM提供64×32个位元组的记忆空间,最多可以控制256×64点的二维也纳绘图缓冲空间,在更改绘图RAM时,先连续写入水平与垂直的坐标值,再写入两个8位元的资料到绘图RAM,而地址计数器(AC)会自动加一;在写入绘图RAM的期间,绘图显示必须关闭,整个写入绘图RAM的步骤如下:
1、关闭绘图显示功能。
2、先将水平的位元组坐标(X)写入绘图RAM地址;
3、再将垂直的坐标(Y)写入绘图RAM地址;
4、将D15——D8写入到RAM中;
5、将D7——D0写入到RAM中;
6、打开绘图显示功能。
绘图显示的记忆体对应分布请参考表
2、游标/闪烁控制
ST7920A提供硬体游标及闪烁控制电路,由地址计数器(address counter)的值来指定DDRAM中的游标或闪烁位置。
编程参考(部分)
并口通信模式:
;*********************************************
;Controller:ST7920
;MCU:AT89C52 ,晶体频率:12MHz
;LCM:128*64
;LCM型号:带中文字库的128X64-0402
;LCM 接口:1:GND 2:VCC 3:V0 4.RS 5:RW 6:E 7--14:DB0-DB7 15:PSB 16:NC 17:RST 18:Vout
;**********************************************
RS EQU P1.3
RW EQU P1.4
E EQU P1.5
PSB EQU P1.6
RST EQU P2.7
COM EQU 20H
DAT EQU 21H
;******************************以上是接口定义
START:
ORG 0000H
MOV SP,#60H
LJMP DISP
;*********************************主程序入口地址
ORG 0040H
DISP: CLR PSB
LCALL DELAY
SETB PSB ;将PSB置1,通信方式为8位数据并口
LCALL DELAY
MOV COM,#30H ;功能设置---8BIT控制界面,基本指令集
ACALL WRI ;调用写指令子程序
LCALL DELAY ;延迟39uS
MOV COM,#0CH ;显示打开,光标关,反白显示关
ACALL WRI ;调用写指令子程序
LCALL DELAY ;延迟39uS
MOV COM,#01H ;清除屏幕显示,将DDRAM的地址计数器归零
ACALL WRI ;调用写指令子程序
LCALL DELAY ;延迟39uS
MOV COM,#06H ;DDRAM的地址计数器(AC)加1
ACALL WRI ;调用写指令子程序
LCALL DELAY ;延迟39uS
;****************************************************
DISPLAY5A:
MOV R2,#64 ;DDRAM地址记数器设为最大值
MOV R1,#10H
MOV COM,#80H ;DD RAM 地址-----0000000
ACALL WRI
DISP5A: MOV DAT,R1
ACALL WRD ;写入第二字节数据
INC R1
DJNZ R2,DISP5A
LCALL DELAY1 ;1S延时子程序
;*************************************以上是写入半角字符
DISPLAY5:
MOV R2,#64 ;DDRAM地址记数器设为最大值
MOV R1,#0DEH
MOV COM,#80H ;DD RAM 地址-----0000000
ACALL WRI
DISP5: MOV DAT,#0B4H
ACALL WRD ;写入第一字节数据
MOV DAT,R1
ACALL WRD ;写入第二字节数据
INC R1
DJNZ R2,DISP5
LCALL DELAY1 ;1S延时子程序
;**********************************以上是从字库中“崔”字处开始显示
MOV COM,#01H ;清屏
ACALL WRI ;调用写指令子程序
LCALL DELAY
MOV COM,#32H ;功能设置---8BIT控制界面,绘图显示ON
ACALL WRI ;调用写指令子程序
LCALL DELAY ;延迟39uS
MOV COM,#36H ;功能设置---8BIT控制界面,扩充指令集
ACALL WRI ;调用写指令子程序
LCALL DELAY ;延迟39uS
DISPLAY6:
MOV DPTR,#DAB2 ;图形数据入口地址
MOV R2,#32 ;32行,(双屏结构中上半屏)
MOV R3,#80H ;Y地址寄存器
DISP6: MOV COM,R3 ;设置绘图区的Y地址坐标
INC R3 ;Y地址加1
LCALL WRI
MOV COM,#80H ;设置绘图区的X地址坐标
LCALL WRI
MOV R1,#16 ;16*8列
DISP7: CLR A
MOVC A,@A+DPTR
MOV DAT,A
LCALL WRD
INC DPTR
DJNZ R1,DISP7
DJNZ R2,DISP6 ;写满全屏的16*8字节X64
MOV R2,#32 ;32行,(双屏结构的下半屏)
MOV R3,#80H ;Y地址寄存器
DISP8: MOV COM,R3 ;设置绘图区的Y地址坐标
INC R3 ;Y地址加1
LCALL WRI
MOV COM,#88H ;设置绘图区的X地址坐标
LCALL WRI
MOV R1,#16 ;16*8列
DISP9: CLR A
MOVC A,@A+DPTR
MOV DAT,A
LCALL WRD
INC DPTR
DJNZ R1,DISP9
DJNZ R2,DISP8 ;写满全屏的16*8字节X64
LCALL DELAY1 ;1S延时子程序
;********************************以上是写入一幅图画(电脑桌面图)
WRI: PUSH ACC
CLR RS
SETB RW
WRI1: MOV P0,#0FFH
SETB E
MOV A,P0
CLR E
JB ACC.7,WRI1
CLR RW
MOV P0,COM
SETB E
CLR E
POP ACC
RET
;******************************************以上是写指令子程序
WRD: PUSH ACC
CLR RS
SETB RW
WRD1: MOV P0,#0FFH
SETB E
MOV A,P0
CLR E
JB ACC.7,WRD1
SETB RS
CLR RW
MOV P0,DAT
SETB E
CLR E
POP ACC
RET
;******************************************以上是写数据子程序
DELAY: MOV R7,#0FFH
DELAY4: MOV R6,#00FH
LOOP2: DJNZ R6,LOOP2
DJNZ R7,DELAY4
RET
DELAY1: MOV R4,#08H
DELAY11:MOV R7,#0FFH
DELAY41:MOV R6,#0FFH
DJNZ R6,$
DJNZ R7,DELAY41
DJNZ R4,DELAY11
RET
XX: MOV R5,#0FFH
XX1: MOV R6,#0FFH
XX2: DJNZ R6,XX2
DJNZ R5,XX1
RET
;******************************************以上是延时子程序
DAB2:
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,03FH,0FFH,0F0H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,040H,000H,018H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0BFH,0FFH,0DCH,000H,001H
DB 080H,000H,01FH,0FFH,0FFH,000H,000H,000H,000H,000H,000H,0BFH,0FFH,0BCH,000H,001H
DB 080H,000H,030H,000H,001H,080H,000H,000H,000H,000H,001H,07FH,0FFH,0B8H,000H,001H
DB 080H,000H,030H,000H,000H,080H,000H,000H,000H,000H,001H,07FH,0FFH,078H,000H,001H
DB 080H,000H,019H,0FFH,0FEH,0C0H,000H,000H,000H,000H,002H,0FFH,0FFH,070H,000H,001H
DB 080H,000H,018H,000H,000H,040H,000H,000H,000H,000H,002H,0FFH,0FEH,0F0H,000H,001H
DB 080H,000H,00CH,001H,0FFH,060H,000H,000H,000H,000H,005H,0FFH,0FEH,0E0H,000H,001H
DB 080H,000H,00CH,07FH,0D0H,020H,000H,000H,000H,000H,005H,0FFH,0FDH,0E0H,000H,001H
DB 080H,000H,006H,000H,00FH,0B0H,000H,000H,000H,000H,00BH,0FFH,0FDH,0C0H,000H,001H
DB 080H,000H,006H,003H,0FCH,010H,000H,000H,000H,000H,00BH,0FFH,0FBH,0C0H,000H,001H
DB 080H,000H,003H,01FH,000H,018H,000H,000H,000H,000H,017H,0FFH,0FBH,080H,000H,001H
DB 080H,000H,003H,000H,000H,008H,000H,000H,000H,000H,017H,0FFH,0F7H,080H,000H,001H
DB 080H,000H,001H,080H,000H,00CH,000H,000H,000H,000H,017H,0FFH,0F7H,000H,000H,001H
DB 080H,000H,001H,080H,000H,004H,000H,000H,000H,000H,009H,0FFH,0EFH,000H,000H,001H
DB 080H,000H,000H,0C0H,000H,0F6H,000H,000H,000H,000H,006H,07FH,0EEH,000H,000H,001H
DB 080H,000H,000H,0C0H,003H,0C2H,000H,000H,000H,000H,001H,09FH,0DEH,000H,000H,001H
DB 080H,000H,000H,060H,000H,03BH,000H,000H,000H,000H,000H,067H,0DFH,000H,000H,001H
DB 080H,000H,000H,060H,000H,0E3H,000H,000H,000H,000H,000H,019H,0BFH,000H,000H,001H
DB 080H,000H,000H,030H,003H,08EH,000H,000H,000H,000H,000H,006H,03FH,000H,000H,001H
DB 080H,000H,000H,030H,006H,03CH,000H,000H,000H,000H,000H,001H,0FFH,000H,000H,001H
DB 080H,000H,000H,018H,000H,0F0H,000H,000H,000H,000H,000H,000H,0FFH,000H,000H,001H
DB 080H,000H,000H,018H,003H,0C0H,000H,000H,000H,000H,000H,00FH,07FH,080H,000H,001H
DB 080H,000H,000H,00CH,00FH,000H,000H,000H,000H,000H,000H,030H,01FH,0C0H,000H,001H
DB 080H,000H,000H,00CH,03CH,000H,000H,000H,000H,000H,000H,040H,007H,0E0H,000H,001H
DB 080H,000H,000H,006H,0F0H,000H,000H,000H,000H,000H,000H,0E0H,01FH,0E0H,000H,001H
DB 080H,000H,000H,007H,0C0H,000H,000H,000H,000H,000H,000H,0F8H,03FH,0C0H,000H,001H
DB 080H,000H,000H,003H,000H,000H,000H,000H,000H,000H,000H,07EH,0FFH,000H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,01FH,0FCH,000H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,007H,0F0H,000H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H,0C0H,000H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H
DB 080H,005H,040H,088H,004H,001H,008H,000H,000H,00AH,081H,010H,004H,000H,020H,001H
DB 080H,079H,021H,008H,002H,021H,049H,000H,000H,0F2H,042H,010H,004H,047H,010H,001H
DB 080H,009H,007H,0DFH,07FH,0F7H,0AAH,000H,000H,012H,00FH,0BEH,07FH,0E5H,0FEH,001H
DB 080H,07FH,0F4H,051H,008H,081H,02CH,000H,000H,0FFH,0E8H,0A2H,044H,047H,000H,001H
DB 080H,009H,004H,061H,008H,081H,07FH,000H,000H,012H,008H,0C2H,07FH,0C5H,04AH,001H
DB 080H,00BH,024H,051H,008H,083H,081H,000H,000H,016H,048H,0A2H,044H,045H,06AH,001H
DB 080H,01DH,047H,0C9H,005H,005H,001H,000H,000H,03AH,08FH,092H,044H,047H,052H,001H
DB 080H,068H,084H,049H,005H,005H,07FH,000H,000H,0D1H,008H,092H,07FH,0C5H,06AH,001H
DB 080H,009H,094H,041H,002H,001H,001H,000H,000H,013H,028H,082H,044H,005H,04AH,001H
DB 080H,00EH,057H,0C1H,00DH,081H,001H,000H,000H,01CH,0AFH,082H,004H,029H,042H,001H
DB 080H,038H,034H,04EH,070H,071H,07FH,000H,000H,070H,068H,09CH,003H,0EBH,07EH,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H
DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
END
串口通信模式:
;12864-12串行通信广告显示例程
; RS--------P3.0
; R/W-------P3.1
; E---------P3.2
CS EQU P3.0
SID EQU P3.1
CLK EQU P3.2
PSB EQU P3.3
ORG 0000H
AJMP START
; ORG 0003H
; LCALL PAUSE
ORG 0100h
START:
; MOV IE,#81H ;EXT. INT0 PERMIT
; MOV IP,#01H ;INT0 IS FIRST INT. LEVEL
; MOV TCON,#00H ;TIMER/COUNTER CONTROLER INIT.
mov SP, #67h
CLR PSB
LCALL DELAY
LCALL DELAY
LCALL SETUP
LCALL DEF_CHAR
MOV A,#80H
LCALL WRITE_COM
MOV R3,#8
TEST11: MOV DPTR,#CGRAM1 ;CGRAM TEST
LCALL WRITE_CGRAM
DJNZ R3,TEST11
MOV A,#90H
LCALL WRITE_COM
MOV R3,#8
TEST12: MOV DPTR,#CGRAM1
LCALL WRITE_CGRAM
DJNZ R3,TEST12
MOV A,#88H
LCALL WRITE_COM
MOV R3,#8
TEST13: MOV DPTR,#CGRAM1
LCALL WRITE_CGRAM
DJNZ R3,TEST13
MOV A,#98H
LCALL WRITE_COM
MOV R3,#8
TEST14: MOV DPTR,#CGRAM1
LCALL WRITE_CGRAM
DJNZ R3,TEST14
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#80H
LCALL WRITE_COM
MOV R3,#8
TEST21: MOV DPTR,#CGRAM2
LCALL WRITE_CGRAM
DJNZ R3,TEST21
MOV A,#90H
LCALL WRITE_COM
MOV R3,#8
TEST22: MOV DPTR,#CGRAM2
LCALL WRITE_CGRAM
DJNZ R3,TEST22
MOV A,#88H
LCALL WRITE_COM
MOV R3,#8
TEST23: MOV DPTR,#CGRAM2
LCALL WRITE_CGRAM
DJNZ R3,TEST23
MOV A,#98H
LCALL WRITE_COM
MOV R3,#8
TEST24: MOV DPTR,#CGRAM2
LCALL WRITE_CGRAM
DJNZ R3,TEST24
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#80H
LCALL WRITE_COM
MOV R3,#8
TEST31: MOV DPTR,#CGRAM3
LCALL WRITE_CGRAM
DJNZ R3,TEST31
MOV A,#90H
LCALL WRITE_COM
MOV R3,#8
TEST32: MOV DPTR,#CGRAM3
LCALL WRITE_CGRAM
DJNZ R3,TEST32
MOV A,#88H
LCALL WRITE_COM
MOV R3,#8
TEST33: MOV DPTR,#CGRAM3
LCALL WRITE_CGRAM
DJNZ R3,TEST33
MOV A,#98H
LCALL WRITE_COM
MOV R3,#8
TEST34: MOV DPTR,#CGRAM3
LCALL WRITE_CGRAM
DJNZ R3,TEST34
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#80H
LCALL WRITE_COM
MOV R3,#8
TEST41: MOV DPTR,#CGRAM4
LCALL WRITE_CGRAM
DJNZ R3,TEST41
MOV A,#90H
LCALL WRITE_COM
MOV R3,#8
TEST42: MOV DPTR,#CGRAM4
LCALL WRITE_CGRAM
DJNZ R3,TEST42
MOV A,#88H
LCALL WRITE_COM
MOV R3,#8
TEST43: MOV DPTR,#CGRAM4
LCALL WRITE_CGRAM
DJNZ R3,TEST43
MOV A,#98H
LCALL WRITE_COM
MOV R3,#8
TEST44: MOV DPTR,#CGRAM4
LCALL WRITE_CGRAM
DJNZ R3,TEST44
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#80H ;WORD TEST
LCALL WRITE_COM
MOV DPTR,#ETAB
LCALL WRITE_ASCII
MOV A,#90H
LCALL WRITE_COM
MOV DPTR,#ETAB+16
LCALL WRITE_ASCII
MOV A,#88H ;WORD TEST
LCALL WRITE_COM
MOV DPTR,#TABLE1
LCALL WRITE_ASCII
MOV A,#98H
LCALL WRITE_COM
MOV DPTR,#TABLE1+16
LCALL WRITE_ASCII
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#80H
LCALL WRITE_COM
MOV DPTR,#CTAB
LCALL WRITE_HZ
MOV A,#90H
LCALL WRITE_COM
MOV DPTR,#chinese
LCALL WRITE_hz
MOV A,#88H
LCALL WRITE_COM
MOV DPTR,#CTAB
LCALL WRITE_HZ
MOV A,#98H
LCALL WRITE_COM
MOV DPTR,#chinese
LCALL WRITE_hz
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
AAA: LJMP START
SETUP: CLR PSB
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#00110000B ;FUNCTION SETTING
LCALL WRITE_COM
MOV A,#00000010B ;DDRAM SET TO ‘00H’
LCALL WRITE_COM
MOV A,#00000100B ;
LCALL WRITE_COM
MOV A,#00001100B ;DISPLAY ON
LCALL WRITE_COM
MOV A,#00000001B ;CLEARING SCREEN
LCALL WRITE_COM
MOV A,#10000000B ;SET DDRAM ADDRESS
LCALL WRITE_COM
RET
WRITE_COM: ;Serial Port
LCALL DELAY1 ;INSTEAD OF CHECKING BF STATE
SETB CS
PUSH ACC
MOV R0,#8
MOV A,#11111000B
COMM1:
CLR C
RLC A
MOV SID,C
CLR CLK
SETB CLK
DJNZ R0,COMM1
POP ACC
MOV R5,A
ANL A,#0F0H
MOV R0,#8
COMM2: CLR C
RLC A
MOV SID,C
CLR CLK
SETB CLK
DJNZ R0,COMM2
MOV A,R5
SWAP A
ANL A,#0F0H
MOV R0,#8
COMM3: CLR C
RLC A
MOV SID,C
CLR CLK
SETB CLK
DJNZ R0,COMM3
CLR CS
RET
WRITE_DAT:
LCALL DELAY1
SETB CS
PUSH ACC
MOV R0,#8
MOV A,#11111010B
DATA1: CLR C
RLC A
MOV SID,C
CLR CLK
SETB CLK
DJNZ R0,DATA1
POP ACC
MOV R5,A
ANL A,#0F0H
MOV R0,#8
DATA2: CLR C
RLC A
MOV SID,C
CLR CLK
SETB CLK
DJNZ R0,DATA2
MOV A,R5
SWAP A
ANL A,#0F0H
MOV R0,#8
DATA3: CLR C
RLC A
MOV SID,C
CLR CLK
SETB CLK
DJNZ R0,DATA3
CLR CS
RET
DELAY1:
MOV R7,#010H
D11: MOV R6,#010H
DJNZ R6,$
DJNZ R7,D11
RET
DELAY:
MOV R1,#00H
D2: MOV R2,#00H
LCALL DELAY1
DJNZ R2,$
DJNZ R1,D2
RET
DEF_CHAR: ;WRITE TO CGRAM
MOV A,#01000000B ;SET CGRAM ADDRESS
LCALL WRITE_COM
MOV R3,#14
MOV A,#07fH
LCALL WRITE_DAT
MOV A,#0feH
LCALL WRITE_DAT
DEF1:
MOV A,#080H
LCALL WRITE_DAT
MOV A,#001H
LCALL WRITE_DAT
DJNZ R3,DEF1
MOV A,#07fH
LCALL WRITE_DAT
MOV A,#0feH
LCALL WRITE_DAT
MOV R3,#8
DEF2:
MOV A,#0AAH
LCALL WRITE_DAT
MOV A,#0AAH
LCALL WRITE_DAT
MOV A,#0AAH
LCALL WRITE_DAT
MOV A,#0AAH
LCALL WRITE_DAT
DJNZ R3,DEF2
MOV R3,#8
DEF3:
MOV A,#055H
LCALL WRITE_DAT
MOV A,#055H
LCALL WRITE_DAT
MOV A,#0AAH
LCALL WRITE_DAT
MOV A,#0AAH
LCALL WRITE_DAT
DJNZ R3,DEF3
mov R3,#8
DEF4:
MOV A,#0FFH
LCALL WRITE_DAT
MOV A,#0FFH
LCALL WRITE_DAT
MOV A,#0FFH
LCALL WRITE_DAT
MOV A,#0FFH
LCALL WRITE_DAT
DJNZ R3,DEF4
RET
WRITE_ASCII:
MOV R4,#16
DDDD: CLR A
MOVC A,@A+DPTR
LCALL WRITE_DAT
INC DPTR
DJNZ R4,DDDD
RET
WRITE_HZ: ;WRITE 8 CHINESE TO LCD
MOV R4,#8
DD: CLR A
MOVC A,@A+DPTR
INC DPTR
LCALL WRITE_DAT
CLR A
MOVC A,@A+DPTR
INC DPTR
LCALL WRITE_DAT
DJNZ R4,DD
RET
WRITE_CGRAM: ;CGRAM TESTING
CLR A
MOVC A,@A+DPTR
LCALL WRITE_DAT
INC DPTR
CLR A
MOVC A,@A+DPTR
LCALL WRITE_DAT
RET
PAUSE: SETB P3.2 ;PAUSE KEY PROCESS
SETB P3.2
LCALL DELAY1
MOV C,P3.2
MOV C,P3.2
JNC PAUSE ;CHECK KEY WAS PRESSED
PAUSE1: MOV C,P3.2
MOV C,P3.2
LCALL DELAY1
JC PAUSE1 ;CHECK KEY OPEN AFTER PRESSED
PAUSE2: SETB P3.2
SETB P3.2
LCALL DELAY1
MOV C,P3.2
MOV C,P3.2
JNC PAUSE2 ;CHECK KEY WAS PRESSED AGAIN
RETI
TABLE1:
DB ‘ABCDEFGHIJKLMNOP’
DB ‘0123456789!@#$%^’
ETAB:
DB ‘ LCDINLINE.COM! ’
DB ‘WELCOME TO HERE!’
CGRAM1: DB 000H,000H
CGRAM2: DB 000H,002H
CGRAM3: DB 000H,004H
CGRAM4: DB 000H,006H
CHINESE:
DB ‘中文液晶显示模块’
CTAB:
DB ‘福星电子专业服务’
END
附录部分
附录1:ASCII码表
16*8半宽字符表
附录2:汉字码址表
关注
68文章
10854浏览量
211583关注
8文章
1368浏览量
114641关注
6文章
586浏览量
40291发布评论请先 登录
相关推荐
黄冈社交网站制作邵阳废品回收网站制作行业网站制作多少钱一年泉州电商网站开发制作卫辉网站制作和推广心理学网站视频制作泉州网站制作奶茶做法东莞三合一网站制作安庆定制网站开发制作VS制作家乡网站东海水晶城网站制作黑夜网站制作制作视频网站app网站制作费用 p神探推做词页面设计网站制作郑州社交网站制作公司聚搜索网站制作崇左制作网站有哪些网站制作后可以干什么财富网站制作书签制作网站需要哪些基础化验室网站制作冰淇淋真相表情包制作网站巢湖营销型网站制作怎么制作一个解析网站制作网站的教材免费自己制作网站信天游网站制作手工恶搞表白网站制作新闻发布系统 网站制作中山小语种网站制作北京网站制作推广公司南通制作公司网站遂宁手机模板网站制作合肥网站制作首页威海网站建设制作费用交朋友网站制作贴纸怎么制作网站仿站制作网站优化哪儿好迪奥网站制作表格肇庆餐饮网站制作范文网站制作奶茶流体背景制作网站珠海制作手机网站费用是多少南通网站制作设计如何制作装修公司网站制作网站热点链接旅游网站制作多少钱山东网站制作蛋糕文案故事会网站制作表格鹰潭可视化网站制作报价如何制作QQ钓鱼盗号网站如何建立网站服务器制作网页制作收款码网站用html制作食品网站民权专业网站设计制作公司制作应用程序网站北京美容行业网站制作附近网站制作价格济南商业网站制作如何利用dw制作动态网站首页青娱乐网站制作手工怎么制作一个小作文网站龙泉制作网站怎么制作标志的网站开县网站制作欢迎咨询台州生物医药网站制作怎么做代理视频网站制作计算机网站制作实训日记企业网站制作公司哪家专业网站制作评估乌鲁木齐网站制作表格教程宁波网站制作佳选荣胜网络好1024图片制作网站数控论文网站制作德州制作网站电话青岛网站制作美食购物网站制作web报告总结怎样做网站制作团队宿州企业网站制作公司移动网站制作模板价格长沙手机网站制作公司吉林网站制作方案自媒体制作网站平台吕梁网站制作哪家好音乐制作编曲网站网站连接服务怎么制作制作艺术字网站外贸网站制作设计网站数据库怎么制作制作视频学习网站西宁网站制作收费标准制作网站需要什么样的电脑简单动态网站怎么制作爱美刻在线制作网站网站制作建设路隧道手工活网站制作北辰网站制作哪家好可信网站制作壁纸诸暨媒体网站制作都有哪些制作架设一套完整网站简易视频制作网站同城相亲网站怎么制作样片网站制作制作网站需要服务器美国白宫网站制作壁纸廊坊企业网站制作网站小说封面制作教程电线电缆网站制作雪糕布娃娃制作网站怎么手机制作一个网站山东网站制作小玩具推荐什么网站可以制作歌曲龙岗儿童网站制作哪个好寮步玩具网站制作好吗网安公司制作钓鱼网站gif字幕制作网站网站设计制作字体的代码dw班级j简单网站制作吱吱喳喳网站视频制作马士基网站制作头像网站制作设计感连衣裙小个子普格网站制作图片设计制作哪个网站克隆网站视频制作溧水区官方网站制作三明网站制作电话h5网站制作流程这么样才能制作网站额尔古纳宣传型网站制作播放器制作网站制作邀请函的一个网站番禺响应式网站制作dw2020网站页面制作教程许昌制作网站齐齐哈尔网站制作报价苏州吴中网站设计制作佛山制作网站的公司网站主页制作模板制作一个网站要求录入数据快速制作网站模板qqv认证制作网站在线龙岩网站制作报价大朗单页网站制作绿盟网站制作奶茶滕州网站制作公司哪家好宝安信息类网站制作比较好的自己制作网站放视频厚街企业网站制作长春网站制作功能净土宗网站制作头像创建制作网站企业哎呀呀网站制作视频一个在线流程图制作网站湖南英文网站制作免费一级网站制作铜陵网站首页制作NORMAL模板网站制作长春精美网站制作叫j的简历制作网站越秀区网站制作开发海盐高端网站制作哪里好李宁如何制作自己公司网站跨境电商简历制作网站四川网站公司制作桃源网络推广和网站制作制作3d头像网站四川网站建设企业网站制作抖音制作的音乐网站乐从响应式网站制作公司如何制作好一个好的网站东门中小型网站制作都有哪些高密英文网站制作哪家好青年旅舍的网站制作与设计本地网站制作壁纸图片库网站制作什么网站可以制作电子请帖南园互联网网站制作比较好的保定营销网站制作公司青州制作网站哪家靠谱怎么制作免费音乐网站测手速网站制作影评网站制作蛋糕制作商业网站的湖南网站制作手工昆山网站制作选苏州聚尚网络愚人节网站制作起泡购物网站制作web报告总结手机制作照片网站保定电商网站建设制作诸暨媒体网站制作都有哪些杭州网站制作稿网站制作论文资料查分网站制作舟山金华制作网站哪个公司好合肥英文网站制作天津制作网站的网站制作ps什么网站好光伏网站制作头像网站制作教程5分钟
评论