课程设计说明书课程设计名称:专业课程设计课程设计题目:八路数据循环采集显示学院名称:信息工程学院专业:电子信息工程班级:100414班学号:10041402姓名:高飞红评分:教师:徐琦王忠2013年7月3日摘要数据采集是指将位移、流量、温度、压力等模拟量采集、转换成数字量后,再由计算机进行存储、处理、显示或打印。数据采集技术是信息科学的一个重要组成部分,信号处理技术、计算机技术,传感器技术是现代检测技术的基础。数据采集技术则正是这些技术的先导,也是信息进行可靠传输,正确处理的基础。在工业生产中,对生产现场的工艺参数进行采集、监视和记录,这样能提高产品的质量、降低成本。在科学实验中,对应用数据进行实时采集,这样获得大量的动态信息,是研究物理过程动态变化的有效手段,也是获取科学奥秘的重要手段之一。数据采集系统性能的好坏,取决于它的精度和速度,在精度保证的条件下提高采样速度,满足实时采集、实时处理和实时控制的要求。本设计待测的输入电压为8路,电压范围为0~5V,使用目前广泛使用的AT89C51来做控制系统,用ADC0809来进行模拟电压的采集及模数转换,实现采集8路数据,并将结果在四位一体数码管上进行显示。该系统主要包括几大模块:数据采集模块、A/D转换模块、控制模块、显示模块。显示部分由数码管显示构成。该数字电压表具有电路简单,成本低等优点,可以方便地进8路A/D转换量的测量。关键词:电压采集、ADC0809、A/D转换、单片机89C51、数码管显示目录第一章设计内容及要求…………………………………………………………11.1设计要求…………………………………………………………………11.2提高要求…………………………………………………………………1第二章系统框图与工作原理………………………………………………………22.1硬件组成框图………………………………………………………………22.2软件系统框图………………………………………………………………32.3工作原理分析……………………………………………………………4第三章器件说明……………………………………………………………………53.1ADC0809模数转换芯片…………………………………………………53.2AT89C51单片机……………………………………………………………63.34个共阴7段数码管显示器………………………………………………7第四章硬件各模块设计说明………………………………………………………94.1模拟数据输入电路……………………………………………………………94.2AD转换电路…………………………………………………………………94.3数码管显示电路……………………………………………………………104.4方式控制电路………………………………………………………………11第五章软件子程序设计说明…………………………………………………135.1ADC模数转换程序…………………………………………………………135.2数据处理子程序……………………………………………………………145.3数码管显示程序…………………………………………………………16第六章系统调试及结果分析…………………………………………………196.1硬件调试及分析…………………………………………………………196.2软件调试及分析…………………………………………………………206.3调试结果…………………………………………………………………20结论…………………………………………………………………………………22参考文献…………………………………………………………………………23附录1八路数据采集的原理总图………………………………………………24附录2程序清单及注释…………………………………………………………25第1页共36页第一章设计内容及要求1.1设计要求(1)对8路模拟电压信号进行采集并循环显示(2)模拟电压变换范围为:0–5V(3)测量精度小于±2%(4)测量温度用3位LED显示器显示,1位显示循环通道1.2提高要求(1)通过按键模块的操作可以选择8路循环显示,也可以选择某条单路显示。(2)做出的八路采集器,应该在精度和采集信号的稳定程度方面加以强化。(3)做出的产品在实际中能够经久耐用。8路模拟量变换器单片机显示器第2页共36页第二章系统框图与工作原理数据采集系统包括模拟信号的输入、转换及处理。模拟信号变成数字形式后顺序存储、传输、处理和显示。数据收集的基本手段是模数转换,它是将来自各式各样传感器的模拟量实时地、准确地测量或汇集起来,送入计算机实时处理,并输出相应的控制信号以实现对物理系统的控制或记录。2.1硬件组成框图图2.1硬件系统框图如图2.1所示,该系统主要包括几大模块:数据采集模块、A/D转换模块、控制模块、显示模块。采用AT89C51作为控制模块,ADC0809作为A/D转换模块的核心,ADC0809本身具有8路模拟量输入端口,通过C、B、A,3位地址输入端,能从8路中选择一路进行转换。如每隔一段时间依次轮流改变3位地址输入端的地址,就能依次对8路输入电压进行测量。数码管的显示采用软件译码动态显示,通过按键模块的操作可以选择8路循环显示,也可以选择某条单路显示。滑动变阻器0滑动变阻器70809中进行AD转换MCS--51单片机数码管显示模拟电压采集第3页共36页2.2软件程序框图图2.2程序流程框图编程思想:首先在启动A/D转换,因转换需要一定的时间,所以需延时等待;然后读取数据,利用软件编程,将二进制数转换为十进制数,送到数码管显示;从左到右轮流点亮显示器各位,对于显示器的每一位来说,每隔一段时间点亮一次,利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字第4页共36页符才不闪烁,数码管的第四位显示通道数,前三位显示0~255的采集数据。2.3工作原理分析依据综合课程设计的要求,利用ADC0809设计一个单通道模拟电压采集显示电路,要求对所接通道变化的模拟电压值进行采集,采集来的数字量送至数码管指示出来,通过相关转换在数码管上精确显示出来。数据采集电路是系统的主要组成部分,ADC0809具有8路模拟量输入通道IN0~IN7,通过3位地址输入端C、B、A(引脚23~25)进行选择。引脚22为地址锁存控制端ALE,当输入为高电平时,C、B、A引脚输入的地址锁存于ADC0809内部锁存器中,经内部译码电路译码选中相应的模拟通道。引脚6为启动转换控制端START,当输入一个2US宽的高电平脉冲时,就启动ADC0809开始对输入通道的模拟量进行转换。引脚7为A/D转换器,当开始转换时,EOC信号为低电平,经过一段时间,换结束,转换结束信号EOC输出高电平,转换结果存放干ADC0809内部的输出数据寄存器中。引脚9脚为A/D转换数据输出允许控制端OE,当0E为高电平时,存放于输出数据锁存器中的数据通过ADC0809的数据线DO~D7输出。引脚10为ADC0809的时钟信号输人端CLOCK。显示数码管分别用两个锁存器来控制它的位选和段选,利用软件编程启动AD转换之后,采用延时的方式等待数据送至P2口进行数据的处理,即将十六进制转换为BCD格式,处理之后送至P0口进行数据的显示,P1.5和P1.6分别控制数码管的段选的位选信号。第5页共36页第三章器件说明3.1ADC0809模数转换芯片1)ADC0809内部逻辑结构ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。图3.1.1ADC0809内部逻辑结构由上图可知,ADC0809由一个8路模拟开关、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。2)ADC引脚结构ADC0809各脚功能如下:D7-D0:8位数字量输出引脚。IN0-IN7:8位模拟量输入引脚。VCC:+5V工作电压。GND:地。第6页共36页REF(+):参考电压正端。REF(-):参考电压负端。START:A/D转换启动信号输入端。ALE:地址锁存允许信号输入端。(以上两种信号用于启动A/D转换).EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。OE:输出允许控制端,用以打开三态数据输出锁存器。CLK:时钟信号输入端(一般为500KHz)。A、B、C:地址输入线。图3.1.2ADC0809芯片引脚3.2AT89C51单片机AT89C52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。]其引脚图,如图3.2所示第7页共36页图3.280C52单片机引脚它一共有40个引脚,引脚又分为四类。其中有四个电源引脚,用来接入单片机的工作电源。工作电源又分主电源、备用电源和编程电源。还有两个时钟引脚XTAL1、XTAL2。还有由P0口、P1口、P2口、P3口的所有引脚构成的单片机的输入/输出(I\O)引脚。最后一种是控制引脚,控制引脚有四条,部分引脚具有复位功能。综上所述,单片机的引脚特点是:1.单片机多功能,少引脚,使得引脚复用现象较多。2.单片机具有四种总线形式:P0和P2组成的16位地址地址总线;P0分时复用为8位数据总线;ALE、PSEN、RST、EA和P3口的INT0、INT1、T0、T1、WR、RD以及P1口的T2、T2EX组成控制总线;而P3的RXD、TXD组成串行通信总线。3.34个共阴7段数码管显示器实验中我们采用的是四位共阴数码管,其管脚图如下:第8页共36页图3.3四位共阴数码管静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。第9页共36页第四章硬件各模块设计说明4.1模拟数据输入电路为了使电路更加的直观,增加系统的可读性,将电位器的输出电压作为数据采集模块的输入,模块图如下图所示。图4.1模拟数据输入图在此模块图中,使用了八个滑动变阻器,通过改变电位器是的电阻值,从而是INi端电压值发生改变,进而达到改变采集模块输入数据的目的。4.2AD转换电路多路数据采集系统,通过多路模拟开关控制多路之间的切换,实现单片A/D芯片对多路数据信号的逐个采集。模数转换的核心是模数转换器(ADC),即A/D芯片。它将输入的模拟信号进行量化,即把连续的模拟信号转换为计算机能处理的离散数字信号。模块图如下图所示。第10页共36页图4.2ADC0809转换模块图上图所示原理图工作过程为:ALE的上升沿将A、B、C端选择的通道地址锁存到8位A/D转换器的输入端。START的下降验启动8位A/D转换器进行转换。A/D转换开始使EOC端输出低电平。A/D转换结束,EOC输出高电平。该信号通常可作为中断申请信号。OE为读出数据允许信号。OE端为高电平时,可以读出转换的数字量。4.3数码管显示电路显示部分由4个八段共阴数码管和两片74LS373组成,数码管为动态扫描显示,动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管