📄 bingxing.txt
字号:
主机和从机的通讯采用并行数据传送
主机--从机(输出下显示)主机P2.2接收从机P3.6的电平
a.主机P2.5产生负跳变,P2.3高电平,P0口输出数据
b.从机INT1中断,P0口置高电位,延时,读取P0口数据
d.从机翻译下显示,存放段码
主机--从机(需要上显示数据)
a.主机P2.5产生负跳变,P2.3低电平,P0口输出需要数据
b.从机INT1中断,P0口置高电位,延时,读取P0口数据
c.从机准备主机需要数据,准备好后向,主机发出中断申请
从机--主机(按键按下)从机P3.5接收主机P2.3的电平
a.从机P3.7产生负跳变,P3.6高电平,P0口输出功能键键码
b.主机INT1中断,P0口置高电位,延时,读取P0口数据
从机--主机(回答需要数据)
a.从机P3.7产生负跳变,P3.6低电平,P0口输出显示数据
b.主机INT1中断,P0口置高电位,延时,读取P0口数据
;主机数据发送中断
INT1P:
MOV 30H,A ;保存Acc
PUSH PSW
MOV P0,#0FFH ;P0口高电平
NOP
NOP ;延时
NOP
JB P2.2,INT1P0 ;判断从机请求
MOV R6,P0 ;回答主机需要显示数据
MOV R7,#10H ;数据标志
MOV R6,P0
LJMP INT1PU
INT1P0: MOV R6,P0 ;P0口数据存R6
MOV R7,#01H ;键盘标志置1
INT1PU:
POP PSW
MOV A,30H ;恢复Acc
RETI
;主机
;T0中断
T0P: PUSH PSW
CLR TR0
SETB P2.4 ;恢复P2.4电平
POP PSW
RETI
;接收主机命令中断
INT1P:
MOV 43H,A ;保存Acc
PUSH PSW
CLR P3.3 ;INT1口低电平,忙线作用,即使有中断过来也不响应
MOV P0,#0FFH ;P0口高电平
NOP
NOP ;延时
MOV 46H,P0 ;保存P0
JB P3.5,INT1P0 ;判断主机命令
;需要上显示数据
MOV A,46H
ADD A,#50H
MOV R0,A
MOV A,@R0 ;显示数据
MOV P0,A ;P0口输出数据
CLR P3.6 ;数据标志
CLR P3.7 ;中断申请
MOV TH0,#0FFH ;10uS
MOV TL0,#0F0H ;T0 ,方式1,16位定时器
SETB TR0 ;启动T0
LJMP INT1PU
INT1P0: ;下显示数据
MOV A,46H
SWAP A
ANL A,#0FH ;保留高4字节
ADD A,#50H ;显示数值地址
MOV R1,A ;存显示数值地址
MOV A,46H
ANL A,#0FH ;保留低4字节
MOV @R1,A ;存显示数值
INT1PU: SETB P3.3 ;不忙标志
POP PSW
MOV A,43H ;恢复Acc
RETI
从机
;T0中断
T0P: PUSH PSW
CLR TR0
SETB P3.7
POP PSW
RETI
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -