📄 daima32.asm
字号:
A0 EQU P3.0 ;寄存器选择信号
R/W EQU P3.1 ;读/写选择信号
E1 EQU P3.2 ;使能信号E1
E2 EQU P3.3 ;使能信号E2
;写指令代码子程序:
PRO: CLR A0 ;A0=0
SETB R/W ;R/W=1
PRO1: MOV P1,#0FFH ;P1口置“1”
SETB E1 ;E1=1
MOV A,P1 ;读状态字
CLR E1 ;E1=0
JB ACC.7,PRO1 ;判“忙”标志为“0”否,否再读
CLR R/W ;R/W=0
MOV P1,COM ;写指令代码
SETB E1 ;E1=1
CLR E1 ;E1=0
RET
;写显示数据子程序:
PR1: CLR A0 ;A0=0
SETB R/W ;R/W=1
PR11: MOV P1,#0FFH ;P1口置“1”
SETB E1 ;E1=1
MOV A,P1 ;读状态字
CLR E1 ;E1=0
JB ACC.7,PR11 ;判“忙”标志为“0”否,否再读
SETB A0 ;A0=1
CLR R/W ;R/W=0
MOV P1,DAT ;写数据
SETB E1 ;E1=1
CLR E1 ;E1=0
RET
;读显示数据子程序:
PR2: CLR A0 ;A0=0
SETB R/W ;R/W=1
PR21: MOV P1,#0FFH ;P1口置“1”
SETB E1 ;E1=1
MOV A,P1 ;读状态字
CLR E1 ;E1=0
JB ACC.7,PR21 ;判“忙”标志为“0”否,否再读
SETB A0 ;A0=1
MOV P1,#0FFH ;P1口置“1”
SETB E1 ;E1=1
MOV DAT,P1 ;读数据
CLR E1 ;E1=0
RET
;写指令代码子程序:
PR3: CLR A0 ;A0=0
SETB R/W ;R/W=1
PR31: MOV P1,#0FFH ;P1口置“1”
SETB E2 ;E2=1
MOV A,P1 ;读状态字
CLR E2 ;E2=0
JB ACC.7,PR31 ;判“忙”标志为“0”否,否再读
CLR R/W ;R/W=0
MOV P1,COM ;写指令代码
SETB E2 ;E2=1
CLR E2 ;E2=0
RET
;写显示数据子程序:
PR4: CLR A0 ;A0=0
SETB R/W ;R/W=1
PR41: MOV P1,#0FFH ;P1口置“1”
SETB E2 ;E2=1
MOV A,P1 ;读状态字
CLR E2 ;E2=0
JB ACC.7,PR41 ;判“忙”标志为“0”否,否再读
SETB A0 ;A0=1
CLR R/W ;R/W=0
MOV P1,DAT ;写数据
SETB E2 ;E2=1
CLR E2 ;E2=0
RET
;读显示数据子程序:
PR5: CLR A0 ;A0=0
SETB R/W ;R/W=1
PR51: MOV P1,#0FFH ;P1口置“1”
SETB E2 ;E2=1
MOV A,P1 ;读状态字
CLR E2 ;E2=0
JB ACC.7,PR51 ;判“忙”标志为“0”否,否再读
SETB A0 ;A0=1
MOV P1,#0FFH ;P1口置“0”
SETB E2 ;E2=1
MOV DAT,P1 ;读数据
CLR E2 ;E2=0
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -