模拟电压的测量与显示._第1页
模拟电压的测量与显示._第2页
模拟电压的测量与显示._第3页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要2第一章引言3第二章设计原理及要求4第三章硬件设计思路及原理图43.1 系统总体设计框图43.2 AD转换电路53.3 AT89C51的功能介绍6第四章软件仿真电路设计 104.1 设计思路104.2 仿真电路设计图104.3 设计过程114.4 LED 数码管的控制显示 12第五章系统软件程序的设计 135.1 主程序设计135.2 A/D 转换子程序135.3 中断显示程序14第六章 电压表的调试及性能分析 156.1 调试与测试156.2 性能分析16程序17总结22摘要在电路设计中我们时常会用到电压表,过去大部分电压表 还是模拟的,虽然精度较高但模拟电压表采用用指针式,里面是 磁电

2、或电磁式结构,所以响应较慢。为适应许多高速信号领域目 前已广泛使用数字电压表。本设计是基于Atmel51单片机开发平 台和自动控制原理的基础上实现的一种数字电压表系统。该系统采用Atmel89C52单片机作为控制核心,以ADC0809为数据采样 系统,实现被测电压的数据采样;使用系列比较器检测输入电压 的范围,并通过继电器阵列实现了输入量程的自动转换;使用共 阴极数码管显示被测电压。关键词:单片机、电压检测、模数转换第一章前言电子电压表主要用于测量各种高、低频信号电压,它是电子 测量中使用最广泛的仪器之一。根据测量结果的显示方式及测量 原理不同,电压测量仪器可分为两大类:模拟式电压表 (AVM

3、和 数字式电压表(DVM。模拟式电压表是指针式的,多用磁电式 电流表作为指示器,并在表盘上刻以电压刻度。数字式电压表首 先将模拟量经模数(A/D)转换器变成数字量,然后用电子计数 器计数,并以十进制数字显示被测电压值。众所周知,模拟电压表精度较高,曾经有很广阔的市场,现 在依然有不少工程师依然在使用模拟电压表。 的确模拟电压表在 显示测量值方面精度校准,然而却也存在问题。模拟电压表采用 用指针式,里面是磁电或电磁式结构,所以其响应速度较慢。然而在高速发展的当今社会,高速信号处理的需求越来越 多,由于模拟电压表响应速度较慢已经不适用与高速信号领域, 取而代之的将是数字电压表。但数字电压表由于存在

4、采样误差, 精度不是很高。不过目前可以通过技术手段来缩小误差。 使其精 度达到与模拟电压表一样精确甚至更高。 可见将来数字电压表必 将取代模拟电压表。现在有越来越多的数字测量仪器的出现但原 理皆与数字电压表殊途同归,因此研究数字电压表有着很大现实 意义。第二章设计原理及要求本设计是利用单片机AT89C51设计一个数字电压表,测量0 5V之间的直流电压值,四位数码显示。2.1数字电压表的实现原理ADC0808是 8位的A/D转换器。当输入电压为5.00V时,输 出的数据值为255 (0FFH,因此最大分辨率为0.0196 (5/255)。 ADC0808具有8路模拟量输入端口,通过 3位地址输入

5、端能从8 路中选择一路进行转换。如每隔一段时间依次轮流改变 3位地址 输入端的地址,就能依次对8路输入电压进行测量。LED数码管 显示采用软件译码动态显示。通过按键选择可对8路循环显示,也可单路显示,单路显示可通过按键选择显示的通道数。2.2数字电压表的设计要求可以测量05V范围内的直流电压值。在4位LED数码管上 显示电压值,LED数码管显示电压值,显示范围为0.00V5.00V。 要求测量的最小分辨率为0.02V。第三章硬件设计思路和原理图3.1 系统总体设计框图本系统采样Atmel89C51单片机作为控制核心,以ADC0808为数据采样系统,实现被测电压的数据采样;使用系列比较器检 测输

6、入电压的范围,用共阴极数码管显示结果。输入电压电压检测显示电路51单片机AD转换3.2 AD转换电路利用ADC0808乍为AD数据采样器件,ADC0808是CMO单片型逐次逼近式A/D转换器它由8路模拟开关、地址锁存与译 码器、比较器、8位开关树型D/A转换器、逐次逼近。ADC0808 的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地 址锁存器中。此地址经译码选通 8路模拟输入之一到比较器。 START上升沿将逐次逼近寄存器复位。下降沿启动 A/ D转换, 之后EOC输出信号变低,指示转换正在进行。直到 A/ D转换完 成, EOC变为高电平,指示A/D转换结束,结果数据已存入锁存

7、 器,这个信号可用作中断申请。当 OE输入高电平 时,输出三态 门打开,转换结果的数字量输出到数据总线上。ADC0808各个管教功能:IN0IN7: 8路模拟量输入端。2-12-8 : 8位数字量输出端。ADDA ADDB ADDC 3位地址输入线,用于选通 8路模拟输 入中的一路ALE地址锁存允许信号,输入,高电平有效。START A/D转换启动信号,输入,高电平有效。EOC A /D转换结束信号,输出,当 A/ D转换结束时,此 端输出一个高电平(转换期间一直为低电平)。OE数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字 量。CLK

8、时钟脉冲输入端。要求时钟频率不高于 640KHZREF( +)、REF(-):基准电压。Vcc:电源,单一+ 5V。GND 地。3.3 AT89C51的功能介绍简单概述AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPERO Flash Programmable and Erasable Read OnlyMemory )的低电压、高性能 CMOS 8位微处理器,俗称单片 机。AT89C51是一种带2K字节闪存可编程可擦除只读存储器 的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用 ATMEL高密度非易失存储器制造技术制造, 与工业标准的MCS-51指令集和输出

9、管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。 AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高 且价廉的方案。外形及引脚排列如下图所示。U1Hz£-5-§ T>XTAL1PO.O/ADOPO1XAD1PO.2/AD2XTAL2PO3/AD3PO.4/AD4POSADSP06/AD6RSTPO.7/AD7P2 0/A8P2.1/A9P2 2/A1 0P£ENP2JAK11ALEP2.4/A12EAP2.5AMI3P2.B/A14P2 7/A15PI

10、 .0P3.0/RXDP1.1P3.1/TXDP1.2P3.2MT0P1.3P3.3/1NT1P1.4P3.4/T0P1.5P3.5/T1P1 6P3.6/WRP1 7P3.7/RD-0C5T -PROGRAM EST hex0 1 rz37h35p35h3斗冀iV21b1V22h2$Vji25I2$ii27t益10h b P|hn_L2 1339 :_LX:15 :15 ;17 '主要功能特性(1) 4K字节可编程闪烁存储器。(2) 32 个双向 I/O 口; 128 X 8 位内部 RAM。0-24(3) 2 个16位可编程定时/计数器中断,时钟频率MHz(4) 可编程串行通道。(

11、5) 5个中断源。2个读写中断口线。(7) 低功耗的闲置和掉电模式。(8) 片内振荡器和时钟电路。3.3.3 AT89C51的引脚介绍89C51单片机多采用 40只引脚的双列直插封装 (DIP)方 式,下面分别简单介绍。(1)电源引脚电源引脚接入单片机的工作电源。Vcc(40引脚):+5V电源。GND(20引脚):接地。时钟引脚XTAL1(19引脚):片内振荡器反相放大器和时钟发生器电路 的输入端。XTAL2(20引脚):片内振荡器反相放大器的输出端。复位RST(9引脚)在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚 保持高电平,51芯片

12、便循环复位。 EA/Vpp(31 引脚)EA为外部程序存储器访问允许控制端。当它为高电平时,单片机读片内程序存储器,在 PC值超过0FFFH后将自动转向外 部程序存储器。当它为低电平时,只限定在外部程序存储器,地 址为0000HFFFFH Vpp为该引脚的第二功能,为编程电压输入 端。(5)ALE/ PROG (30 引脚)ALE为低八位地址锁存允许信号。在系统扩展时,ALE的负跳沿江P0 口发出的第八位地址锁存在外接的地址锁存器,然后再作为数据端口。PROG为该引脚的第二功能,在对片外存储器 编程时,此引脚为编程脉冲输入端。(6) PSEN (29 引脚)片外程序存储器的读选通信号。在单片机

13、读片外程序存储器 时,此引脚输出脉冲的负跳沿作为读片外程序存储器的选通信 号。pin39-pin32 为P0.0-P0.7输入输出脚,称为 P0 口。P0是一个8位漏极开路型双向I/O 口。内部不带上拉电阻, 当外接上拉电阻时,P0 口能以吸收电流的方式驱动八个LSTTL负载电路。通常在使用时外接上拉电阻,用来驱动多个数码管。 在访问外部程序和外部数据存储器时,P0 口是分时转换的地址(低8位”数据总线,不需要外接上拉电阻。(8) Pin 1-Pin8 为P1.0-P1.7输入输出脚,称为 P1 口,是一个带 内部上拉电阻的8位双向I/0 口。P1 口能驱动4个LSTTL负载。(9) Pin2

14、1-Pin28 为 P2.0-P2.7 输入输出脚,称为 P2口。P2 口是一个带内部上拉电阻的 8位双向I/O 口,P2 口能驱 动4个LSTTL负载。端口置1时,内部上拉电阻将端口拉到高电 平,作输入用。对内部Flash程序存储器编程时,接收高8位地 址和控制信息。在访问外部程序和 16位外部数据存储器时,P2 口送出高8位地址。而在访问8位地址的外部数据存储器时其引 脚上的内容在此期间不会改变。(10) Pin 10-Pin17 为 P3.0-P3.7 输入输出脚,称为 P3 口。P3 口是一个带内部上拉电阻的 8位双向I/O 口,P2 口能驱 动4个LSTTL负载,这8个引脚还用于专门

15、的第二功能。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash 程序存储器编程时,接控制信息。第四章软件仿真电路设计4.1设计思路多路数字电压表应用系统硬件电路由单片机、A/D转换器、数码管显示电路和按键处理电路组成,由于ADC080在进行A/D转换 时需要有CLK信号,本试验中ADC0808勺CLK直接由外部电源提 供为500kHz的方波。由于ADC0808勺参考电压 VREM VCC所以 转换之后的数据要经过数据处理,在数码管上显示出电压值。实 际显示的电压值(D/256*VREF) ADC080睬用逐次逼近法转换,把 模拟电压转换成16进制的D,由于是对直流电压05V进

16、行采集, 所以D对应的电压为V0 ,我们的目的就是要把 V0显示在LED 显示器上,因为单片机不好进行小数点计算,所以有:V0=2*D扩大了 100倍,扩大100倍后的结果高八位放寄存器 B,低八位 放寄存器A,分寄存器B为0或不为0的情况进行存取数据,得 到的结果个位放入 R0,十位放入R1,通过查表使之显示在 LED4.2仿真电路图用Protues软件仿真设计的电路如图4-1所示Kd1KTAI.IIF 口皿 1:口 ra.iMDi HJMMTHl “Dd际旳尉旺pzma:FZ.IM»FTEiALE忸心口FT"卫P l.lrxr.T:"BFIZTNinrFIJF

17、l.-tHDHJfP3£-T1PMfSrrraPH町rnrCl£K K t HTTaUourraomOBTTb OliTEAl b GOITTE eraOB'3GH>C'Alb AIVREIP-I VRE'W图4-14.3设计过程简易数字电压测量电路由A/D转换、数据处理及显示控制等 组成。电路原理图见附录2。A/D转换由集成电路0808完成o 0808 具有8路模拟输入端口,地址(23-25)脚可决定对哪路模拟输入 作A/D转换,22脚为地址锁存控制,当输入为高电平时,对地址 信号进行锁存。6脚为测试控制,当输入一个2us宽高电平脉冲 时,就

18、开始A/D转换。7脚为A/D转换结束标志,当A/D转换结 束时7脚输出高电平。9脚为A/D转换数据输出允许控制,当0E 脚为高电平时,A/D转换数据从该端口输出。10脚为0808的时钟输入端,由外部信号源提供。单片机的 P1、P3.0-P3.3端口作 为四位LED数码管现实控制。P3.5端口用作单路显示/循环显示 转换按钮,P3.6端口用作单路显示时选择通道。P0端口作A/D 转换数据读入用,P2端口用作0808的A/D转换控制。4.4 LED数码管的控制显示LED数码管的模型LED数码管模型如图4-6所示bLI4-6LED数码管模型LED数码管的接口简介LED的段码端口 AG分别接至AT89

19、C51的P0.0P0.7 口,位选端14分别接至P2.0、P2.1、P2.2、P2.3。第五章系统软件程序的设计多路数字电压表系统软件程序主要有主程序、A/D转换子程 序和中断显示程序组成。5.1主程序主程序包含初始化部分、调用A/D转换子程序和相应外部0中断显示电压数值程序,初始化部分包含存放通道的缓 冲区初始化和显示缓冲区初始化。另外,对于单路显示和循 环显示,系统设置了一个标志位00H控制,初始化时 00H位设置为0,默认为循环显示,当它为 1时改变为单路显示控 制,00H位通过单路、循环按键控制。流程图如图4-1所示。初始化调用A/D转换子程序调用显示子程序图4.1数字式直流电压表主程

20、序框图5.2 A/D转换子程序A/D转换子程序用于对 ADC0808的4路输入模拟电压进 行A/D转换,并将转换的数值存入 4个相应的存储单元中,A /D转换子程序每隔一定时间调用一次,即隔一段时间对输入电压采样一次。5.3中断显示程序设计中采用中断的方式来读取转换完成的数据能节省 CPU勺 资源当系统设置好后,一旦数据转换完成,便会进入外部中断0, 然后在中断中读取转换的数值,处理数据并送数码管显示输出。LED数码管采用软件译码动态扫描的方式。在中断程序 中包含多路循环显示程序和单路显示程序,多路循环显示程 序把4个存储单元的数值依次取出送到4个数码管上显示,每一路显示一秒。单路显示程序只对

21、当前选中的一路数据进 行显示。每路数据显示时需经过转换变成十进制BCD码,放于4个数码管显示缓冲区中。单路或多路循环显示通过标志 位00H控制。在显示控制程序中加入了对单路或多路循环按 键的判断。图4-3中断显示程序流程图第六章电压表的调试及性能分析6.1调试与测试本设计应用Proteus及KEIL软件,首先根据自己设计的电路图用Proteus软件画出电路模型,关于这个软件的使用通过查一些资料和自己的摸索学习;然后我们用 KEIL软件对所编写的程序进 行编译、链接,如果没有错误和警告便可生成程序的 hex文件,图6-1数字电压表与标准电压表的比较从图中可以看出,简易数字电压表与“标准”数字电压

22、表测得的绝对误差均在0.02V以内,这与采用8位A/D转换器所能达到的理论误差精度相一致,在一般的应用场合可以完全满足要求6.2性能分析由于单片机为8位处理器,当输入电压为5.00V时,输出数 据值为255( FFH因此单片机最大的数值分辨率为0.0196V(5/255 )。这就决定了该电压表的最大分辨率(精度)只能达到0.0196V。测试时电压数值的变化一般以 0.02V的电压幅度变化, 如要获得更高的精度要求,应采用12位、13位的A/D转换器。简易数字电压表测得的值基本上均比标准值偏大 0.01-0.02V。这可以通过校正0808的基准电压来解决,因为该 电压表设计时直接用7805的供电

23、电源作为基准电压,电压可能 有偏差。另外可以用软件编程来校正测量值。ADC0808勺直流输入阻抗为1M欧姆,能满足一般的电压测试 需要。另外,经测试 ADC0808可直接在2MHz的频率下工作,这 样可省去分频率14024。程序LED_0 EQU 30HLED_1 EQU 31HLED_2 EQU 32HLED_3 EQU 33HADC EQU 35HCLOCK BIT P2.4ST BIT P2.5EOC BIT P2.6OE BIT P2.7ORG 00HSJMP STARTORG 0BHLJMP INT_T0START: MOV LED_O, #00HMOV LED_1, #00HMOV

24、 LED_2, #00HMOV P2, #0FFHMOV DPTR, #TABLEMOV TMOD, #02H;采用定时器2实现11 us的定时MOV TH0, #245MOV TL0, #00MOV IE, #82HSETB TR0WAIT: CLR ST;此语句到第三条语句为启动 A/D转换SETB STCLR STJNB EOC, $;查询A/D转换是否结束SETB OE;允许输出MOV ADC, P1 ; A/D转换结果存入 ADC也即卩35H单元中CLR OE;关闭输出MOV A, ADCMOV B, #51;A/D转换数据转BCD码DIV ABMOV LED_3, AMOV A,

25、B;整数位存入LED_3也即33H单元中CLR F0SUBB A,#1AHMOV A,#10MUL ABMOV B,#51DIV ABJB F0,BCD1ADD A,#5BCD1:MOV LED_2,;小数点后第一位存入 LED_2也即32H单元中MOV A, BCLR FOSUBB A,#1AHMOV F0,CMOV A,#10MUL ABMOV B,#51DIV ABJB F0,BCD2ADD A,#5BCD2:MOV LED_1 ,;小数点后第二位存入 LED_1即卩31H单元中MOV A, BCLR F0SUBB A,#1AHMOV F0,CMUL ABMOV B,#51DIV ABJB F0,BCD3ADD A,#5BCD3:MOV LED_0;小数点后第三位存入 LED_0即30H单元中LCALL DISPLJMP WAITINT_T0: CPL CLOCK ;给A/D转换器提供时钟RETIDISP: MOV A, LED_0MOVC A, A+DPTR ;查询小数点后第三位段码CLR P2.3MOV P0, A ;显示小数点

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论