单片机之间的串口通信

四、单片机之间的串口通信

利用51的串行口可以实现两个51单片机之间的异步串行通信。接口电平一致的单片机之间串行通信比较简单,只需将两个单片机的发送和接收引脚交叉相接即可,如图5-19所示。

图5-19 双机通信

单片机之间的点对点通信可以采用查询方式,也可以采用中断方式。

【例5-16】如图5-20所示,两个89C51单片机进行点对点双工通信。89C51-A的指拨开关的变化值会通过其TXD发送出去,89C51-B通过RXD接收数据,并将数据通过其P2口显示。同理,89C51-B的指拨开关发生变化时,也会将其发送给89C51-A,并在其P2口显示。试编写程序实现。

图5-20 点对点通信电路图

解:

分析:采用点对点通信,两个单片机功能一致,因此可以采用同样的程序,通过查询和中断方式通信的程序流程图分别如图5-21和图5-22所示。

图5-21 查询方式通信流程图

图5-22 中断方式通信流程图

(1)查询法。

程序清单如下:

(2)中断法。

程序清单如下: