;多处理器通讯的写法剖析
;学习多处理通讯的接纳程序
ADDREQU27H
STOPEQU00H
;
ORG0000H
RESTE:MOVR0,#00H
L0:DJNZR0,L0
;
START:LCALLINIT_SIO;跳转到中止初始化程序中去
CLR RI;中止请求位清零
SETBSM2;多机通讯方位1 ,开端接纳地址值
WAIT:JNBRI,WAIT
MOVA,SBUF
CLRRI
CJNEA,#ADDR,WAIT ;检查接纳到的地址是否于自己相同,不行同则据需等候
CLRSM2 ;多机通讯方位0,开端接纳数据值
DWAIT:JNBRI,DWAIT
MOVA,SBUF
CLRRI
SETBSM2;从头置SM2为1,从头开端接纳地址值
CJNEA,#STOP,WAIT;当接纳到的地址值为STOP时,完毕
SJMPSTART ;程序完毕后重新从开端进行运转
INIT_SIO:
MOVTMOD,#00100000B;设置定时器1作业在作业方式2(串行口作业方式)
MOVTH1,#0FDH ;波特率设置为9600b/s
MOVTL1,#0FDH
SETBTR1 ;翻开串行口中止
MOVSCON,#11010000B ;设置串行形式设置寄存器作业在形式3,而且翻开答应接纳位
RET
END