⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 液晶驱动子程序-pr1,pr2,pr3,pr4,pr5,pr6.asm

📁 红外抄表器.rar
💻 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 + -