数据采集及传输处理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关键词: 单片机AT89C51,ADC0809,MAX485,LED显示.
Abstract
This article introduces the base method according to data collection and transmitting process system, including the hardware design, the application software design and the design of the program design, also introduces the data transmitting system according to the MAX485.
数据采集及传输处理
摘要
本文主要阐述了基于数字采集与传输处理系统的设计基本思想,包括硬件实现,应用软件实现以及驱动程序设计,同时也介绍了基于MAX485数据传输系统。
硬件的主要组成部分为AT89C51,ADC0809,MAX485,8155,LED显示。
用软件编程控制硬件实现的过程:发送方的设备把模拟信息转换为数字信息后,发送到接收方的设备上。接收设备利用LED来显示数据。
为了提高工作人员的效率,让他们能及时,快速地观察到错误信息,在设计电路工作流程中,执行程序使发端的AT89C51不断地启动ADC0809工作,让ADC0809不停地转换新输入的模拟信号,并刷新收端AT89C51内存里的要显示数据。如果工作人员观察到的数据工作在允许范围之内,说明现场一切设备运行正常,如果现场哪路设备不工作了,在控制室里的工作人员就会发现发光二极管不断的闪烁,同时LED数码管会显示哪路出现问题,这时工作人员就可以立刻赶到现场,查明事故原因。
The necessary hardware consists ofAT89C51,ADC0809,MAX485,8155,LED display.
The process of the programme of software controlling hardware operation as follow: The device on the transmitting computer converts the analog signals to digital format and this digital format is transmitted to the receiving computer. The device on the receiving computer uses the information to driver LED display.
Key words: MCS-AT89C51, A/D converter, MAX485, LED display.
1
目前大中型企业智能化管理迅速发展。如果能在现场采集到的数据和控制器之间建立起通信,就可实现在控制室中利用计算机来监督现场设备的运行情况,这样不仅可以大大降低劳动强度,有效地提高工作效率,而且可以快速地发现错误信息,并及时地赶到现场进行处理。
STARTCLOCK
610
IN026
IN1277 EOC
IN228
IN31Vx21 D0IN4 2比较器20 D1
IN53Vs19 D2
IN6418 D3
IN7 58 D4
15 D5
14 D6
17 D7
ADDA 25
ADDB 249 OE
ADDC 23
ALE 22
11 13 12 15
VCC GND Vref(+) Vref(-)
使用的核心芯片是AT89C51,这个芯片可以很好地满足我们的要求。数据采集系统用来采集模拟数据,并将模拟数据存放于存储器中作以后发送用。A/D转换器将模拟形式转换为数字量表示。使用ADC0809作为A/D转换器,它可以把连续的模拟信号转变成数字形式。选用MAX485连接两台机器进行传递信息.软件编程的语言使用的是C语言,它的运行的环境是keil软件。
2
本章主要讲述了发端的AT89C51控制ADC080wk.baidu.com和MAX485的工作原理,和它们之间的硬件连接。
2.1 ADC0809与AT89C51的硬件连接
2.1.1 ADC0809简介
本人使用的ADC0809芯片是逐次逼近型的A/D转换器,分辨率为8位,可以实现对8路模拟信号分时的进行A/D转换,每一通道的转换大约需时10us。芯片内带有通道地址译码锁存器,采用脉冲启动方式。应用单一+5v电源,其模拟量输入电压的范围为0v-5v,对应的数字量输出为00H-FFH,三态锁存输出,功耗为15MW。ADC0809是A/D转换的主要器件。本设计采用中断方式传送数据给AT89C51。
第二部分:数据传输部分由发端和收端各自的MAX485和AT89C51组成。
AT89C51是一种带2K字节闪烁可编程可擦除只读存储器的单片机。除具有4个8位并行口外,还具有一个全/半双工串行通信接口。AT89C51通过使用串行接口的引脚RXD(P3.0串行数据接收端)和引脚TXD(P3.0串行数据发送端)与外界进行通信,它可以实现需要的AT89C51单片机系统之间点对点的单机通信。MAX485是一种差分平衡型低功率收发器芯片。芯片中包含有1个驱动器和1个接收器,采用单+5V电源供电,可用于TTL协议(即通用于各种CPU的通信协议)与485协议间的转换,由于它是半双工的方式,只能有一方发送,一方接收,而且它采用差动电平接收的方法,这样就具有很强和很高的抗共模干扰能力和接收灵敏度,适合在比较恶劣的环境下工作。MAX485的驱动器摆率不受限制,可以实现最高2.5Mbps的传输速率;在转送数据速度达100KB/S时,通信的距离可1200M。在MAX485收发端A和B之间接一个120欧的匹配电阻,使电流信号转变为相差200mV的电压信号。所以MAX485作为设计中最合适的数据传输器件。
根据以上考虑,本人设计了一种基于AT89C51单片机的数字采集与传输处理系统。该装置主要应用在控制电压和电流的设备上,它可以显示该设备是否正常运行,也可以根据人的需要立即显示一路信号。
本人在设计数据采集系统过程中,考虑到输入的模拟电压仅在0V到5V之间,输入量的范围很小,为了精确地采集到数据,本设计中采用了ADC0809芯片。它的分辨率为8位,即将一路信号A/D转换为8位二进制数。这样在控制室工作的人员就可以准确地把握现场设备上电压或电流的变化情况。
C51语言程序的运行环境为keil软件,当程序烧到AT89C51里时,keil可以把C51语言直接生成汇编语言,以01代码的形式存在AT89C51的内存里。由于C语言的可读性强,不像汇编语言那样繁琐,所以本人采用C语言编程。
单片机芯片应用广泛,具有很多特点,如片内资源丰富,产品的体积小,可靠性高,引脚少,功能全,工作电压低,功耗小等。本设计是一个小型的控制系统,可以应用在不同的场合来监督设备是否正常工作。但由于本设计对器件的灵敏度、精度和实时性没有很高的标准,在现实中不一定适用,还须根据不同的场合加以改进。
The key chip we use is AT89C51. This chip can meet our need perfectly.Data acquisition system is used to acquire analog data and store it on storage devices for latertransmitting. A/D converter converts an analog format into an equivalent digital representation. We use the ADC0809 as A/D converter, which is used to convert continuous analog signals into digital format.We choose the MAX485 as the device, which is used to connect two computers for transmitting information. The programme of software language is C language, which of operation is keil software.
(4)IN0-IN7:IN0-IN7为8路模拟电压输入线,前4位用于输入模拟电压,范围是0V-5V。后4位用于输入被转换的模拟电流,范围是10mA-50mA。
由于ADC0809的输入端只能允许模拟电压信号输入,所以必须将模拟电流信号转换为模拟电压信号,因此模拟电流信号先串联1 的电阻,取电阻上的电压。又因为模拟电流信号为毫安级,而ADC0809芯片要求输入电压为0V-5V之间,所以将取出的电压信号经过放大倍数为10的运算放大器两级放大后进入ADC0809的模拟输入通道IN4-IN0进行A/D转换。具体接法如下所示:
(2)ALE:地址锁存允许输入线,高电平有效。当ALE线为高电平时,ADDA,ADDB和ADDC三条地址线上的地址信号得以锁存,经译码后读入一路模拟信号。由P2.7和 控制启动转换信号ALE端,使之变为高电平,执行的指令和启动START端的指令一样。
(3)OE:输出允许信号,高电平有效。OE由低电平变高电平,打开三态输出锁存器,将转换后的结果输出到数字总线D0-D7上。由P2.7和 联合控制使OE线变为高电平,以提取A/D转换后的数据量。
在设计数据传输系统过程中,运用了74汉明码的编码和译码原理,对采集到的数据进行处理。由于74汉明码具有纠错和检错能力强,编码效率高码长短,编码规律简单等优点,而且也是在现实系统中经常使用的一种检错码,所以利用74汉明码编码后发送的数据具有很好的纠错能力,这样就极大地提高了数据传输的可靠性。
本系统设计的硬件设备由发端(A机)和收端(B机)两部分组成。A机主要功能是将采集到的数据进行A/D转换,然后把数据存于发端的AT89C51中,利用MAX485来传输数据。B机的主要功能是通过MAX485接收数据,将数据存于收端AT89C51中,然后由AT89C51来控制8155显示数据。在显示部分电路中由5个七段LED数码管和4*2矩阵键盘组成,5 个七段LED数码管的前两位用于显示是哪路的模拟电压信号还是模拟电流信号,后三位用于显示数字量,精确到小数点后两位。8 个键盘代表了8路模拟信号,其中第一列代表模拟电压信号,第二列代表模拟电流信号。
图2.1ADC0809逻辑框图
图2.1 ADC0809与AT89C51连接原理图
2.1.2 启动端口的连接与工作原理
(1)START:为“启动脉冲”输入线,该线上的正脉冲是由AT89C51的P2.7和/WR来提供的,其宽度在100us-200us之间。当执行指令使P2.7=0和 =0时,输入一个正脉冲,便立即启动ADC0809工作,10us后EOC变为低电平。
第三部分:数据处理部分主要由单片机AT89C51、8155可编程I/O接口、功能键和七段LED显示器等部分组成。这部分将在第三章详细讲述。
设计时注意了几个问题:(1)设计电路和片选时,要考虑芯片和电路的驱动能力,否则会造成工作不正常或失败。如本设计中,由于LED通常需要几~几十毫安的驱动电流才能发光,为了使其正常显示数据,在LED的段数据线上加入了7407同相驱动器。(2)模拟电压和模拟电流电路中电阻不宜过大,且应采用精密电阻,以满足系统精度的要求。
发端(A机)基本框图为:
收端(B机)基本框图为:
在理论上系统主要由数据采集、数据传输和数据处理三大功能模块组成。下面对三大功能模块简单进行描述:
第一部分:数据采集部分由模拟电压、模拟电流、运算放大器(LM324)、A/D转换器(ADC0809芯片)、单片机AT89C51组成。
由于模拟电源信号在传输过程中容易受到外界噪声的干扰,为了保证数据传输的可靠性,将模拟信号转化为数字信号进行传送。这种转换的主要使用的芯片是ADC0809。所用电源,可产生0V-5V可调的模拟电压信号和10mA-50mA的可调模拟电流信号。数据采集系统的软件设计采用了顺序程序设计的方法,包括主程序、启动A/D转换子程序和串行口发送子程序等。
相关文档
最新文档