当前位置:文档之家› 基于单片机的RS-C串行通信接口设计

基于单片机的RS-C串行通信接口设计

基于单片机的RS-232C串行通信接口设计课程设计任务书课程名称专业综合课程设计院(系)专业课程设计时间: 2011 年1 月3 日至2011 年1 月14 日课程设计的内容及要求:利用WAVE仿真器、8051 单片机开发基于单片机的RS-232C串行通信系统,实现单片机与PC机的通讯,要求实现数据收发功能.具体要求如下:(1)按以上要求制定设计方案,并绘制出系统工作框图;(2)按要求设计单片机系统,给出电路原理图;(3)用仿真器及单片机系统和PC机进行程序设计与调试;(4)接受PC机发送数据,并将其会发给PC机;指导教师年月日负责教师年月日学生签字年月日目录0. 前言 (1)..........1. 总体方案设计 (2)2. 硬件电路的设计 (2)2.1单片机介绍 (2)2.2串口基本结构介绍 (3)2.3电平转换电路设计 (4)2.4整体电路设计 (5)3 软件设计 (6)3.1串行通信的实现 (6)3.2流程框图 (6)4.联合调试 (7)5. 课设小结及进一步设想 (7)参考文献 (9)附录I 元件清单 (10)附录II 整体电路图 (11)附录III 源程序清单 (12)杨毅沈阳航空航天大学自动化学院摘要:随着计算机技术特别是单片机技术的发展,单片机的应用领域越来越广泛,单片机在工业控制、数据采集以及仪器仪表自动化等许多领域都起着十分重要的作用。

但在实际应用中,在要求响应速度快、实时性强、控制量多的应用场合,单个单片机往往难以胜任,这时使用多个单片机接合PC 机组成分布式系统是一个比较好的解决方案。

这样,单片机的数据通信技术就变得十分重要,在某种程度上说,掌握了单片机的数据通信技术也就是掌握了单片机的核心应用技术。

现在单片机及PC机在结构、性能和经济上为实现远程串行通信提供了很好的条件,串行通信是指按照逐位顺序传递数据的通信方式,由于仅需三根传输线传送信息且通信距离相对较远,所以在控制领域的现场监测、分布控制等场合有着重要的应用价值。

关键字:单片机、PC机、串行口、通信0. 前言在各种单片机应用系统的设计中,如智能仪器仪表、各类手持设备、GPS接收器等,常常遇到计算机与外界的信息交换,即通讯。

通信的基本方式可分为并行通信与串行通信两种。

并行通信是将组成数据的各位同时传送,并通过并行门(如P1口等)来实现。

在并行通信中,数据传送线的根数与传送的数据位数相等,传送数据速度快,但所占用的传输线位数多。

因此并行通信适合短距离通信。

串行通信是指数据一位一位地按顺序传送。

串行通信通过串行口来实现。

在全双工的串行通信中,仅需要一根发送线和一根接收线,串行通信可大大节省传送线路的成本,但数据传送速度慢。

因此,串行通信适合于远距离通信。

目前,在许多单片机应用系统中,上、下位机分工明确,作为下位机核心器件的单片机往往只负责数据的采集和通信,而上位机通常以基于图形界面的Windows 系统为操作平台,为便于查询和保存数据,还需要数据库的支持,如在测控系统中使用SQL Server数据库。

现阶段这种应用的核心便是数据通信,它包括单片机和上位机之间、客户端和服务器之间以及客户端和客户端之间的通信,而在单片机和上位机之间的数据通信则是整个系统的基础。

单片机和PC的通信是通过单片机的串口和PC机之间的硬件连接实现。

鉴于PC 机具有强大的监控和管理功能,单片机则具有快速以及容易控制的特点,在数据量不大、传输要求不高的情况下,一般都采用给PC机配置的RS-232标准串行接口COM1、COM2等1. 总体方案设计PC 机与单片机之间可以由RS-232C、接口相连,在PC机系统内部装有异步通信适配器,利用它可以实现异步串行通信。

该适配器的核心元件是可编程的Intel 8250 芯片,它使PC 机有能力与其他具有标准的RS-232C 接口的计算机或设备进行通信。

而51 单片机本身具有一个全双工的串行口,因此只要配以电平换换的驱动电路、隔离电路就可以组成一个简单的通信接口。

同样,PC机和单片机之间的通信也分为双机通行与多机通信。

数据通信的硬件上采用3 线制,将单片机和PC串口的3 个引脚(TXD、RXD、GND)分别连在一起,即将PC机和单片机的发送数据线TXD 与接收数据线RXD交叉连接,两者的地线GND 直接相连,而其他信号线如握手信号线均不用,采用软件握手的方式。

这样既可以实现预定的任务又可以简化电路设计。

PC机和单片机最简单的连接时零调制三线经济系。

这是进行全双工通信所必需的最少线路,因为51 单片机输入、输出电平为TTL电平,但由于单片机的TTL逻辑电平和RS-232的电气特性完全不同,RS-232的逻辑0 电平规定为+5~+15V之间,逻辑1 电平为-5~-15V之间,因此在将PC 机和单片机的TXD和RXD交叉连接时必须进行电平转换,这里我选用的是MAX232 电平转换芯片。

其原理框图为图1图1 串口通信原理图2. 硬件电路的设计2.1 单片机介绍标准型89 系列单片机是与MCS-51系列单片机兼容的。

在内部含有4KB 或8KB可重复编程的Flash存储器,可进行1000 次擦写操作。

全静态工作为0-33MHz ,有3 级程序存储器加密锁定,内含有128-256 字节的RAM、32条可编程的I/O 端口、2-3个16位定时器/计数器,6-8级中断,此外有通用串行接口、低电压空闲模式及掉电模式。

