基于单片机的rs-232c串行通信接口设计

上传人:aa****6 文档编号:38325453 上传时间:2018-04-30 格式:DOC 页数:12 大小:157KB
返回 下载 相关 举报
基于单片机的rs-232c串行通信接口设计_第1页
第1页 / 共12页
基于单片机的rs-232c串行通信接口设计_第2页
第2页 / 共12页
基于单片机的rs-232c串行通信接口设计_第3页
第3页 / 共12页
基于单片机的rs-232c串行通信接口设计_第4页
第4页 / 共12页
基于单片机的rs-232c串行通信接口设计_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《基于单片机的rs-232c串行通信接口设计》由会员分享,可在线阅读,更多相关《基于单片机的rs-232c串行通信接口设计(12页珍藏版)》请在金锄头文库上搜索。

1、 第 0 页基于单片机的 RS-232C 串行通信接口设计摘要摘要:随着计算机技术特别是单片机技术的发展,单片机的应用领域越来越广泛,单片机在工业控制、数据采集以及仪器仪表自动化等许多领域都起着十分重要的作用。但在实际应用中,在要求响应速度快、实时性强、控制量多的应用场合,单个单片机往往难以胜任,这时使用多个单片机接合 PC 机组成分布式系统是一个比较好的解决方案。这样,单片机的数据通信技术就变得十分重要,在某种程度上说,掌握了单片机的数据通信技术也就是掌握了单片机的核心应用技术。现在单片机及 PC 机在结构、性能和经济上为实现远程串行通信提供了很好的条件,串行通信是指按照逐位顺序传递数据的通

2、信方式,由于仅需三根传输线传送信息且通信距离相对较远,所以在控制领域的现场监测、分布控制等场合有着重要的应用价值。在各种单片机应用系统的设计中,如智能仪器仪表、各类手持设备、GPS 接收器等,常常遇到计算机与外界的信息交换,即通讯。通信的基本方式可分为并行通信与串行通信两种。并行通信是将组成数据的各位同时传送,并通过并行门(如 P1 口等)来实现。在并行通信中,数据传送线的根数与传送的数据位数相等,传送数据速度快,但所占用的传输线位数多。因此并行通信适合短距离通信。串行通信是指数据一位一位地按顺序传送。串行通信通过串行口来实现。在全双工的串行通信中,仅需要一根发送线和一根接收线,串行通信可大大

3、节省传送线路的成本,但数据传送速度慢。因此,串行通信适合于远距离通信。目前,在许多单片机应用系统中,上、下位机分工明确,作为下位机核心器件的单片机往往只负责数据的采集和通信,而上位机通常以基于图形界面的 Windows 系统为操作平台,为便于查询和保存数据,还需要数据库的支持,如在测控系统中使用 SQL Server数据库。现阶段这种应用的核心便是数据通信,它包括单片机和上位机之间、客户端和服务器之间以及客户端和客户端之间的通信,而在单片机和上位机之间的数据通信则是整个系统的基础。单片机和 PC 的通信是通过单片机的串口和 PC 机之间的硬件连接实现。鉴于PC 机具有强大的监控和管理功能,单片

4、机则具有快速以及容易控制的特点,在数据量不大、传输要求不高的情况下,一般都采用给 PC 机配置的 RS-232 标准串行接口COM1、COM2 等相连接来实现应用系统与 PC 机之间的数据交换。1. 总体方案设计PC 机与单片机之间可以由 RS-232C、接口相连,在 PC 机系统内部装有异步通信适配第 1 页器,利用它可以实现异步串行通信。该适配器的核心元件是可编程的 Intel 8250 芯片,它使 PC 机有能力与其他具有标准的 RS-232C 接口的计算机或设备进行通信。而 51 单片机本身具有一个全双工的串行口,因此只要配以电平换换的驱动电路、隔离电路就可以组成一个简单的通信接口。同

5、样,PC 机和单片机之间的通信也分为双机通行与多机通信。数据通信的硬件上采用 3 线制,将单片机和 PC 串口的 3 个引脚(TXD、RXD、GND)分别连在一起,即将 PC 机和单片机的发送数据线 TXD 与接收数据线 RXD 交叉连接,两者的地线 GND 直接相连,而其他信号线如握手信号线均不用,采用软件握手的方式。这样既可以实现预定的任务又可以简化电路设计。PC 机和单片机最简单的连接时零调制三线经济系。这是进行全双工通信所必需的最少线路,因为 51 单片机输入、输出电平为 TTL 电平,但由于单片机的 TTL 逻辑电平和 RS-232 的电气特性完全不同,RS-232 的逻辑 0 电平

6、规定为+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 级中

7、断,此外有通用串行接口、低电压空闲模式及掉电模式。AT89C51相当于将 8051 中的 4KB ROM 换成相应数量的 Flash 存储器,其余结构、供电电压、引脚数量及封装均相同,使用时可直接替换。AT89C51 在内部采用 40 条引脚的双列直插式封装,引脚排列如图 2 所示:TXDRVDGNDTIN TOUTROUT RINGNDRXDTXDGND RS-232C第 2 页图 2 AT89C51 芯片引脚2.2 串口基本结构介绍单片机的串行口的功能是与外部器件进行串行数据通信。串行口电路也称为通用异步收发器(UART) 。从原理上说,一个 UART 包括发送器电路、接收器电路和控制电路

