📄 液晶驱动子程序-pr1,pr2,pr3,pr4,pr5,pr6.asm
字号:
;##########液晶驱动子程序-PR1,PR2,PR3,PR4,PR5,PR6################
; 直接驱动子程序由6个子程序组成:
; 1. 写指令代码子程序(左屏E1)PR1
; 2. 写显示数据子程序(左屏E1)PR2
; 3. 读显示数据子程序(左屏E1)PR3
; 4. 写指令代码子程序(右屏E2)PR4
; 5. 写显示数据子程序(右屏E2)PR5
; 6. 读显示数据子程序(右屏E2)PR6
; 占用内部寄存器:A,COM:液晶模块指令缓存,DAT1:液晶数据缓存
; 占用系统接口资源: CWADD1,CRADD1,DWADD1,DRADD1,CWADD2,CRADD2,DWADD2,DRADD2
; 入口参数:COM 或 DAT1
; 出口参数: 无
;需调用子程序:无
;###############################################################
;------------写指令子程序(E1)-------------------------
PR1: PUSH DPL
PUSH DPH
MOV DPTR,#CRADD1 ;设置读状态字地址 地
PR11: MOVX A,@DPTR ;读状态字
JB ACC.7,PR11 ;判"忙"标志为"0"否, 否再读
MOV DPTR,#CWADD1 ;设置写指令代码地址
MOV A,COM ;取指令代码
MOVX @DPTR,A ;写指令代码
POP DPH
POP DPL
RET
;=============写数据子程序(E1)===========================
PR2: PUSH DPL
PUSH DPH
MOV DPTR,#CRADD1 ;设置读状态字地址
PR21: MOVX A,@DPTR ;读状态字
JB ACC.7,PR21 ;判"忙"标志为"0"否, 否再读
MOV DPTR,#DWADD1 ;设置写显示数据地址
MOV A,DAT1 ;取数据
MOVX @DPTR,A ;写数据
POP DPH
POP DPL
RET
;=============读数据子程序(E1)===========================
PR3: PUSH DPL
PUSH DPH
MOV DPTR,#CRADD1 ;设置读状态字地址
PR31: MOVX A,@DPTR ;读状态字
JB ACC.7,PR31 ;判"忙"标志为"0"否, 否再读
MOV DPTR,#DRADD1 ;设置读显示数据地址
MOVX A,@DPTR ;读数据
MOV DAT1,A ;存数据
POP DPH
POP DPL
RET
;=============写指令子程序(E2)===========================
PR4: PUSH DPL
PUSH DPH
MOV DPTR,#CRADD2 ;设置读状态字地址
PR41: MOVX A,@DPTR ;读状态字
JB ACC.7,PR41 ;判"忙"标志为"0"否, 否再读
MOV DPTR,#CWADD2 ;设置写指令代码地址
MOV A,COM ;取指令代码
MOVX @DPTR,A ;写指令代码
POP DPH
POP DPL
RET
;=============写数据子程序(E2)===========================
PR5: PUSH DPL
PUSH DPH
MOV DPTR,#CRADD2 ;设置读状态字地址
PR51: MOVX A,@DPTR ;读状态字
JB ACC.7,PR51 ;判"忙"标志为"0"否, 否再读
MOV DPTR,#DWADD2 ;设置写显示数据地址
MOV A,DAT1 ;取数据
MOVX @DPTR,A ;写数据
POP DPH
POP DPL
RET
;=============读数据子程序(E2)===========================
PR6: PUSH DPL
PUSH DPH
MOV DPTR,#CRADD2 ;设置读状态字地址
PR61: MOVX A,@DPTR ;读状态字
JB ACC.7,PR61 ;判"忙"标志为"0"否, 否再读
MOV DPTR,#DRADD2 ;设置读显示数据地址
MOVX A,@DPTR ;读数据
MOV DAT1,A ;存数据
POP DPH
POP DPL
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -