SM2 这个标志位很重要,从机是否接收数据,就取决于SM2是否=0
SM2=0就接收数据!
流程图如下:
TB8一开始=1 ,表示主机发送的是地址信息
发送完地址信息就等待中断,因此
进入中断服务程序后,先把发送中断标志TI清零
既然能进入中断服务程序,说明地址已经发送完了
接着就把TB8清零,表示要发送数据了,TB8是在SCON寄存器中
启动发送,循环10次,把数据发生完,恢复现场,返回主程序
先看主机发送的汇编程序:
接上页:
注意第二次中断的时候
又一次对DB8清零:
对应的C语言程序:
中断服务函数如下:
从机接收数据的汇编语言程序:
从机收到数据的中断子程序:(汇编语言)
对应的从机接受主函数(C语言)