📄 lcd.asm
字号:
;******************************Copyright (c)******************************
;** 广州周立功单片机发展有限公司
;** 研 究 所
;** 产品一部
;** http://www.zlgmcu.com
;**-------------------------------文件信息--------------------------------
;文件名:clock.asm
;功能 :在DP-TEST实验板完成LCD点阵字符液晶显示。在第1行显示DP-TEST,在第2行
; 显示2003年2月14日。
;说明 :
; 1.LCD液晶显示屏数据口地址为400xH~5FFxH之间,在此数据地址为4002H,而命令口地址
; 为4000H。
; 2.这里只对LCD进行写操作。
;最后修改时间:2003年3月26日
;***************************************************************************
WR_COM EQU 4000H ;写指令地址
RD_STA EQU 4001H ;读状态地址
WR_DAT EQU 4002H ;写数据地址
RD_DAT EQU 4003H ;读数据地址
ORG 8000H
AJMP MAIN
ORG 8100h
MAIN:
MOV SP,#60h ;设置SP
ACALL DELAY ;延时
ACALL INIT_LCD ;初始化液晶模块
ACALL WRITE_CGRAM ;设置CGRAM
MOV A,#84H ;从第一行第5位开始
ACALL WRITE_COM
MOV R6,#06 ;显示DP-51S
MOV DPTR,#TABLE1 ;读取DP-51S数据表地址
DISP1:
CLR A
MOVC A,@A+DPTR
ACALL WRITE_DAT
INC DPTR
DJNZ R6,DISP1
ACALL DELAY ;延时
MOV A,#0C2H ;第二行第二位开始显示
ACALL WRITE_COM
MOV R6,#13 ;显示ZLG2003年3月26日
MOV DPTR,#TABLE2 ;读取数据表2地址
DISP2:
CLR A
MOVC A,@A+DPTR
ACALL WRITE_DAT
INC DPTR
DJNZ R6,DISP2
SJMP $ ;显示完成,在此等待
;初始化液晶模块
INIT_LCD:
MOV A,#38H ;设置为8位数据总线,16*2,5*7点阵
ACALL WRITE_COM
MOV A,#01H ;清屏幕
ACALL WRITE_COM
MOV A,#06H ;光标移动,显示区不移动,读写操作后AC加1
ACALL WRITE_COM
MOV A,#0CH ;开显示,关光标,不闪烁
ACALL WRITE_COM
RET
;写指令子程序
WRITE_COM:
PUSH DPH ;保存DPTR
PUSH DPL
MOV DPTR,#WR_COM ;设置写指令地址
MOVX @DPTR,A ;输出指令
ACALL DELAY ;延时
POP DPL ;恢复DPTR
POP DPH
RET
;写数据子程序
WRITE_DAT:
PUSH DPH ;保存DPTR
PUSH DPL
MOV DPTR,#WR_DAT ;设置写数据地址
MOVX @DPTR,A ;输出数据
ACALL DELAY ;延时
POP DPL ;恢复DPTR
POP DPH
RET
;设置自定义字符
WRITE_CGRAM:
PUSH ACC ;保护现场
PUSH DPL
PUSH DPH
PUSH PSW
MOV A,#40H ;设置CGRAM开始地址为00H
ACALL WRITE_COM
MOV R7,#24 ;输出3个自定义字符(3×8=24)
MOV DPTR,#CGRAM_TABLE
WRITE_CGRAM1:
CLR A
MOVC A,@A+DPTR ;读取表数据
ACALL WRITE_DAT ;把数据写到CGRAM中
INC DPTR
DJNZ R7,WRITE_CGRAM1
ACALL DELAY ;延时
POP PSW ;现场恢复
POP DPH
POP DPL
POP ACC
RET
;延时子程序
DELAY:
MOV R5,#100
DELAY1:
MOV R4,#100
DJNZ R4,$
DJNZ R5,DELAY1
RET
;定义代码
CGRAM_TABLE:
DB 08H,0FH,12H,0FH,0AH,1FH,02H,02H ;年
DB 0FH,09H,0FH,09H,0FH,09H,11H,00H ;月
DB 0FH,09H,09H,0FH,09H,09H,0FH,00H ;日
TABLE1:
DB 44H,50H,2DH,35H,31H,53H;DP-51S
TABLE2:
DB 5AH,4CH,47H,32H,30H,30H,33H,00H,32H,01H,32H,36H,02H
; Z l G 2 0 0 3 年 3 月 2 6 日
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -