📄 driver2.asm
字号:
; 间接控制方式驱动子程序DRIVE1R2
; 程序口地址设置RS,RW,E1,DATBUS
; 占用内部资源:COM,DAT1,A
;============间接控制方式基础驱动子程序================
; 读状态位子程序
PR0: SETB RS ; RS=1
SETB RW ; R/W=1
PR01: MOV DATBUS,#0FFH ; 置DATBUS口为"1"
SETB E1 ; E1=1
MOV A,DATBUS ; 读状态
CLR E1 ; E1=0
JB ACC.7,PR01 ; 判状态位为"0"否?
RET
;--------------------------------------------
; 写指令代码子程序
PR1: LCALL PR0 ; 写指令入口
CLR RW ; R/W=0
MOV A,COM ; 取指令代码
MOV DATBUS,A ; 写入DATBUS口
SETB E1 ; E1=1
CLR E1 ; E1=0
RET
;----------------------------------------------------
; 写指令参数和数据子程序
PR2: LCALL PR0 ; 写数据入口
CLR RS ; RS=0
CLR RW ; R/W=0
MOV A,DAT1 ; 取指令参数或显示数据
MOV DATBUS,A ; 写入数据
SETB E1 ; E1=1
CLR E1 ; E1=0
RET
;-------------------------------------------
; 读数据子程序
PR3: LCALL PR0 ; 写数据入口
CLR RS ; RS=0
MOV DATBUS,#0FFH ; 置DATBUS口为"1"
SETB E1 ; E1=1
MOV A,DATBUS ; 读数据
CLR E1 ; E1=0
MOV DAT1,A ; 存数据
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -