基于80C51的数据采集处理系统设计.docx
- 文档编号:26107402
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:26
- 大小:523.73KB
基于80C51的数据采集处理系统设计.docx
《基于80C51的数据采集处理系统设计.docx》由会员分享,可在线阅读,更多相关《基于80C51的数据采集处理系统设计.docx(26页珍藏版)》请在冰豆网上搜索。
基于80C51的数据采集处理系统设计
目 录
1 前言1
1.1 课题的背景及其发展状况1
1.2 研究该课题的目的及意义1
1.3 课题研究的内容1
2 方案分析与论证2
2.1系统功能及结构简介2
2.2设计数据采集处理系统时要考虑的几个问题2
2.3 元器件的选择2
2.3.1 A/D转换器的选择2
2.3.2 单片机的选择4
2.3.3 串口通信的选择5
2.3.4 显示部分7
3 系统硬件设计8
3.1 A/D转换电路8
3.1.1 TLC549的工作原理8
3.1.2 TLC549应用接口电路图9
3.2 AT89C52主控电路9
3.2.1 单片机时钟电路9
3.2.2 单片机复位电路10
3.3 LED显示电路10
3.4 串口电平转换电路11
3.5 电源及功能指示电路11
3.6 信号处理电路12
4 系统的软件设计13
4.1 KeilUvision4的简介13
4.2 程序设计13
4.2.1 主程序设计13
4.2.2 数字滤波13
4.2.3 单片机初始化程序15
4.2.4 TLC549初始化及采样程序15
4.2.5 显示程序15
4.2.6 串口通信程序15
5 总结与体会17
参考文献18
致谢19
附录20
摘 要
数据采集是指从传感器和其他待测设备等模拟和数字被测单元中自动采集信息的过程。
数据处理就是从采集到的原始数据中,删除干扰噪声、无关信息和不必要的信息,提取出反应被测对象特征的重要信息。
数据采集处理系统是在信息科学领域中最为普遍的应用系统,它的存在有着非常重要的作用。
本文介绍的主要是基于80c51的数据采集处理系统的硬件设计和软件设计。
硬件部分以单片机为核心,还包括A/D转换模块、显示模块和串行接口部分,实现对采集到的数据进行模拟量到数字量的转换,将转换后的数据送入单片机进行处理,将处理后的数据传入LED显示电路。
最后该系统可根据上位机的控制信号将数据通过MAX232发送到上位机进行存储、处理。
软件部分用C编写控制软件,对数据采集部分、数模转换部分、数据显示等程序进行了设计。
关键字:
数据采集与处理;单片机;A/D转换器
GeneralDateCollectionandProcessingSystemBasedon80C51Signal-chipMicrocomputer
ABSTRACT
Thedatacollectionmeansfromsensorsandothermeasuredanaloganddigitalequipmenttestedprocessofautomaticacquisitionunit.Dataprocessingiscollectedfromtheoriginaldata,removetheinterferencenoise,irrelevantandunnecessaryinformation,extracttheimportantinformationresponsecharacteristicsofthemeasuredobject.DataacquisitionandprocessingsystemisinthefieldofInformationScienceinthemostcommonapplicationsystem.Dataacquisitionandprocessingsysteminthefieldofinformationscienceisthemostcommonapplications,itspresencehasaveryimportantrole.
Thisarticledescribesthehardwaredesignandsoftwaredesignofthedataonwhichgeneraldatacollectionandprocessingsystembasedon80C51signal-chipmicrocomputer.Thehardwareofthesystemfocusesonsignal-chipmicrocomputer,isalsoincludesA/Dconversionmodule,displaymodule,andtheserialinterface.Therealizationcarriesontheconversionthatimitatetomeasurethenumeraltomeasuretowardsthedatathatcollect.theconverteddataintothemicrocomputerforprocessing,theprocesseddataintotheLEDdisplaycircuit.Finally,thesystemisbasedonacontrolsignaltothehostcomputersendsdatatothehostcomputerthroughtheMAX232forstorageandprocess.ThesoftwareispartlyprogrammedwithC.Thesoftwarecanrealizethefunctionofmonitoringandcontrollingthewholesystem.Itdesignsmuchprogramlikedata-acquisitiontreatmentanddata-displayandsoon.
Keywords:
datecollectionandprocessingsystem;signal-chipmicrocomputer;A/Dconversion
1 前言
1.1 课题的背景及其发展状况
随着计算机技术的飞速发展和普及,数据采集处理及其应用受到了人们越来越广泛的关注,数据采集处理系统也有了迅速的发展,并且在多个领域有着广泛的应用。
在生产过程中,应用这一系统可对生产现场的工艺参数进行采集,监视和记录,为提高产品质量,降低成本提供信息和手段。
在科学研究中,应用数据采集处理系统可获得大量的动态信息,是研究物理过程的主要工具[2]。
数据采集领域正在发生着重要的变化。
首先,分布式控制应用场合中的智能数据采集系统正在发展。
其次,总线兼容型数据采集插件的数量正在增大,与个人计算机兼客的数据采集系统的数量也在增加。
数据处理对数据(包括数值的和非数值的)进行分析和加工的技术过程。
包括对各种原始数据的分析、整理、计算、编辑等的加工和处理。
随着计算机的日益普及,在计算机应用领域中,数值计算所占比重很小,通过计算机数据处理进行信息管理已成为主要的应用[2]。
1.2 研究该课题的目的及意义
数据采集是指将温度、压力、流量、位移等模拟量采集转换成数字量后,再由计算机进行存储、处理、显示或打印的过程。
相应的系统称为数据采集系统。
从严格意义上说,数据采集系统应该是用计算机控制的多路数据自动检测或巡回检测,并且能够对数据实行存储、处理、分析计算,以及从检测的数据中提取可用的信息,供显示、记录、打印或描绘的系统。
数据采集是工、农业控制系统中至关重要的一环,在医药、化工、食品、等领域的生产过程中,往往需要随时检测各生产环节的温度、湿度、流量及压力等参数。
同时,还要对某一检测点任意参数能够进行随机查寻,将其在某一时间段内检测得到的数据经过转换提取出来,以便进行比较,做出决策,调整控制方案,提高产品的合格率,产生良好的经济效益。
数据采集系统具有广阔的市场前景,在工业生产和日常生活中已越来越必不可小。
总之,不论在哪个应用领域中,数据的采集与处理越及时,工作效率就越高,取得的经济效益就越大。
因此本课题设计无论是研究意义还是市场前景都具有很高的价值[2]。
1.3 课题研究的内容
数据采集处理系统由数据输入,数据存储与管理,数据处理,数据输出及显示组成。
本文介绍的是基于80c51的数据采集处理系统设计。
先对数据采集系统做简单的介绍,然后根据设计的要求,使数据采集处理系统在功能上具体化,细致化,实现数据采集处理系统设计的基本要求。
该系统对采集到的数据进行模拟量到数字量的转换,然后将转换后的数据送入单片机进行处理,最后在数码管上显示出来,并通过串口将数据传输到计算机中。
2 方案分析与论证
2.1 系统功能及结构简介
此数据采集器主要是采集模拟电压信号,现在大部分的模拟量多可以用各种器件转换成电压模拟信号。
系统以单片机作为核心器件,采用A/D转换器把模拟的电压信号转换成数字信号,通过单片机对数字信号进行一系列的采集与处理,并利用Keil编程软件对单片机进行编程,最后使经过处理的信号在数码管上显示出来。
系统模块图如图2-1所示。
图2-1 系统模块图
2.2 设计数据采集处理系统时要考虑的几个问题
(1)分辨度和精度。
人们主要由它来决定数据采集系统A/D的位数,以及某些数据处理算法的精度(运算字长要求)。
(2)采集的模拟量通道数。
人们由它来决定系统的结构方案,如果只采集现场单一信号,则采用单通道结构;若采集多个点,则用多通道结构。
多通道结构又可分为通路结构(各模拟信号有各自的A/D)和共用A/D结构(用多路开关对各模拟信号分别采样)。
前者速度快,通道间串扰小,但所用A/D芯片多,因而成本高。
后者因多路开关切换需要时间,而A/D公用,故速度慢且开关间存在串扰,但他们价格低、电路简单,故用的较广。
(3)采样频率的确定。
可根据采样定理和一些工程方法确定。
(4)具体的数据处理要求。
如处理方法、精度和速度等[3]。
2.3 元器件的选择
2.3.1 A/D转换器的选择
A/D转化器用于将模拟信号转换成相应的数字信号,它是模拟系统到数字系统的接口电路。
用串口ADC的好处。
(1)减少连线数(SPI口比并行口占用的I/O口要少的多,连线十分方便);
(2)时序简单(虽然串行的时序本身要比并行的时序复杂,但对集成了SPI控制器的单片机来说,这些工作完全由单片机自动完成,用户无需干预,因此十分简单);
(3)控制灵活(有些SPI接口的ADC既可以输出转换后的数据量,又可以读入用户设置的“命令字”,我们可以通过“输入命令字”将其配置成单极性或双极性的ADC而无需改动电路,控制十分灵活)[4]。
ADC有很多种,从电路结构看可分为逐次逼近型、并联比较型、双积分型等。
(1)逐渐逼近式A/D转换器:
它是一种速度快、精度较高、成本较低的直接式转换器,其转换时间在几微秒到几百微秒之间。
(2)双积分A/D转换器:
它是一种间接式的A/D转换器,优点是抗干扰能力强,精度比较高,缺点是数度很慢,适用于对转换数度要求不高的系统。
(3)并行式A/D转换器:
它又被称为flash(快速)型,它的转换数度很高,但它采用了很多个比较器,而n位的转换就需要2n-1个比较器,因此电路规模也极大,价格也很贵,只适用于视频A/D转换器等数度特别高的领域。
该系统选择以8位开关电容逐次逼近A/D转换器为基础而构造的CMOSA/D转换器TLC549。
其特点是:
转换速度小于17us,最大转换速率为40000HZ,4MHZ典型内部系统时钟,电源为3V至6V[4]。
逐次逼近型模-数转换器原理框图如图2-2。
图2-2 逐次逼近型模-数转换器原理框图
TLC549管脚图及各引脚功能如图2-3所示。
图2-3 TLC549管脚图
REF+、REF-差分基准电压
ANALOGIN模拟信号输入
I/OCLOCK输入/输出时钟
DATAOUT串行数据输出
芯片选择输入
VCC、GND电源
2.3.2 单片机的选择
单片机是一种面向大规模的集成电路芯片,是微型计算机中的一个重要的分支。
具有完整的计算机所需要的大部分部件:
CPU、随机存取数据存储器、只读程序存储器、输入输出电路(I/O口)和其他功能单元等。
80C51属于MCS-51系列单片机中CHMOS工艺的一个典型品种。
另外,其他厂商以8051为基核开发的CHMOS工艺单片机产品统称为80c51系列。
当前常用的80c51系列产品有:
ATMEL公司的89C51、89C52、89C205、89C4051等。
Intel公司的80C31、80C51、87C51、80C32、80C52、87C52等[5]。
本次设计采用AT89C52单片机。
它基于标准的MCS-51单片机体系结构和指令系统,属于89C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,89C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和6个中断结构,一个全双工串行通信口,片内时钟振荡电路。
此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。
在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。
掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。
本系统中采用12MHz的晶振频率。
由于89C52的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故采用来作为控制核心[5]。
AT89C52的引脚图如图2-5所示。
图2-5 AT89C52的引脚图
主要管脚有:
XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz
晶振。
RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。
VCC(40脚)
和VSS(20脚)为供电端口,分别接+5V电源的正负端。
P0~P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能[6]。
2.3.3 串口通信的选择
RS232串口简介
RS-232是美国电子工业协会EIA(ElectronicIndustryAssociation)制定的一种串行物理接口标准。
RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。
RS-232采取不平衡传输方式,即所谓单端通讯。
RS-232的标准定义一个25针的接口,在早期的计算机上广泛使用,但随着技术的发展,在AT机以后的机型上,实际均采用了9针的简化版本应用,现在我们所提到的232通讯均默认为9针的接口[11]。
9针接口的引脚如图2-6所示。
图2-6 9针接口引脚图
各引脚的功能如下:
1.CD:
载波检测
2.RXD:
接收数据
3.TXD:
发送数据
4.DTR:
数据终端准备好
5.SGND:
信号接地
6.DSR:
数据准备好
7.RTS:
请求发送
8.CTS:
允许发送
9.RI:
振铃提示
在实际应用中,设计人员在设计计算机与外围设备的通信时,并不是使用接口的全部引脚,而是在9针的基础再进行简化,只用2、3、5三个引脚进行通信。
这三个引脚分别是RXD、TXD和SG,即可满足大部分通讯的要求,计算机和外部设备的接线方法如图2-7所示:
图2-7 计算机和外部设备接线图
MAX232简介
MAX232芯片是美信(MAXIM)公司专为RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。
MAX232是用来做电平转换的,标准RS232的电平很高,最高能达到正负15V.常用的TTL电平最高为5V。
如果RS232和TTL器件相互连接的话,必须要进行电平转换。
由于电脑串口输出电压高达12V,直接与单片机连接会烧坏芯片,所以本设计中用MAX232芯片转换。
MAX232的引脚图如图2-8所示。
图2-8 MAX232的引脚图
MAX232的优点是:
(1)一片芯片可以完成发送转换和接收转换的双重功能。
(2)单一电源+5V供电。
(3)它的电路设计与连接比较简单而且功能齐全。
MAX232内部结构基本可分三个部分:
第一部分是电荷泵电路。
由1、2、3、4、5、6脚和4只电容构成。
功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。
由7、8、9、10、11、12、13、14脚构成两个数据通道。
其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。
8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。
TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。
第三部分是供电。
15脚GND、16脚VCC(+5v)[10]。
图2-9 MAX232的内部结构图
2.3.4 显示部分
在单片机应用系统中,普遍使用成本低廉、配置灵活的数码管(LED)做显示器。
常用的为4~8位八段LED数码管显示器,即需要4~8个LED数码管。
本设计采用七段数码管作为显示模块。
七段数码管是一种由发光二极管组合而成显示字符的器件。
它由8个LED组成,其中7个用于显示数字,1个用来显示小数点。
七段数码管的控制可以采用周期性地向它提供具有驱动信号和位选信号。
数码管显示方式有动态扫描显示法和静态显示法。
在实际设计应用中,为了节省硬件资源,常采用动态扫描显示法。
3 系统硬件设计
3.1 A/D转换电路
3.1.1 TLC549的工作原理
TLC549均有片内系统时钟,该时钟与I/OCLOCK是独立工作的,无须特殊的速度或相位匹配。
当CS为高时,数据输出(DATAOUT)端处于高阻状态,此时I/OCLOCK不起作用。
这种CS控制作用允许在同时使用多片TLC548、TLC549时,共用I/OCLOCK,以减少多路(片)A/D并用时的I/O控制端口。
下面是一组通常的控制时序。
其工作时序图如图3-1所示。
图3-1 TLC549的工作时序图
(1)将CS置低。
内部电路在测得CS下降沿后,再等待两个内部时钟上升沿和一个下降沿后,然后确认这一变化,最后自动将前一次转换结果的最高位(D7)位输出到DATAOUT端上。
(2)前四个I/OCLOCK周期的下降沿依次移出第2、3、4和第5个位(D6、D5、D4、D3),片上采样保持电路在第4个I/OCLOCK下降沿开始采样模拟输入。
(3)接下来的3个I/OCLOCK周期的下降沿移出第6、7、8(D2、D1、D0)个转换位,
(4)最后,片上采样保持电路在第8个I/OCLOCK周期的下降沿将移出第6、7、8(D2、D1、D0)个转换位。
保持功能将持续4个内部时钟周期,然后开始进行32个内部时钟周期的A/D转换。
第8个I/OCLOCK后,CS必须为高,或I/OCLOCK保持低电平,这种状态需要维持36个内部系统时钟周期以等待保持和转换工作的完成。
如果CS为低时I/OCLOCK上出现一个有效干扰脉冲,则微处理器/控制器将与器件的I/O时序失去同步;若CS为高时出现一次有效低电平,则将使引脚重新初始化,从而脱离原转换过程。
在36个内部系统时钟周期结束之前,实施步骤
(1)-(4),可重新启动一次新的A/D转换,与此同时,正在进行的转换终止,此时的输出是前一次的转换结果而不是正在进行的转换结果。
若要在特定的时刻采样模拟信号,应使第8个I/OCLOCK时钟的下降沿与该时刻对应,因为芯片虽在第4个I/OCLOCK时钟下降沿开始采样,却在第8个I/OCLOCK的下降沿开始保存。
3.1.2 TLC549应用接口电路图
单片机的P13脚与TLC549的CS连接,作为片选信号端口;P14脚与DOUT连接作为数据接收端口;P15与CLK连接作为脉冲式中端口。
接口电路如图3-2所示。
图3-2 TLC549应用接口电路图
3.2 AT89C52主控电路
3.2.1 单片机时钟电路
单片机的时钟信号的产生一般有两种方式:
一种是内部时钟方式;另一种外部时钟方式。
内部时钟方式是在单片机的XTAL1和XTAL2引脚接晶振,就能在单片机内部产生时钟信号,如图3-3所示。
图3-3 单片机时钟电路
3.2.2 单片机复位电路
当单片机的RET引脚引入高电平并保持两个机器周期时,单片机内部就执行复位操作。
如图3-4所示。
图3-4 单片机复位电路
3.3 LED显示电路
多位LED显示时,常将所有位的段选线并联在一起,由一个8位I/O口控制,而共阴极点或共阳极点分别由另一个8位I/O口控制;也可采用并行扩展口构成显示电路。
该系统利用单片机的P0口实现多个LED显示,地址线我们通过一片74LS138三—八译码器对8位LED进行分时选通,这样在任一时刻,只有一位LED是点亮的。
数码管采用共阴极接法。
电路连接图如图3-5、3-6所示。
图3-5 显示电路
图3-6 数码管驱动电路
3.4 串口电平转换电路
引脚1—6(C1+、V+、C1—、C2+、C2—、V—)用于电源电压转换,只要在外部接入相应的电解电容即可;引脚7—10和引脚11—14构成两组TTL信号电平与RS—232C信号电平的转换电路,对应引脚可直接与单片机串行口的TTL电平引脚和PC的RS—232C电平引脚相连。
电路连接图如图3-7所示。
图3-7 串口电平转换电路
3.5 电源及功能指示电路
电源及功能指示电路如图3-8所示。
图3-8 电源及功能指示电路
3.6 信号处理电路
信号处理电路如图3-9所示。
图3-9 信号处理电路
4 系统的软件设计
4.1 KeilUvision4的简介
KeilUvision4是众多单片机应用开发软件中最优秀的软件之一,它支持众多不同的公司的MCS51构架的芯片。
Keil提供了C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些组合在一起。
4.2 程序设计
4.2.1 主程序设计
主程序对系统进行初始化,主要是单片机和TLC549的初始化,然后调用采集转换子程序,将测得的电压量处理得到数码管
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 80 C51 数据 采集 处理 系统 设计