8、。8051 单片机的 UART 已集成在其中,构成一个全双工串口,全双工通信是指同时可以作双向通信,两个即可同时发送、接收,又可同时接收、发送。其示意图如图 3 所示。这个口即可以实现串行异步通信,也可以作为同步移位寄存器使用。全双工通信图 3 全双工通信示意图8051 的串行口通过引脚 RXD(P3.0 串行口数据接收端)和引脚 TXD(P3.1 串行口数据发送端)与外部设备进行串行通信。其中共有两个串口双缓冲寄存器(SBUF) ,一个是发送寄存器,一个是接收寄存器,以便 8051 能以全双工方式进行通信。串行发送时,从片内总线向发送 SBUF 写入数据;串行接收时,从接收 SBUF 向片内

9、总线读出数据。它们都是可寻址的寄存器,但因为发送与接收不能同时进行,所以给这两个寄存器赋一同一地址 99H。发送接收发送接收第 3 页在接收方式下,串行数据通过引脚 RXD 进入,由于在接收寄存器之前还有移位寄存器,从而构成了串行接收的双缓冲结构,以避免在数据接收过程中出现帧重叠错误,即在下一帧数据来时,前一帧数据还没有走。在发送方式下口,串行数据通过引脚 TXD 发出。与接收数据情况不同,发送数据时,由于 CPU 是主动的,不会发生帧重叠错误,因此发送电路就不需要双缓冲结构,这样可以提高数据发送速度。2.3 电平转换电路设计和其他的单片机器件一样,作为单片机的标准外围电路,串口的电平转换也有

10、专用的芯片,但也可以使用三极管自行调整电平匹配。本次设计我主要采用专用芯片进行电平转换的方法。目前较为广泛的是使用集成电路转换器件,如 MC1488、SN75150 芯片可完成 TTL 电平到 EIA 电平的转换,而 MC1489、SN75154 可实现 EIA 电平到 TTL 电平的转换。MAX232 芯片可完成 TTL 和 RS-232C 的双向电平转换。在这里我采用的芯片是 MAX232。如图 4图 4 电平转换芯片 MAX232在电气特性上 RS-232C 采用负逻辑,要求高、低两信号间有较大的幅度,标准规定为:逻辑1:-5-15V ,逻辑0:+5+15V 。而单片机的信号电平与 TT

11、L 电平兼容,逻辑 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 的输

12、入:两路 RS-232 电平的输入引脚13 和 8 引脚,连接 RS-232 的 TXD的输出端口。第 4 页(5)RS-232 的输出:两路 RS-232 电平的输出引脚14 和 7 引脚,连接 RS-232 的 RXD的输出端口。通过 MAX232 的 TTL 和 RS-232 的输入/输出端口,自动地调节了单片机串口的 TTL 电平信号和 RS-232 的串行通信信号的电平匹配。电平转换芯片与单片机的连接电路如下:地址分配和连接:只列出和系统相关的、关键部分的单片机与各个模块管脚的连接和相关的地址分配。MAX232 的 11 引脚:MAX232 的 TTL 电平输入引脚,连接单片机的 T

13、XD,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 机和单片机最简单的连接时零调制三线经济系。这是进行全双工通信所必

14、需的最少线路,因为 51 单片机输入、输出电平为 TTL 电平,但由于单片机的 TTL 逻辑电平和 RS-232 的电气特性完全不同,RS-232 的逻辑 0 电平规定为+5+15V 之间,逻辑 1 电平为-5-15V 之间,因此在将 PC 机和单片机的 TXD 和 RXD 交叉连接时必须进行电平转换,这里我选用的是 MAX232 电平转换芯片。将 PC 机键盘的输入发送给单片机,单片机收到 PC 机发来的数据后,会送统一数据给 PC 机。并在屏幕中显示出来。只要屏幕中显示出来的字符与所键入的字符相同,说明二者之间的通信正常。总串行通信图为图 6 所示第 5 页T1IN11 R1OUT12 T

15、2IN10 R2OUT9T1OUT14 R1IN13 T2OUT7 R2IN8C2+4C2-5C1+1C1-3VS+2 VS-6U1MAX232XTAL218XTAL119ALE30 EA31PSEN29RST9P0.0/AD039 P0.1/AD138 P0.2/AD237 P0.3/AD336 P0.4/AD435 P0.5/AD534 P0.6/AD633 P0.7/AD732P2.7/A1528P2.0/A821 P2.1/A922 P2.2/A1023 P2.3/A1124 P2.4/A1225 P2.5/A1326 P2.6/A1427P1.01 P1.12 P1.23 P1.34

16、 P1.45 P1.56 P1.67 P1.78P3.0/RXD10 P3.1/TXD11 P3.2/INT012 P3.3/INT113 P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115U280C51C122uC222uX1 CRYSTALERRORTXD3RXD2CTS8RTS7DSR6DTR4DCD1RI9P1COMPIMVCCC31uFR1 1kC40.1uFC50.1uFC60.1uC70.1uC8 0.1uVCC2 3 4 5 6 7 8 91RP1RESPACK-8图 6 串行通信电路图3 软件设计将 PC 机键盘的输入发送给单片机,单片机收到 PC 机发来的数据后,会送统一数据给PC 机。并在屏幕中显示出来。只要屏幕中显示出来的字符与所键入的字符相同,说明二者之间的通信正常。3.1 串行通信的实现(1)串行口工作于方式 1;用定时器 1 产生 9600bit/s 的波特率,工作于方式 2。(3)通信协议:PC 机首先发送数据,单片机接收到之后返回

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号