基于AT89C51应用系统的串行通信设计

2007-03-09 19:03:27来源: 互联网
1 引 言 在红外成像技术的电力设备状态检测系统中,基于AT89C51单片机的应用系统,采用美国雷态公司的型号为3iLRL3的非接触式红外测温仪.该测温仪采用的是RS232C串行通信标准接口,该接口在很多通信设备中通用,目前与PC机的直接串行通信也是RS 232C接口。尽管RS232C性能指标并非很好,但还是有广泛的市场支持。串行通信技术在测控系统中占有很重要的地位,只用三根线.就可以方便的在2个数字设备之间进行信息的交换,实现全双工的传送数据,硬件成本低.而且通用性好。 [b]2 串行通信的硬件设计 [/b] 在所开发的系统中.红外测温仪将检测电力没备的工作和环境温度,通过RS 232C串口传给单片机,同时由单片机控制检测装置的在线工作组态,红外检测装置的工作组态的制订和选择是由上位PC机来完成的,这样,以单片机为核心组成的控制电路是数据的中转站,上位PC机下传红外测温仪的在线工作组态.上传红外测温仪的检测的电力设备的在线工作温度.以诊断电力设备的工作状态。在这里单片机与PC机的串行通信接口还是RS 232C的标准通信。AT89C51单片机仅有一个串口,这就要解决另一个串口外扩问题,系统利用的通用串行通信接口芯片8251A来扩展。该系统的串行通信的硬件电路如图1所示。 RS-232是EIA(Electronics Industries Association)电平.信号电平采用负逻辑,逻辑"1"=一12V,逻辑"0"=+12 V。这与单片机的TTL信号电平不兼容,所以RS232C与89C51单片机的串口RXD(串行接收口)和TXD(串行发送口)不能直接连接,需要跨接一个转换器在RS232C与TTL电路之间进行电平转换。市场上电平转换的芯片很多,如早期广泛使用MCl488和MCl489,MC1488是接收TTL电平.输出RS 232C电平.MC1489是接收RS 232C电平,输出TTL电平,该电平转换接口的不便之处是需要%26;#177;12 V工作电压,并且功耗较大.不适用于低功耗的系统。 所以系统利用了MAXIM公司生产的MAX232实现2种电平之间的转换.其主要优点有:芯片内部有一个电压转换器,可以把输入的+5 V工作电压转换为RS 232C接口所需的%26;#177;l 2 V电压;同时可以实现2路2种电平的双向转换.在该系统中可代替2片MCl488和2片MCl489,外接1个5 V的电源,而不需像MCl488和MCl489那样外接%26;#177;12 V电源,所以电路简单,提高性能。 在系统中,红外测温仪与PC机2个串行口,而89C51只有1个串口,利用可编程通用串行接口芯片8251A实现与上位Pc机通信,由于8251A串口芯片的片选端CS接到74LS138译码器的Y2.因此8251A的口地址为OA000H,RXCLK和TXCLK接收和发送时钟都连接51的T1口,利用T1作为波特率发生器[1]。 [b]3 软件设计 [/b] 红外测温仪的串口通过MAX232直接与89C15连接,所以红外扫描传感头按给定的扫描策略扫描电力设备,读入温度扫描信号,做最大值、最小值、平均值及异常剔除处理,单片机记录扫描时间和温度值,等待PC机命令.向PC机发送数据,发送数据流程如图2所示。红外传感器通过Pc机下传的在线工作组态控制检测电力设备的状态,其接收数据的流程如图3所示。单片机与PC机之间的串行通信通过825lA,所以在通信程序中首先对825lA进行初始化编程,设置串口通信方式,确定通信协议。这些是通信程序设计的关键点。 (1)串口的工作方式设置 通过对单片机的串口控制寄存器(SCON)的设置来完成,由于采用一帧11位的数据格式,所以89C51的串口的工作方式只能设置成方式2和方式3,数据传输的波特率有定时器控制,本系统采用方式3,单片机的串行接收的l帧数据中,奇偶校验位由SCON的TB8和RB8(第9位数据)来完成校验功能。 (2)串口波特率的设定 通过此公式的计算可以进一步验证在设计系统选用的晶振的频率为11.0592 MHz时计算出来的T1初值没有误差。 (3)握手信号的规定 请求信号定为FFH、应答信号定为FEH、错误信号定为FDH、结束信号定为FCH。 (4)数据传送方式 利用RS 232C的2根传输线实现全双工的发送和接收数据。 (5)通信方式 异步通信方式,以字为单位传送数据,由于发送与接收双方使用各自的时钟,所以在异步通信中严格规定数据帧的格式。 (6)数据帧的格式 一帧数据为11位,包括起始位、数据位、奇偶检验位、停止位,数据格式如下[2]: 所以8251A初始化方式控制字为7DH。 PC机采用Visual basic编程,VB支持面向对象的程序设计,具有结构化的事件驱动编程模式并可以使用无限扩增的控件,而且可以十分简便地做出良好的人机界面。在标准的串口通信方面,VB提供了具有强大的通信控件MSCOMM,文件名为MSCOMM.VBX。该控件可设置串行 通信的数据发送和接收,对串口状态及串行通信的信息格式和协议进行设置。在发送或接收数据的过程中触发onComm事件,通过编程访问CommEvent属性了解通信事件的类型,分别各自的处理。VB串行初始化通信软件如下[3]: 4 结 语 串行通信技术目前在很多测控系统中广泛被使用,而且远距离的通信使用的更为突出,本系统的RS 232C只是用于近距离的通信,在改进的系统中使用RS 485可以扩大传输距离,并是系统稳定性增强。

关键字:串行通信

编辑: 引用地址:http://www.eeworld.com.cn/gykz/GYTX/200703/480.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
串行通信

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved