基于单片机89C51的轨道电路数据采集系统

(整期优先)网络出版时间:2018-12-22
/ 2

基于单片机89C51的轨道电路数据采集系统

夏国苗李志勇

浙江金温铁道开发有限公司325000

摘要:随着金温铁路信号设备的快速发展,数据采集势必在将得到越来越多的应用,而金温货线信号设备管内大部分车站都是6502系统,且未安装微机监测设备,繁琐的模拟量测试,导致工作效率大大降低,且在人工测试读数势必存在较大误差。若全线安装微机监测设备,成本将巨大,性价比不高,毕竟金温货线管内小站大多只有两三股道。因此本人以采集480轨道电路电压值为例,设计了一款简易且成本低廉的单片机采集系统。即基于单片机89C51的轨道电路数据采集系统,利用了MCS51产品的优越性能和经济性,设计出的具有相当的可行性数据采集系统。单片机采用AT89C51,模数转换使用AD0809,串口通讯芯片RS-232(MAX232CPE)。核心程序由C程序编写,分为显示子程序,A/D转化子程序,串口通讯协议,主函数采用调用各子程序运行。在PC端采用VB6.0的控件的功能,实现数据的采集和记录,生成的文本文件直观的体现了轨道电路电压值。

关键词:数据采集.单片机.轨道电路

一总体设计:

AT89C51是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89C51为众多嵌入式控制应用系统提供高灵活、有效的解决方案。

控制系统采用AT89C51单片机,A/D转换采用ADC0809.系统除能确保实现要求的功能外,还可以方便地进行其它功能的扩展.数据采集系统设计方案框图如图1.1:

图1.1系统总体设计图

1.1电路设计:

电路分为三个模块:稳压电源模块,系统主体模块,和串口通讯电路。电路由A/D转换、数据处理及显示控制等组成,电路原理图如图1.2所示。A/D转换由集成电路0809完成,0809具有8路模拟输入端口,地址线(23~25脚)可决定对哪一路模拟输入作A/D转换。22脚为地址锁存控制,当输入高电平时,对地址信号进行锁存。6脚为测试控制,当输入一个2μs宽高电平脉冲时,就开始A/D转换。7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平。9脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从端口输出。10脚为0809的时钟输入端,连接至单片机30脚,而不通过分频器14024。单片机的P1口用于连接RT1602C(DB0—DB7),P3.4—P3.6用于连接RT1602C(RS、RW、E)。P0端口作A/D转换数据读入用,P2端口用作0809的A/D转换控制。

根据自己的设计图纸焊制了简易的电路板,即实验板电路。采用的是排线连接为主,提高电路板的调试的时候的灵活性,可以避免焊接上错误引起不必要的麻烦,板上还外加了单片机的烧入口为编程调试时提供方便。如图1.3所示:

1.2PC采集端:

主要功能:实现与实验板的通讯,采集和记录实时数据(可将采集数据保存到一个TXT文件中),对不同波特路的单片机采集,实现多串口通讯,也可以定时发送。

二.硬件部分

2.1A/D转化功能实现

在微机过程控制和数据采集等系统中,经常要对一些过程参数进行测量和控制,这些参数往往是连续变化的物理量,如电压、温度,压力,流量,速度和位移等。这里所指的连续变化即数值是随时间连续可变的,通常称这些物理量为模拟量,然而计算机本身所能识别和处理的都是数字量。这些模拟量在进入计算机之前必须转换称二进制数码表示的数字信号。能够把模拟量变成数字量的器件模数转换器(A/D)。本系统主要是

ADC0809是CMOS的8位A/D转换器,片内有8路模拟开关,可控制8个模拟量中的一个进入转换器中。从外部模拟信号输入,通过ADC0809转换,输出数字信号.ADC0809的管脚图如图2.1.

1.VCC,V+接电源+5V

2.IN0~IN7模拟输入端

3.D0~D7数字输出端

4.C,B,A采样通道选择

5.ALE地址锁存控制端

6.START测试控制端

7.EOC结束标志位

8.OE数据输出允许控制端

9.CLOCK时钟输入端

10.GND,V-接地端图

2.1ADC0809的管脚图

2.2ADC0809与AT89C51管脚接线原理

A/D转换由集成电路0809完成,0809具有8路模拟输入端口,地址线(23~25脚)可决定对哪一路模拟输入作A/D转换.22脚为地址锁存控制,当输入高电平时,对地址信号进行锁存.6脚为测试控制,当输入一个2μs宽高电平脉冲时,就开始A/D转换.7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平.9脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从端口输出.10脚为0809的时钟输入端,P2端口用作0809的A/D转换控制

2.3LCD显示器以及RS-232通讯

2.3.1RT1602C模块与AT89C51之间的接线原理

RT1602C液晶显示模块可以和单片ATB9C51直接接口(即AT89C51也如此)其中9号管脚让RESET脚接出的就是51芯片的复位电路,单片机的复位电路在刚接通电时,刚开始电容是没有电的,电容内的电阻很低,通电后,5V的电通过电阻给电解电容进行充电,电容两端的电会由0V慢慢的升到4V左右(此时间很短一般小于0.3秒),正因为这样,复位脚的电由低电位升到高电位,引起了内部电路的复位工作;当按下复位键时,电容两端放电,电容又回到0V了,于是又进行了一次复位工作[这是手动复位原理]。此电容其实就是上电复位延时电容。耐压高于6V以上的电容都可以。

2.3.2MAX232CPE与AT89C51之间的连接原理

为了实现与PC端的通讯,系统电路中必须加入RS-232串口通讯电路如图2.2所示

图2.2串口通讯电路

此电路功能就是实现串口通讯功能驱动与串口数据接收功能,max232cpe的芯片,必须+5V电源才会工作。

2.4轨道电路电压与ADC0809之间的连接原理

如图2.1ADC0809的IN0~IN7模拟输入端,普通两股道车站例如金温货线双潮站有XJG、XWG、1DG、1DG1、1G、IIG、SJG、SWG、2DG、2DG1共10个轨道电路区段,所以我们只要两套本文设计的采集系统板件即可。即按统一的按顺序分别连接ADC0809的IN0~IN7。

三、软件设计

3.1主函数:

系统上电后,程序先将P2口置0,然后调用显示子函数和A/D转换测量子函数并进入循环.系统默认为依次循环显示8个通道的电压值,也就是同时能采集八个轨道电路区段的数值,每个通道的数据显示时间在1s左右,按一定电压测量的周期约为8s.主函数执行流程图如图3.1所示.

3.2模/数转换测量子函数

模/数(A/D)转换测量子函数用来控制对0809的8路模拟输入电压进行A/D转换并将对应的数值移入内存单元.其程序流程如图3.2所示.

图3.1主函数流程图

图3.2A/D转换测量子函数流程图

3.3RS-232通信协议

串行通信有异步通信和同步通信两种基本通信方式。在异步通信中:数据是一帧一帧传送的,数据的发送和接收都将一位起始位(低电平)作为开始的标志随后是5.8位数据位(低位在前!高位在后)接下来是一位奇偶校验位(可省略)最后一位停止位(高电平)作为传送结束的标志。

设甲机发送数据、乙方接收数据,其发送和接收的原理和过程是:甲机发送时,先保护现场,关中断,然后发一个低电平,使乙机产生外部中断。乙机接收的外部中断信号后,进入中断接收程序,先保护现场,关TO、INTO中断,准备接收数据。甲机按照规定10位异步数据格式,先发一个起始位低电平,再根据低位在前、高位在后的顺序和规定的时序的一位一位地发送数据,共发送8位,然后发一个停止位高电平,直到发送结束。乙机当扫描到甲机发来的起始位低电平时,按相同的格式和时序接收数据,直到数据全部发送完毕,恢复现场,打开TO,INTO中断。

3.4PC数据采集平台建立

随着现代科技发展,铁路经营生产离不开计算机,特别是PC,每时每刻都遇到看见,而且用到。PC是也是生产管理中功能最齐全的工具,所以作为一个完善的数据采集系统,必须有它的PC端控制和采集,在此主要借助MicrosoftVisualBasic6.0中文版建立一个采集软件。实现的主要功能:串口通讯,开闭串口,数据记录保存拓展功能:能随时手动选择波特率,手动选择串口,送字发符。

3.4.1串口通讯的程序设计原理

前面介绍了串行通讯的基本原理,程序设计过程并不复杂,就是使用MSCOMM控件,此控件提供很多方便操作的属性和方法,利用它们可以很方便地实现目的。首先初始化串口,比如端口号,波特率等属性,然后打开端口,通过接受缓冲区读上行数据,通过发送缓冲区来写下行数据。最后通过事件驱动来反映数据的到达与发送过程,另外在通讯过程中的错误的产生也可以通过CommEvent属性来管理。

4总结

对89C51或相类似的单片机来说,最让人欣慰的是价廉物美,避免了在设计中耗费大量的财力。用C程编写单片机程序,对于本文设计者不太熟练解汇编等其他语言的来说,会比较轻松,在编程的时候参考了些程序,也采取了调用了比较成熟晚上的子程序。如果应用股道较多大型车站,轨道电路电压物理量较多时,系统还需要调准,主函数必须采用数组的方式来编程。

参考文献:

[1]万福君潘松峰.D/A及A/D转换器接口.单片微机原理系统设计与应用[J].2001,(2):251-290。

[2]何瑜怀李宁陆卫.大气实时监测仪数据采集系统设计.科学技术与工程[J],2007,7(17):1671-1819。

[3]王强,许肖梅,陈东升.基于单片机的高精度信号采集系统设计.理论与研究[J],2005,12(测试技术卷):38-39。

[4]李华.MCS-51系列单片机实用接口技术[M].北京:北京航空航天大学出版社,1993,28(5):15-16。