📄 dais89.asm
字号:
; 文件名:dais89.asm
; CPU P0,P2,P3.6,P3.7测试程序
; 1) 运行本程序应选用Dais-89仿真头
; 2) 运行本程序前应选择CPU类型及定义P3.6、P3.7,具体方法是:
; 点击“设置/仿真模式”菜单,在对话框中将CPU设置为8752/89C52,
; 将P3.6、P3.7定义为I/O口
;=============================================
ORG 0000H
MPIO: MOV R3,#7FH; 置初值
MOV R5,#0FEH
XP0: MOV A,#0FFH ;测试 P3.6,P3.7
ANL A,P3
MOV B,A
MOV A,#0FFH
ANL A,P3
ANL A,B
MOV B,A
XP1: JB B.7,XP3
JB B.6,XP2
;------P3.7,P3.6=00---------
MOV A,R3 ; 取循环值
MOV P0,A ; 送 P0 口
MOV P2,A ; 送 P2 口
RL A ; 移 1 位
MOV R3,A ; 存循环值
SJMP XPS
;------P3.7,P3.6=01---------
XP2: MOV A,R3 ; 取循环值
MOV P0,A ; 送 P0 口
RR A ; 移 1 位
MOV R3,A
JB ACC.3,XPS; 测试循环位
MOV R3,#7FH
SJMP XPS
XP3: JB B.6,XP5
;-------P3.7,P3.6=10--------
MOV A,R5 ; 取循环值
MOV P2,A ; 送 P2 口
RL A ; 移 1 位
MOV R5,A ; 存循环值
JB ACC.4,XPS; 测试循环位
MOV R5,#0FEH ; 置循环初值
SJMP XPS
;-------P3.7,P3.6=11-------
XP5: MOV A,R5 ; 取循环值
MOV P0,A ; 送 P0 口
MOV P2,A ; 送 P2 口
RR A ; 移 1 位
MOV R5,A ; 存循环值
XPS: MOV R2,#20H ; 确定延时常数
ACALL DELY ; 调延时子程序
LJMP XP0 ; 返上继续
DELY: PUSH 02H ; 延时子程序
DEL0: PUSH 02H
DEL1: PUSH 02H
DJNZ R2,$
POP 02H
DJNZ R2,DEL1
POP 02H
DJNZ R2,DEL0
POP 02H
DJNZ R2,DELY
RET ; 返回
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -