1、w 摘 要 计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯两种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。 RS-232-C 接口 (又称 EIA RS-232-C)是目前最常用的一种串行通讯接口。它是在 1970 年由美国电子工业协会 (EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它是 “ 数据终端设备 (DTE)和数据通讯设备 (DCE)之间串行二进制数据交换接口技术标准 ” 该
2、标准对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。 随着计算机技术尤其是单片微型机技术的发展,人们已越来越多地采用单片机来对一些工业控制系统中如温度、流量和压力等参数进行检测和控制。 PC机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点, 利用MAX232转换芯片实现 PC机的 RS-232串行接口与外部设备进行通信,是许多测控系统中常用的一种通信解决方案。因此如何实现 PC机与单片机之间的通讯具有非常重要的现实意义。 关键词 :串行通讯 ; AT89S52; MAX232 w Abstract The computer and the computer or
3、 between computer and terminal transfer data can use serial communication and parallel communication in two ways. Because of serial communication way has less use of lines, low cost, especially in remote transmission, avoid multiple line characteristics, widely adopted inconsistent. In serial commun
4、ication, communication both adopt a request, make different standard interface of equipment can be easily connected to communicate. RS - 232 - C interface (also called EIA RS - 232 - C) is the most commonly used one kind of serial communication interface. It is in 1970 by the American electronics as
5、sociation (EIA) joint bell system, modem manufacturer and computer terminal manufacturer of jointly formulated for serial communication standards. It is “data a DTE or DCE can send across data communication equipment serial binary data exchange interface between the standard technology standard“ for
6、 each of the pin connector of signal content of codes, various signal level codes. Along with the computer technology, especially the development of single chip, Internet technology. People have increasingly used to some industry single ship controlling system such as temperature, flow and pressure
7、testing and control parameters such as. PC machines have powerful monitoring and management functions, and SCM has rapid and flexible control characteristics.Use MAX232 conversion chip realize the PC RS - 232 serial interface communication with external devices, is used in many measurement and contr
8、ol system of a kind of communication solutions. Therefore, how to realize the PC and the communication between SCM has very important practical significance. Keywords: serial communication; AT89S52; MAX232 w 目录 1 绪论 . 1 1.1 选题背景和意义 . 1 1.2 国内外研究现状 . 1 1.3 研究的主要内容 . 2 2 串口通讯协议 . 3 2.1 串口通讯的概念及背景 . 3
9、2.2 串口通讯的特点 . 3 2.3 串口通讯的应用 . 3 2.4 串口通讯的选择 . 4 2.5 RS-232C 标准介绍 . 5 2.5.1 RS-232C 引脚定义 . 5 2.5.2 RS-232C 电气特性 . 6 2.6 串口通讯原理 . 7 3 串口通讯硬件系统设计 . 11 3.1 AT89S52 单片机的概述 . 11 3.2 AT89S52 单片机存储器 . 13 3.3 定时系统 . 13 3.4 中断系统 . 15 3.4.1 中断的基本概念 . 15 3.4.2 中断源 . 15 3.4.3 中断控制 . 16 3.5 AT89S52 单片机的串行口 . 16 3
10、.6 RS-232C 与 TTL 逻辑电平的转换 . 17 3.7 单片机开发板介绍 . 19 3.8 单片机与 PC 串口通讯的收发原理 . 22 4 串口通讯软件设计 . 23 4.1 单片机 C51 编程介绍 . 23 4.2 Keil C 开发软件及应用 . 23 4.2.1 开发软件介绍 . 23 4.2.2 keil uVision2 软件使用方法 . 24 w 4.3 串口通讯软件流程图 . 30 5 系统运行调试 . 32 5.1 调试助手设置 . 32 5.2 通讯测试 . 33 5.3 调试注意事项 . 34 6 结论 . 35 致谢 . 36 参考文献 . 37 附录一
11、串口通讯程序源代码 . 38 附录二 程序流程图 . 41 1 1 绪论 1.1 选题背景和意义 在实验和工业中,串口通讯是常用的计算机与外部串行设备之间的数据传输通道,同时串口通讯是工业自动化、智能终端、通信管理等领域传统且重要的通讯手段。而 串口通信协议是通信设备通用的通信协议,可以用于获取远程采集设备的数据。 单片机技术自发展以来已走过了近 20 年的发展路程 。以广泛的应用领域拉动,表现出较微处理器更具个性的发展趋势。小到遥电子玩具,大到 航空航天技术等电子行业都有单片机应用的影子。 AT89S52 单片机以其独特的串行通信功能为主、从设备之间的数据传输提供了便利 ,可以通过软件编程来
12、表达到不同的效果,实现各种各样不同的功能,具有灵活性强、可靠性高、可扩展性好等优点,因此串口通讯作为设计课题很有价值。 计算机通信技术越来越成熟,在众多通信实现方案中,串行通行技术有着广泛的应用。尤其是在工业控制领域,微机与微机、微机与外设、微机与分布式下位机等都可以通过 RS232 串行端口互连通信,以实现控制和传输数据等目的。各种智能终端设备都可以通过通讯的方式联接起 来,形成高度的自动化控制集成系统。 1.2 国内外研究现状 在工业控制领域(如 DCS 系统),国内外不少公司开展了这方面的研制开发工作,并取得了成功,已产生出若干性能良好、应用广泛的串行接口总线。如Philips 开发出的
13、一种双向二线串行总线的 I2C 总线、 Intel 的 位总线 、 National Semiconductor Corporation 开发的一种三线同步串行接口总线的 Microwire 总线, 以及美国 Motorola 公司生产的 68 系列单片机内含的两种 串行接口总线的SPI/SCI 总线等。在竞争和发展中,一些企业级串行接口总线可望发展形成新的通用串行接口标准。例如 Philips, 与 DEC 共同开发和制定的 Access 总线就是一种以 I2C总线为基础的开放式串行联接系统。 无论是通信主机发送信息至指定的 RS-232 串口设备或是 RS-232 串口设备发送信息至指定通
14、信主机,都可以经其轻易且正确地传输。如中国 波士电子创2 造了许多种世界上第一的 RS-232/RS-485 产品, 波士的 USB232 是专门为工业通信设 计制造的,特别强调对工业通信的适用性。 1.3 研究的主要内容 本文主要是利用 AT89S52单片机的串口功能单元实现单片机与 PC 机间数据通讯。首先文中介绍了串口通讯协议,在此基础上设计了基于单片机的简易通讯板卡 , 通讯系统硬件和配套的软件,最后,把 PC 机和该板卡通过串口线连接起来,实现两者的数据通讯功能。通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。通过完成一个包括电路设计和程序开发的完整过程,了解开发单片机
15、应用系统的全过程,为今后从事相应打下基础。 3 2 串口通讯协议 2.1 串口通讯的概念及背景 串行接口简称 串口 ,也称串行通信接口(通常指 COM 接口),是采用串行通信方式的扩展接口。 计算机与外界的信息交换称为通信,通信有并行和串行两种方法。并行通信是数据字节的各位同时发送。而串行通信是指数据一位一位的按顺序传送。 串口的出现是在 1980 年前后,数据传输率是 115kbps 230kbps。串口出现的初期是为了实现连接计算机外设的目的,初期串口一般用来连接鼠标 和外置 Modem 以及老式 摄像头 和写字板等设备。串口也可以应用于由于两台计算机(或设备)之间的互联及数据传输。由于串
16、口不支持 热插拔及 传输 速率较低目前部分新主板和大部分便携电脑已开始取消该接口,目前串口多用于工控和测量设备以及部分通信设备中。 2.2 串口通讯的特点 串行通讯的特点是:数据按位传送,最少只需一根传输线即可完成,可大大降低硬件成本,特别适合远距离通信。 但 传输速度较低 。串行通讯的距离可以从几米到几千米。根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。 串口通信具有稳定可靠,成本低廉,软件易实现等优点。 2.3 串口通讯的应用 对于那些与计算机相距不远的人机交换设备和串行存储的外部设备如终端、打印机、逻辑分析仪、磁盘等,采用串行方式交换数据也很普遍。在实时控制和管理方
17、面,采用多台微机处理机组成分级分布控制系统中,各 CPU 之间的通信一般都是串行方式。所以串行接口是微机应用系统常用的接口。许多外设和计算机按串行方式进行通信,这里所说的串行方式,是指外设与接口电路之间的信息传送方式,实际上, CPU 与接口之间仍按并行方式工作。 4 单片机系统中经常使用串口进行外部通讯,因此,串口通讯部分是单片机功能模块极为重要的一部分。早期的 8位单片机,如 Intel 的 MCS-48 系列,并没有在单片机芯片中集成串行通讯模块,使用上受到很大的限制。从 MSC-51系列起,串行通讯模块作为单片机的一个重要功能,被集成到了单片机内部。 Atmel的 AT89S52,其内
18、部集成了一个全双工的串行通讯接口,并提供了四种工作模式。此后在一系列的单片机设计中,都将串行通信模块作为标准配置,部分高档单片机还增加了串口的数量和功能。 因此,串口仍是当前工业控制领域比较广泛的通信方式。 2.4 串口通讯的选择 串行通讯的标准接口存在多种,如 RS-232, RS-485, USB接口, IEEE-1394等 , 它们各有特点 , 应用的领域也各有侧重。 RS-485在传输数据时抗噪声干扰的能力比较强,常用于工业生产领域; USB接口和 IEEE-1394传输速度较快 , 但有些计算机和 操作系统不支持这样的接口; RS-232 是 PC机与通信工业中应用最广泛的一种串行接
19、口; RS-232 被定义为一种在速率串行通讯中增加通讯距离的单端标准。 RS-232-C接口标准出现较早,难免有不足之处, 如 传输距离短,传输速率低、有电平偏移,抗干扰能力差等缺点。但是 经过许多年来 RS-232 器件以及通信技术的改进, RS-232 的通信距离已经大大增加而且 综合其性能、价格和实用性 , 对该系统而言 , 利用 RS-232 进行端口通讯最为合适。 为了实现系统的可靠实时性传输 , 本系统在设计的过程中采用了三线制接法,即 仅采用 RS-2232 端口的地端、接收数据和发送数据三引脚与外部相连。 接线如图 2.1所示。 图 2.1 RS-232端口连接 图 5 2.
20、5 RS-232C标准介绍 串 口 通信接口标准中, RS-232C 接口是目前 最常用的一种 串行通讯接口 。RS-232C 标准的全称是 EIA-RS-232C 标准, EIA 代表美国电子工业协会,RS代表推荐标准, 232 是标识号, C 代表 RS-232 的最新一 次修改。它是在1970 年由 美国 电子工业协会( EIA)联合 贝尔系统 、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的 标准 。 RS-232C 广泛应用于Internet,工业控制电信,金融,终端连接等应用领域。 2.5.1 RS-232C 引脚定义 传统的 RS-232-C 接口标准有 22 根线,
21、采用标准 25 芯 D 型插头座( DB25), 通常插头在 DCE 端,插座在 DTE 端。 后来为了简化串口的线路连接,出现了简化的 9芯 D 型插座( DB9),现在应用中 25芯插头座已很少采用。下图为 DB9 连接器的引脚分布。 图 2.2 DB9 连接器的引脚 图 RS-232C 的 9 芯连接器对应的引脚说明如下图所示。 表 2.1 9 针串行口的针脚功能 表 针脚 功 能 针脚 功 能 1 载波检测 (DCD) 6 数据准备好 (DSR) 2 接收数据 (RXD) 7 请求发送 (RTS) 3 发出数据 (TXD) 8 清除发送 (CTS) 4 数据终端准备好 (DTR) 9
22、振铃指示 (RI) 5 信号地线 (SG) a.联络控制信号线 DSR:数据装置准备好 有效时( ON)状态,表明 MODEM 处于可以使用的状态。 DTR:数据终端准备好 有效时( ON)状态,表明数据终端可以使用。 6 这两个信号有时连到 电源上,一上电就立即有效。这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行通信了,能否开始进行通信要由下面的控制信号决定。 RTS:请求发送 用来表示 DTE 请求 DCE 发送数据,即当终端要发送数据时,使该信号有效( ON 状态),向 MODEM 请求发送。它用来控制 MODEM 是否要进入发送状态。 CTS:允许发送 用来表
23、示 DCE 准备好接收 DTE 发来的数据,是对请求发送信号 RTS 的响应信号。当 MODEM 已准备好接收终端传来的数据,并向前发送时,使该信号有效,通知终端开始沿发送数据线 TxD 发送数据。 DCD: 载波检测 用来表示 DCE 已接通通信链路,告知 DTE 准备接收数据。当本地的 MODEM 收到由通信链路另一端(远地)的 MODEM 送来的载波信号时,使DCD 信号有效,通知终端准备接收,并且由 MODEM 将接收下来的载波信号解调成数字两数据后,沿接收数据线 RxD 送到终端。 RI:振铃指示 当 MODEM 收到交换台送来的振铃呼叫信号时,使该信号有效( ON 状态),通知终端
24、,已被呼叫。 b.数据发送与接收线 TxD:发送数据 通过 TxD 终端将串行数据发送到 MODEM, (DTEDCE) 。 RxD: 接收数据 通过 RxD线终端接收从 MODEM发来的串行数据, (DCEDTE) 。 c.地线 有两根线 SG、 PG 信号地和保护地信号线,无方向。 上述控制信号线何时有效,何时无效的顺序表示了接口信号的传送过程。例如,只有当 DSR 和 DTR 都处于有效( ON)状态时,才能在 DTE 和 DCE 之间进行传送操作。若 DTE 要发送数据,则预先将 DTR 线置成有效 (ON)状态,等 CTS线上收到有效 (ON)状态的回答后,才能在 TxD 线上发送串行数据。 2.5.2 RS-232C 电气特性 在 TxD 和 RxD 上:逻辑 1: -3V -15V 逻辑 0: +3 +15V 在 RTS、 CTS、 DSR、 DTR 和 DCD 等控制线上: 信号有效(接通, ON 状态,正电压): +3V +15V 信号无效(断开, OFF 状态,负电压 ): -3V -15V