数据采集显示系统设计摘要以AT89C51单片机和模数转换器件ADC0809为核心,该系统有三部分:数据采集、数据处理、终端接收显示。具体包括控制、显示、A/D转换、数码显示模块等。设计中用ADC0809进行8位数据的采集,利用AT89C51单片机进行数据接收并保存对应的内存单元,进而把数据以数码管的形式显示出来。硬件设计采用电子设计自动化工具Protel99SE以及用Proteus进行硬件仿真等。软件设计则采用模块化编程方式。关键字:AT89C51AD转换数据采集一、设计的要求1.1计算机的发展与数据采集近代以来随着计算机的发展数据计算技术有了很大的提高,使得高速数据处理成为可能,计算机和各种设备紧密结合构成了灵活多样的控制系统,也构成强有力的信息处理系统,这样对社会的发展产生了深远的影响。作为控制系统的最前端,数据采集系统在多个领域有着广泛的应用。数据采集是工、农业控制系统中至关重要的一环,在医药、化工、食品、等领域的生产过程中,往往需要随时检测各生产环节的温度、湿度、流量及压力等参数。同时,还要对某一检测点任意参数能够进行随机查寻,将其在某一时间段内检测得到的数据经过转换提取出来,以便进行比较,做出决策,调整控制方案,提高产品的合格率,产生良好的经济效益。1.2数据采集系统数据采集系统,从严格的意义上来说,是用计算机控制的多路数据自动检测或巡回检测,并且能够对数据实行存储、处理、分析计算以及从检测的数据中提取可用的信息,供显示、记录、打印或描绘的系统。数据采集系统一般由数据输入通道,数据存储与管理,数据处理,数据输出及显示这五个部分组成。输入通道要实现对被测对象的检测,采样和信号转换等工作。数据存储与管理要用存储器把采集到的数据存储起来,建立相应的数据库,并进行管理和调用。数据处理就是从采集到的原始数据中,删除有关干扰噪声,无关信息和必要的信息,提取出反映被测对象特征的重要信息。另外,就是对数据进行统计分析,以便于检索;或者把数据恢复成原来物理量的形式,以可输出的形态在输出设备上输出,例如打印、显示、绘图等。数据输出及显示就是把数据以适当的形式进行输出和显示。1.3数据采集系统研究前景工、农业的发展,多路数据采集势必将得到越来越多的应用,为适应这一趋势,做这方面的研究就显得十分重要。在科学研究中,运用数据采集系统可获得大量的动态信息,也是获取科学数据和生成知识的重要手段之一。总之,,不论在哪个应用领域中,数据采集与处理将直接影响工作效率和所取得的经济效益。在本设计中对多路数据采集系统作了基础的研究,系统主要解决的问题是如何进行数据采集以及如何进行多路的数据采集,并将所得数据保存到指定的存储单元。设计对后续的数据到计算机的上传等问题亦有所涉及。二、任务分析与方案确定2.1系统的模块法划分根据系统的基本要求,将本系统划分为以下几个模块:信号采集、调理模块A/D转换模块单片机89C51最小系统模块人机通信模块数据传输显示模块2.2系统方框图图2-12.3信息采集调理模块工业信号幅值范围很宽,由于转换器的输入电压幅值被限制为0~5V,故在此处必要时需对工业现场信号进行预处理,以便使工业信号满足处理器的幅值要求。在多路数据采集信息中数据采集方式有顺序控制数据采集和程序控制数据采集。信息采集/调理ADC0809AT89C51键盘输入数码显示2.3.1顺序控制数据采集顺序控制数据采集,顾名思义,它是对各路被采集参数,按时间顺序依次轮流采样。原理如图2-2所示,系统的性能完全由硬件设备决定。在每次的采集过程中,所采集参数的数目、采样点数、采样速率、采样精度都固定不变。若要改变这些指标,需改变接线或更换设备方能实现。数据采集时,控制多路转换开关的信号来自脉冲分配器,在时钟脉冲的推动下,这些控制信号不断循环,使多路转换开关以先后顺序循环启闭。时钟图2-22.3.2程序控制数据采集程序控制的数据采集是由硬件与软件两部分组成。可以根据不同的需求,通过按键选择的方式进行控制通道的选择。如图2-3所示。程序控制数据采集的采样通道地址可随意选择,控制ADC0809的8路模拟选通开关开启的通道地址码由存储器中读出的指令确定。即改变存储器中的指令内容便可改变通道地址。由于顺序控制数据采集的方式缺乏通用性和灵活性,即本次设计将采用程序控制数据采集的方式。当采集高速信号时,A/D转换器前端还需加采样/保持(S/H)电路。待测量一般不能直接被转换成数字量,通常要进行放大、特性补偿、滤波等环节的预处理。被测信号往往因为幅值较小,而且可能还含有多余的高频分量等原因,不能直接送给A/D转换器,需对其进行必要的处理,即信号调理。如对信号进行放大、衰减、滤波等。放大器放大器采样/保持采样/保持多路转换开关计数器译码器A/D转换在本次设计中为了尽量减小采集数据的误差,采用了将被测信号放大至接近A/D转换器的满量程。即在A/D转换之前接入放大器电路来满足设计的需求。图2-32.4A/D转换模块2.4.1A/D转换时间的选择转换速率是指完成一次A/D转换所需时间的倒数,是一个很重要的指标。A/D转换器型号不同,转换速度差别很大。8位逐次逼近式A/D转换器一次转换时间为100us左右,典型的多通道8位逐次逼近式A/D转换器有ADC0808/0809(8通道)、ADC0816(16通道)等。12位逐次逼近式A/D转换器一次转换时间为25us。,典型的多通道12位逐次逼近式A/D转换器有AD574、AD1674、ADC1211等。由于本系统的控制时间允许,可选8位逐次逼近式A/D转换器。2.4.2A/D转换位数的选择A/D转换器的位数决定信号采集的精度和分辨率。本系统所用的A/D转换器为ADC0809,即为8位的A/D转换器,所采集的信号精度为:2−8=0.39%当输入为0~5V时,其分辨率为:𝑉𝐹𝑠2𝑁−1=528−1=0.0196𝑉放大器放大器采样/保持采样/保持A/D转换器3位地址码𝑉𝐹𝑠—A/D转换器的满量量程N—ADC的二进制位数量化误差为:Q=𝑉𝐹𝑠(2𝑁−1)×2=5(28−1)×2=0.0098𝑉ADC0809是TI公司生产的8位逐次逼近式模数转换器,包括一个8位的逼近型的ADC部分并提供一个8通道的模拟多路开关和联合寻址逻辑,为模拟通道的设计提供了很大的方便。用它可直接将8个单端模拟信号输入,分时进行A/D转换,在多点巡回监测、过程控制等领域中使用非常广泛。2.5单片机89C51最小系统模块2.5.1AT89C5189C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。2.5.2CPU的运算器和控制器的组成1、运算器运算器以完成二进制的算术、逻辑运算部件AUL为核心,再加上暂存器TMP、累加器ACC、寄存器B、程序状态标志寄存器PSW及布尔处理器。累加器ACC是一个八位寄存器,它是CPU中工作最频繁的寄存器。在进行算术、逻辑运算时,累加器ACC往往在运算前暂存一个操作数(如被加数),而运算后又保存其结果(如代数和)。寄存器B主要用于乘法和除法操作。标志寄存器PSW也是一个八位寄存器,用来存放运算结果的一些特征,如有无进位、借位等。其每位的具体含意如下所示:CYACF0RS1RS0OV-P其中系统设计过程中我们最为关注:(1)CY(PSW.7):进/借位标志位,CY也常写作C。在执行加法(或减法)运算指令时,如果运算中最高位向前有进位(或借位),则CY位由硬件自动置1;否则CY清0。CY也是进行位操作时的位累加器(2)AC(PSW.6):辅助进/借位标志,也称半进位标志。在执行加法(或减法)操作时,如果运算中(和或差)的低半字节(位3)向高半字节有进位(或借位),则AC位将被硬件置1,否则AC被清0。(3)OV(PSW.2):溢出标志位,反映带符号数的运算结果是否有溢出,有溢出时,此位1,否则为0。(4)P(PSW.0):奇偶标志位,反映累加器ACC内容的奇偶性,如果ACC中的运算结果有偶数个1(如11001111B,其中有6个1),则P为0,否则,P=1。由于PSW存放程序执行中的状态,故又叫程序状态字。运算器中还有一个按位(bit)进行逻辑运算的逻辑处理机(又称布尔处理机)。2、控制器是CPU的神经中枢,它包括定时控制逻辑电路、指令寄存器、译码器、地址指针DPTR及程序计数器PC、堆栈指针SP等。这里程序计数器PC是由16位寄存器构成的计数器。要单片机执行一个程序,就必须把该程序按顺序预先装入存储器ROM的某个区域。单片机动作时应按顺序一条条取出指令来加以执行。因此,必须有一个电路能找出指令所在的单元地址,该电路就是程序计数器PC。当单片机开始执行程序时,给PC装入第一条指令所在地址,它每取出一条指令(如为多字节指令,则每取出一个指令字节),PC的内容就自动加1,以指向下一条指令的地址,使指令能顺序执行。只有当程序遇到转移指令、子程序调用指令或遇到中断时,PC才转到所需要的地方去。8051CPU指定的地址,从ROM相应单元中取出指令字节放在指令寄存器中寄存。然后,指令寄存器中的指令代码被译码器译成各种形式的控制信号,这些信号与单片机时钟振荡器产生的时钟脉冲在定时与控制电路中相结合,形成按一定时间节拍变化的电平和时钟,即所谓控制信息,在CPU内部协调寄存器之间的数据传输、运算等操作。3、存储器是单片机的又一个重要组成部分,每个存储单元对应一个地址,如256个单元共有256个地址,用两位16进制数表示,即存储器的地址(00H~FFH)。存储器中每个存储单元可存放一个八位二进制信息,通常用两位16进制数来表示,这就是存储器的内容。2.6人机通信模块人机通信即指人通过输入装置给计算机输入各种数据和命令,以进行操纵和控制,而计算机则执行命令和将数据处理的结果及时地显示出来的人机交互过程。在本次设计中用键盘来进行输入,键盘的设计有独立按键和矩阵按键两种。2.6.1键盘接口键盘是单片机应用系统中使用最广泛的一种数据输入设备。键盘是一组按键的组合。键通常是一种常开型按钮开关,常态下键的两个触点处于断开状态,按下键时它们才闭合(短路)。通常,键盘有编码和非编码两种。编码键盘通过硬件电路产生被按按键的键码和一个选通脉冲。选通脉冲可作为CPU的中断请求信号。这种键盘使用方便,所需程序简单,但硬件电路复杂,常不被单片机采用。非编码键盘按组成结构又可分为独立式键盘和矩阵式键盘。独立式键盘的工作过程与矩阵式键盘类似,无论是硬件结构还是软件设计都比较简单。图2-4独立键盘特点:每个按键占用一条I/O线,当按键数量较多时,I/O口利用率不高,但程序编制简单。适用于所需按键较少的场合。S1SW-PBS2SW-PBS3SW-PBS4SW-PBP1.0P1.1P1.2P1.3U1AT89C51GND+51KR11KR21KR31KR4图2-54×4矩阵键盘特点:电路连接复杂,但提高了I/O口利用率,软件编程较复杂。适用于需使用大量按键的场合。在本次系统设计中用到的按键不多,所以采用的独立式键盘。2.7数据传输显示模块2.7.1数码管的介绍数码管也称LED数码管,晶美、光电、不同行业人士对数码管的称呼不一样,其实都是同样的产品。数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、3位、4位、5位、6位、7位等数码管。按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。共阳级