?? wlcda1098.#1
字號:
;參考程序A. 文件名:WLCDA1098.ASM程序功能;在該液晶模塊上顯示二行字符:
;Welcom To NCD
;www.xhl.com.cn
$include (c8051f020.inc)
ORG 0
AJMP main
ORG 30h
MAIN: MOV WDTCN,#0DEH ;禁止看門狗定時(shí)器
MOV WDTCN,#0ADH
LCALL SYSCLK_Init ;初始化系統(tǒng)時(shí)鐘
LCALL PORT_Init ;交叉開關(guān)和通用I/O口初始化
Rep: LCALL Delay ;延時(shí)
LCALL Delay
LCALL Delay
LCALL LCD_Init ;LCD初始化
LCALL Delay
MOV DPTR,#NCDdata ;DPTR指向要送顯示的字符串地址#NCDdata
MOV R4,#0EH
Line1: ;顯示第一行字符
CLR A
MOVC A,@A+DPTR ;查表,取ASCII碼字符
INC DPTR
MOV P7,A ;字符送數(shù)據(jù)口P7
MOV P6,#05H ;寫數(shù)據(jù)操作
MOV P6,#04H ;結(jié)束寫操作
LCALL Delay
DJNZ R4,Line1
MOV P7,#0C0H ;換行
MOV P6,#1H ;寫命令
MOV P6,#0H ;結(jié)束寫命令
LCALL Delay
MOV DPTR,#Netdata ;DPTR指向要送顯示的字符串地址#Netdata
MOV R4,#0EH
Line2: ;顯示第二行字符
CLR A
MOVC A,@A+DPTR ;查表,取ASCII碼字符
INC DPTR
MOV P7,A ;字符送數(shù)據(jù)口P7
MOV P6,#05H ;A10=1,選擇數(shù)據(jù)寄存器A8=1,寫狀態(tài)
MOV P6,#04H ;A10=1,選擇數(shù)據(jù)寄存器A8=0,結(jié)束寫狀態(tài).
LCALL Delay
LCALL Delay
LCALL Delay
DJNZ R4,Line2
LCALL Delay
LCALL Delay
LCALL Delay
LCALL Delay
LJMP Rep
RET
;系統(tǒng)時(shí)鐘初始化
SYSCLK_Init:
MOV OSCICN,#05H ;系統(tǒng)時(shí)鐘初始化為片內(nèi)的 4MHZ時(shí)鐘
RET
;通用I/O口及交叉開關(guān)初始化
PORT_Init:
CLR A
MOV XBR0,A ;沒有選擇數(shù)字外設(shè)
MOV P74OUT,#0F0H ;P4--P7口設(shè)為推挽方式
RET
;LCD初始化,寫命令操作
LCD_Init:
LCALL Delay
MOV P7,#038H ;功能設(shè)置:兩行顯示,5X7點(diǎn)陣
MOV P6,#01H ;寫命令
MOV P6,#0H ;結(jié)束寫命令
LCALL Delay
MOV P7,#0EH ;開顯示,開光標(biāo),字符不閃爍
MOV P6,#01H ;寫命令
MOV P6,#0H ;結(jié)束寫命令
LCALL Delay
MOV P7,#06H ;I/D=1,AC自動(dòng)增1;S=0,整體顯示不移動(dòng)
MOV P6,#01H ;寫命令
MOV P6,#0H ;結(jié)束寫命令
LCALL Delay
MOV P7,#01H ;清除DDRAM,置AC=0
MOV P6,#01H ;寫命令
MOV P6,#0H ;結(jié)束寫命令
LCALL Delay
RET
;延時(shí)子程序
Delay:
MOV R7, #01h
Delay1:
MOV R6, #80h
Delay0:
MOV R5, #00h
DJNZ R5, $
DJNZ R6, Delay0
DJNZ R7, Delay1
RET
Netdata: DB 77h,77h,77h,2eh,78h,68h,6ch,2eh,63h,6fh,6dh,2eh,63h,6eh ;www.xhl.com.cn
NCDdata: DB 57h,65h,6ch,63h,6fh,6dh,65h,20h,74h,6fh,20h,4eh,43h,44h ;Welcom To NCD
END
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -