功能说明:
LCD 显 示 字 符 串 。 开 机 后 , 从 液 晶 显 示 屏 第 1 行 第 2 个 位 置 开 始 显 示 字 符 串
“Hello!”。
程序:LCD1303.ASM
01 RS bit P3.5
02 RW bit P3.6
03 E bit P3.7
04 LCD EQU P1 引脚定义
05
06 MAIN: ;主程序
07 ACALL INIT_LCD ;调用初始化子程序
08
09 MOV LCD,#81H ;写入显示起始地址
10 ACALL WR_COMM ;调用写指令子程序
11 MOV DPTR,#LINE ;字符串地址送入 DPTR
12 MOV R0,#6 ;字符串的字符数
13 ACALL DISP_LCD ;调用查表子程序
14 JMP $ ;动态停机 主程序
15
16 INIT_LCD: ;LCM 初始化设定
17 MOV LCD,#00000001B ;清屏并光标复位
18 ACALL WR_COMM ;调用写指令子程序
19 MOV LCD,#00111000B;设置 8 位、2 行、5x7 点阵
20 ACALL WR_COMM ;调用写指令子程序
21 MOV LCD,#00001111B ;显示器开,光标允许闪烁
22 ACALL WR_COMM ;调用写指令子程序
23 MOV LCD,#00000110B ;文字不动,光标自动右移
24 ACALL WR_COMM ;调用写指令子程序
25 RET LCM 初始化
26
27 WR_COMM: ;写指令子程序
28 CLR RS ;RS=0,选择指令寄存器
29 CLR RW ;RW=0,选择写模式
30 CLR E ;E=0,禁止读/写 LCM
31 ACALL CHECK_BF ;调用判 LCM 忙碌子程序
32 SETB E ;E=1,允许读/写 LCM
33 RET 写指令子程序
34
35 CHECK_BF: ;判断是否忙碌子程序
36 MOV LCD, #0FFH ;此时不接受外来指令
37 CLR RS ;RS=0,选择指令寄存器
38 SETB RW ;RW=1,选择读模式
39 CLR E ;E=0,禁止读/写 LCM
评论0