AT89C51相当于将8051 中的4KB ROM换成相应数量的Flash 存储器,其余结构、供电电压、引脚图2 AT89C51芯片引脚2.2串口基本结构介绍单片机的串行口的功能是与外部器件进行串行数据通信。

串行口电路也称为通用异步收发器(UART)。

从原理上说,一个UART包括发送器电路、接收器电路和控制电路。

8051 单片机的UART已集成在其中,构成一个全双工串口,全双工通信是指同时可以作双向通信,两个即可同时发送、接收,又可同时接收、发送。

其示意图如图3 所示。

这个口即可以实现串行异步通信,也可以作为同步移位寄存器使用。

图3 全双工通信示意图8051的串行口通过引脚RXD(P3.0串行口数据接收端)和引脚TXD(P3.1 串行口数据发送端)与外部设备进行串行通信。

其中共有两个串口双缓冲寄存器(SBUF),一个是发送寄存器,一个是接收寄存器,以便8051 能以全双工方式进行通信。

串行发送时,从片内总线向发送SBUF写入数据;串行接收时,从接收SBUF向片内总线读出数据。

它们都是在接收方式下,串行数据通过引脚RXD进入,由于在接收寄存器之前还有移位寄存器,从而构成了串行接收的双缓冲结构,以避免在数据接收过程中出现帧重叠错误,即在下一帧数据来时,前一帧数据还没有走。

在发送方式下口,串行数据通过引脚TXD发出。

与接收数据情况不同,发送数据时,由于CPU是主动的,不会发生帧重叠错误,因此发送电路就不需要双缓冲结构,这样可以提高数据发送速度。

2.3电平转换电路设计和其他的单片机器件一样,作为单片机的标准外围电路,串口的电平转换也有专用的芯片,但也可以使用三极管自行调整电平匹配。

本次设计我主要采用专用芯片进行电平转换的方法。

目前较为广泛的是使用集成电路转换器件,如MC1488、SN75150 芯片可完成TTL电平到EIA 电平的转换,而MC1489、SN75154可实现EIA 电平到TTL电平的转换。

MAX232芯片可完成TTL和RS-232C的双向电平转换。

在这里我采用的芯片是MAX232。

如图4图4 电平转换芯片MAX232在电气特性上RS-232C采用负逻辑,要求高、低两信号间有较大的幅度,标准规定为:逻辑‘ 1':-5~-15V ,逻辑‘ 0':+5~+15V 。

而单片机的信号电平与TTL电平兼容,逻辑1大于+2.4V,逻辑0为0.4V以下。

很显然,RS-232C信号电平与TTL电平不匹配,为了实现两者的连接,必须进行电平转换。

MAX232C为单一+5V供电,内置自升压电平转换电路,一个芯片能同时完成发送转换和接收转换的双重功能。

MAX232 的引脚主要为5 个部分:1)外接电容:有5 个外接电容、进行电压匹配和电源去耦(2)TTL的输入:电路TTL电平的输入引脚——11 和10 引脚,连接单片机的TXD 输出端口。

(3)TTL的输出:电路TTL电平的输出引脚——12 和9 引脚,连接单片机的RXD输出端口。

(4)RS-232的输入:两路RS-232电平的输入引脚——13 和8 引脚,连接RS-232的TXD的输出端口。

(5)RS-232的输出:两路RS-232电平的输出引脚——14 和7 引脚,连接RS-232的RXD的输出端口。

通过MAX232 的TTL和RS-232 的输入/输出端口,自动地调节了单片机串口的TTL 电平信号和RS-232的串行通信信号的电平匹配。

电平转换芯片与单片机的连接电路如下:地址分配和连接:只列出和系统相关的、关键部分的单片机与各个模块管脚的连接和相关的地址分配。

MAX232的11引脚:MAX232 的TTL电平输入引脚,连接单片机的TXD,TTL串口输入信号。

MAX232 的12 引脚:MAX232 的TTL电平输出引脚,连接单片机的RXD、TTL串口输入信号。

MAX232的14引脚:MAX232 的RS-232电平输出引脚,连接RS-232的RXD,RS-232的串口输入信号。

MAX232 的13 引脚:MAX232 的RS-232电平输入引脚,连接RS-232 的TXD,RS-232的串口输出信号。

MAX232 和单片机串口连接的电路如图5。

图5 MAX232 和单片机串口连接电路图2.4整体电路设计PC机和单片机最简单的连接时零调制三线经济系。

这是进行全双工通信所必需的最少线路,因为51 单片机输入、输出电平为TTL电平,但由于单片机的TTL逻辑电平和RS-232的电气特性完全不同,RS-232的逻辑0 电平规定为+5~+15V之间,逻辑1电平为-5~-15V之间,因此在将PC 机和单片机的TXD和RXD交叉连接时必须进行电平转换,这里我选用的是MAX232 电平转换芯片。

将PC机键盘的输入发送给单片机,单片机收到PC 机发来的数据后,会送统一数据给PC机。

并在屏幕中显示出来。

只要屏幕中显示出来的字符与所键入的字符相同,说明二者之间的通信正常。

总串行通信图为图6 所示图6 串行通信电路图3 软件设计将PC 机键盘的输入发送给单片机,单片机收到PC 机发来的数据后,会送统一数据给PC机。

并在屏幕中显示出来。

只要屏幕中显示出来的字符与所键入的字符相同,说明二者之间的通信正常。

3.1 串行通信的实现(1)串行口工作于方式1;用定时器1 产生9600bit/s 的波特率,工作于方式2。

相关主题