📄 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 ;禁止看门狗定时器
MOV WDTCN,#0ADH
LCALL SYSCLK_Init ;初始化系统时钟
LCALL PORT_Init ;交叉开关和通用I/O口初始化
Rep: LCALL Delay ;延时
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 ;字符送数据口P7
MOV P6,#05H ;写数据操作
MOV P6,#04H ;结束写操作
LCALL Delay
DJNZ R4,Line1
MOV P7,#0C0H ;换行
MOV P6,#1H ;写命令
MOV P6,#0H ;结束写命令
LCALL Delay
MOV DPTR,#Netdata ;DPTR指向要送显示的字符串地址#Netdata
MOV R4,#0EH
Line2: ;显示第二行字符
CLR A
MOVC A,@A+DPTR ;查表,取ASCII码字符
INC DPTR
MOV P7,A ;字符送数据口P7
MOV P6,#05H ;A10=1,选择数据寄存器A8=1,写状态
MOV P6,#04H ;A10=1,选择数据寄存器A8=0,结束写状态.
LCALL Delay
LCALL Delay
LCALL Delay
DJNZ R4,Line2
LCALL Delay
LCALL Delay
LCALL Delay
LCALL Delay
LJMP Rep
RET
;系统时钟初始化
SYSCLK_Init:
MOV OSCICN,#05H ;系统时钟初始化为片内的 4MHZ时钟
RET
;通用I/O口及交叉开关初始化
PORT_Init:
CLR A
MOV XBR0,A ;没有选择数字外设
MOV P74OUT,#0F0H ;P4--P7口设为推挽方式
RET
;LCD初始化,写命令操作
LCD_Init:
LCALL Delay
MOV P7,#038H ;功能设置:两行显示,5X7点阵
MOV P6,#01H ;写命令
MOV P6,#0H ;结束写命令
LCALL Delay
MOV P7,#0EH ;开显示,开光标,字符不闪烁
MOV P6,#01H ;写命令
MOV P6,#0H ;结束写命令
LCALL Delay
MOV P7,#06H ;I/D=1,AC自动增1;S=0,整体显示不移动
MOV P6,#01H ;写命令
MOV P6,#0H ;结束写命令
LCALL Delay
MOV P7,#01H ;清除DDRAM,置AC=0
MOV P6,#01H ;写命令
MOV P6,#0H ;结束写命令
LCALL Delay
RET
;延时子程序
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -