1、 1 目目 录录 一、 引言. 2 二、 方案设计. 错误错误!未定义书签。未定义书签。 1. 方案一 错误错误!未定义书签。未定义书签。 2方案二 . 3 三、总体设计 4 1.单片机串行口通信 .5 2. MAX232 芯片. 5 五、软件设计 5 六、整体电路设计 6 七、结论 6 八、附录 7 1、发送程序 7 2、接收程序 8 3、整体电路图 9 九、参考文献 错误错误! !未定义书签。未定义书签。 2 双机之间的串行通信设计双机之间的串行通信设计 一、一、 引言引言 由于 MCS51 系列单片机具有性能稳定、工作可靠、价格低廉等特点, 因此其应用相当广泛。一个 MCS51 系列的单
2、片机(如 Atmel89c*)内部包含有 RAM、FLASH ROM、两个或者三个 16 位的定时器/计数器、一个通用异步串行通信 控制器(UART)等多种资源。在这种情况下,一个系统中就使用了两个或两个以 上的单片机,而单片机之间就要通过互连来进行数据通信。MCS51 系列的单片机 (以下简称单片机)都带有串口,利用串口进行互连通信极为方便,其各种连接 方式在许多书籍和资料上都有介绍,在此不再重述。但如果系统要求扩充的资源 是对外连接的串口,或对相互之间的数据传送有一定的速度要求,则单片机的串 口就不能用作系统内两单片机的通信接口了。所幸的是,单片机的并行端口也能 相互连接来进行数据通信。根
3、据单片机端口内部结构的特点,这些端口的端口线 可以直接相连, 从而使两单片机之间并行通信接口的实现不用另外的硬件电路设 备。 二、二、 方案设计方案设计 1 1 方案一方案一 本方案采用单片机 AT89C51 作为软件程序的载体,并采用并行通信方式。并 行通信是指数据各位同时并行传送的通信方式。 如果只需要一个单片机向另一 个单片机传送数据,则可以采用单向并行通信接口方式,这种方式较为简单。单 片机 A 为数据发送方,单片机 B 为数据接收方,8 位端口可以是 P03 的任何一 个。数据传送的流程是:单片机 A 将数据送到端口后,通过 STB 信号中断单片机 B。单片机 B 进入中断并从端口读
4、取数据,读完后,在 LED 灯上显示。原理图如 图 1-1。 图 1-1 2 2、方案二方案二 3 本次设计,对于两片 89C51,采用 RS232 进行双机通信。发送方的数据由串 行口 TXD 段输出, 经过电平转换芯片 MAX232 将 TTL 电平转换为 RS232 电平输出, 经过传输线将信号传送到接收端。接收方也使用 MAX232 芯片进行电平转换后, 信号到达接收方串行口的接收端。接受方接收后,在数码管上显示接收的信息。 软件部分,通过通信协议进行发送接收,主机先送 AAH 给从机,当从机接收到 AAH 后,向主机回答 BBH。主机收到 BBH 后就把数码表 TAB16中的 10
5、个数据送 给从机,并发送检验和。从机收到 16 个数据并计算接收到数据的检验和,与主 机发送来的检验和进行比较,若检验和相同则发送 00H 给主机;否则发送 FFH 给主机,重新接受。从机收到 16 个正确数据后送到一个数码管显示。如图 1-2 图 1-2 3 3 方案论证方案论证 方案一中的传输的稳定性明显不如的方案二中采用串行方式。由于有多根传输线并行传输 数据, 因此传送速度快、 通信速率高。 一般而言, 串行通信的传送速度明显将低于并行通信。 但当多位数据远程传输时, 传输线路的开销就成为突出问题。 由于串行通信只需一对传输线, 并且可以利用电话线等有通信信道作为传输介质, 因而可以大
6、大降低传输线路的成本。 所以 此报告结合实际,采用串行通信方式,即方案二。很容易看出,采用方案二,电路比较的简 单稳定,将接受到的数据显示出来。 三、三、 总体设计总体设计 最终设计电路如下图 3 所示,发送方的数据由串行口 TXD 段输出,经过电平转换芯片 MAX232 将 TTL 电平转换为 RS232 电平输出,经过传输线将信号传送到接收端。接收方也使 用 MAX232 芯片进行电平转换后,信号到达接收方串行口的接收端。接受方接收后,通过 P1 口在数码管上显示接收的信息。 四、四、 单元电路(或软件模块)设计单元电路(或软件模块)设计 1.1.单片机串行通信功能单片机串行通信功能 4 图 1-4 AT89C51 51 单片机的串行接口是一个全双工的接口,它可以作为 UART(通用异步接 受和发送器)用,也可以作为同步移位寄存器用。数据缓冲器(SBUF)接受或发 送的数据都要先送到 SBUF 缓存。有两个,一个缓存,另一个接受,用同一直接 地址 99H,发送时用指令将数据送到 SBUF 即可启动发送;接收时用指令将 SBUF 中接收到的数据