?? 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 + -