7.4.5  双机串行接口通信

7.4.5 双机串行接口通信

MCS-51系列单片机的串行接口主要用来进行串行接口数据通信,除此以外,还可以用来非常方便地扩展并行I/O接口,可以扩充输入或者输出。

取两机串行接口都工作于方式1,由定时器T1和SMOD控制其波特率,设T1工作于定时模式方式2,SMOD取0,取波特率为4800bit/s。根据波特率公式计算:

波特率=2SMOD/32×fosc/[12×(28-X)]

式中 fosc——单片机时钟频率;

X——定时器初值。

可以得到T1计数初值为FAH(此处为了精确,取fosc=11.0592MHz)。

1.应用电路

双机串行接口通信电路如图7-56所示。U1、U2两个单片机的P3.0和P3.1引脚反接。U1的P1接口接一个8位的拨码开关,U2的P2接口接一排发光二极管。

978-7-111-46831-8-Chapter07-161.jpg

图7-56 双机串行接口通信电路图(见彩插)

2.程序设计

(1)程序功能 单片机U1读取其P1接口开关值,送至串行接口发送,单片机U2接收数据后送至其P2接口驱动发光二极管进行显示。

(2)程序流程图 双机串行接口通信流程如图7-57所示。

978-7-111-46831-8-Chapter07-162.jpg

图7-57 双机串行接口通信流程图

(3)汇编参考程序

978-7-111-46831-8-Chapter07-163.jpg

978-7-111-46831-8-Chapter07-164.jpg