1、 第 1 页 基于单片机的 RS-232C 串行通信接口设计 摘要摘要:随着计算机技术特别是单片机技术的发展,单片机的应用领域越来越广泛,单片 机在工业控制、 数据采集以及仪器仪表自动化等许多领域都起着十分重要的作用。 但在实 际应用中,在要求响应速度快、实时性强、控制量多的应用场合,单个单片机往往难以胜 任,这时使用多个单片机接合 PC 机组成分布式系统是一个比较好的解决方案。这样,单 片机的数据通信技术就变得十分重要, 在某种程度上说, 掌握了单片机的数据通信技术也 就是掌握了单片机的核心应用技术。现在单片机及 PC 机在结构、性能和经济上为实现远 程串行通信提供了很好的条件, 串行通信是
2、指按照逐位顺序传递数据的通信方式, 由于仅 需三根传输线传送信息且通信距离相对较远, 所以在控制领域的现场监测、 分布控制等场 合有着重要的应用价值。 在各种单片机应用系统的设计中,如智能仪器仪表、各类手持设备、GPS 接收器等, 常常遇到计算机与外界的信息交换, 即通讯。 通信的基本方式可分为并行通信与串行通信 两种。 并行通信是将组成数据的各位同时传送,并通过并行门(如 P1 口等)来实现。在并行 通信中,数据传送线的根数与传送的数据位数相等,传送数据速度快,但所占用的传输线 位数多。因此并行通信适合短距离通信。 串行通信是指数据一位一位地按顺序传送。串行通信通过串行口来实现。在全双工的
3、串行通信中,仅需要一根发送线和一根接收线,串行通信可大大节省传送线路的成本,但 数据传送速度慢。因此,串行通信适合于远距离通信。 目前,在许多单片机应用系统中,上、下位机分工明确,作为下位机核心器件的单片 机往往只负责数据的采集和通信, 而上位机通常以基于图形界面的 Windows 系统为操作平 台,为便于查询和保存数据,还需要数据库的支持,如在测控系统中使用 SQL Server 数 据库。 现阶段这种应用的核心便是数据通信,它包括单片机和上位机之间、客户端和服务器 之间以及客户端和客户端之间的通信, 而在单片机和上位机之间的数据通信则是整个系统 的基础。单片机和 PC 的通信是通过单片机的
4、串口和 PC 机之间的硬件连接实现。鉴于 PC 机具有强大的监控和管理功能,单片机则具有快速以及容易控制的特点,在数据量不大、 传输要求不高的情况下,一般都采用给 PC 机配置的 RS-232 标准串行接口 COM1、COM2 等 相连接来实现应用系统与 PC 机之间的数据交换。 1. 总体方案设计 PC 机与单片机之间可以由 RS-232C、 接口相连, 在 PC 机系统内部装有异步通信适配器, 第 2 页 利用它可以实现异步串行通信。该适配器的核心元件是可编程的 Intel 8250 芯片,它使 PC 机有能力与其他具有标准的 RS-232C 接口的计算机或设备进行通信。 而 51 单片机
5、本身 具有一个全双工的串行口, 因此只要配以电平换换的驱动电路、 隔离电路就可以组成一个 简单的通信接口。同样,PC 机和单片机之间的通信也分为双机通行与多机通信。 数据通信的硬件上采用 3 线制,将单片机和 PC 串口的 3 个引脚(TXD、RXD、GND)分 别连在一起,即将 PC 机和单片机的发送数据线 TXD 与接收数据线 RXD 交叉连接,两者的 地线 GND 直接相连,而其他信号线如握手信号线均不用,采用软件握手的方式。这样既可 以实现预定的任务又可以简化电路设计。 PC 机和单片机最简单的连接时零调制三线经济系。 这是进行全双工通信所必需的最少 线路, 因为 51 单片机输入、
6、输出电平为 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 存储器,其余结构、供电电压、引脚 数量及封装均相同,使用时可直接替换。AT89C51