完整版数字电压表设计.docx

上传人:b****0 文档编号:9502591 上传时间:2023-05-19 格式:DOCX 页数:31 大小:454KB
下载 相关 举报
完整版数字电压表设计.docx_第1页
第1页 / 共31页
完整版数字电压表设计.docx_第2页
第2页 / 共31页
完整版数字电压表设计.docx_第3页
第3页 / 共31页
完整版数字电压表设计.docx_第4页
第4页 / 共31页
完整版数字电压表设计.docx_第5页
第5页 / 共31页
完整版数字电压表设计.docx_第6页
第6页 / 共31页
完整版数字电压表设计.docx_第7页
第7页 / 共31页
完整版数字电压表设计.docx_第8页
第8页 / 共31页
完整版数字电压表设计.docx_第9页
第9页 / 共31页
完整版数字电压表设计.docx_第10页
第10页 / 共31页
完整版数字电压表设计.docx_第11页
第11页 / 共31页
完整版数字电压表设计.docx_第12页
第12页 / 共31页
完整版数字电压表设计.docx_第13页
第13页 / 共31页
完整版数字电压表设计.docx_第14页
第14页 / 共31页
完整版数字电压表设计.docx_第15页
第15页 / 共31页
完整版数字电压表设计.docx_第16页
第16页 / 共31页
完整版数字电压表设计.docx_第17页
第17页 / 共31页
完整版数字电压表设计.docx_第18页
第18页 / 共31页
完整版数字电压表设计.docx_第19页
第19页 / 共31页
完整版数字电压表设计.docx_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

完整版数字电压表设计.docx

《完整版数字电压表设计.docx》由会员分享,可在线阅读,更多相关《完整版数字电压表设计.docx(31页珍藏版)》请在冰点文库上搜索。

完整版数字电压表设计.docx

完整版数字电压表设计

 

电子线路硬件课程设计总结报告

 

课题:

数字电压表设计

班级:

作者:

学号:

指导老师:

 

摘要

一个测试结果稳定、准确的数字电压表,既能减少了使用者的工作量,又提高了测量的精准度,而且人为误差被大大减小,方便与电路打交道的人快速有效的完成自己的工作。

本项目设计并实现了一个能够对0-200V范围的直流电压进行测量的数字电压表,测量分为4挡:

200mV、2V、20V和200V,手动控制档位选择,显示部分小数点自动实现切换。

项目基于AT89C51单片机,拓展AD转换、显示部分。

不同档位的待测电压通过不同档位的衰减电路后变为0-200mV,再通过一个OPA336一致放大到0-2V送入AD的输入端,然后通过芯片AT89C51内的程序控制AD转换并输出。

不同档位的电压信号又不同的程序控制输出到数码管显示。

整个电路连线简单易于实现,而且成本很低,测出的电压精度也足够满足需求。

关键字:

数字电压表;AT89C51单片机;易于实现

Abstract

Adigitalvoltmeterwhichisstableandaccuratecannotonlyreducetheworkoftheuser,butalsofreeofftheerrorproducedbyusingwrong.Itisconvenienttopeoplewhoworkwiththecircuit.

Thisvoltmeterisdesignedtomeasureavoltagebetween0to200.It’sdividedintofourgearsas200millivolt,2volt,20volt,and200volt.Gearschangingisworkedbyhang.TheprojectisbaseonthechipAT89C51ofone-chipcomputer.Ananalogtodigitalconverter,adisplaysection,andavoltageattenuationareattachedtothechipandtheymakeupthedesign.Thevoltageofdifferentgearsarechangedinto0-200millivolt.ThentheyaresenttoanOPA336,andit’soutputis0-2volt.Theoutputissenttotheanalogtodigitalconverter.Thenthechipcontroltheanalogtodigitalconverter’soutputtothedisplayingsection.

Thewholecircuitiseasy.Andalthoughit’scostisverylow,theaccuracyoftheoutcomeisfine.

keywords:

digitalvoltmeter,one-chipcomputer,AT89C51

一、项目概述

数字电压表(DigitalVoltmeter)简称DVM,它是利用模拟/数字变换器(A/D)原理,以十进制数字形式显示被测电压值的仪表。

DVM除了广泛用于电压测量外,通过各种变换器还可以测量其他电量或非电量,用途十分广泛。

DVM的高速发展,使它已成为实现量程自动化、提高工作效率不可缺少的仪表。

数字化是当前计量仪器仪表发展的主要方向之一。

而高准确度直流DVM的出现,又使DVM进入了精密标准测量领域。

DVM广泛应用在测量领域中,其测量结果的准确度和可信度取决于它结构主要性能和技术指标。

评价某种DVM性能的优劣,产品质量是否合格,是否满足技术指标的要求,必须通过正确的鉴定和测试结果才能分析判断出来。

传统的指针式电压表功能单一,精度底,读数不方便,不能满足数字化时代的需要。

采用单片机的数字电压表,具有精度高,抗干扰能力强,可扩展性强等优点。

现今,由各种单片A/D转换器构成的数字电压表,已被广泛用于电子及电工测量,工业自动化仪表,自动测试系统等智能化测量领域,展示了强大的生命力。

而且,由DVM扩展而成的各种通用及专用数字仪表仪器,也把电量及非电量测量技术提高到新的水平。

本设计中电压表可以测量直流电压测量范围(0~200V)共分四档:

200mv、2v、20v、200v,并且通过4位LED数码管三位半显示其数值。

所谓三位半的三位是指可以显示0-9的十个数字,称作全位。

千位数最大显示为1(小于1时消隐),这位在理论上讲最大能显示2,比如在2V挡,最大显示应该是2.000,但实际显示1.999,和理论值还差一。

那么这位理论值最大应该显示2,而实际只能显示1,就叫做1/2位。

理论值为分母,实际显示最大值为分子。

根据数字电压表的功能实现要求,选用AT89C51单片机作控制系统,由ADC0809实现A/D转换功能,放大器选用OPA336实现放大10倍的功能。

在保证送入A/D的电压为2V的等效电压时,利用AD还可以较精确地测出其值。

因为对不同电压档位采用不同的端口和程序控制,所以可以大大减小电路的要求,更利于实现。

 

二、项目设计目标

(1)项目综合描述

本项目要求设计并实现一个数字电压表的装置,该装置能够对0~200V范围的直流电压进行测量。

测量分为4挡:

200mV、2V、20V和200V。

输入为模拟直流电压,输出为数字量,并在必要的辅助输出显示设备上显示。

同时具有正、负电压极性显示,小数点显示。

能判读并显示被测量信号超出所选择的量程范围。

并根据不同的量程能自动调整小数点。

(2)任务要求:

①数字电压表有4个测量挡:

200mV、2V、20V和200V,能将被测的模拟直流电压在显示设备上显示出来。

②数字电压表以基本量程为基础,同时设计衰减器进行量程的扩展。

③具有

位(三位半)显示:

有3位完整的显示,另外最高位只显示0或1。

④能够判读并显示被测电压的极性。

⑤测量速度为2~5次/秒,分辨率为0.1mV,测量误差<0.1%。

(3)发挥部分

1)设计并调试自动量程转换电路。

2)设计并调试小数点自动切换电路。

 

三、项目方案论证

方案一:

用A/D转换、LED显示芯、各种需要的中规模门电路芯片、电阻、电容等纯硬件实现数字电压表:

通过电阻衰减网络得到衰减后的电压,送入CC7107,将其输出的数字量接入LED显示。

该方法是用纯硬件实现数字电压表,硬件连接较复杂,电路体积大,测量方式不灵活,测量的误差比较大、精确度难做高。

利用ICL7106实现的电路连线图如图1

ICL7106是美国Intersil公司的产品,是目前应用最广泛的一种单片三位半的A/D转换器。

图1

该仪表的量程UM=200Mv,称之为基本表或基本档。

其中:

C1、R1分别为振荡电容和振荡电阻。

RP、R2组成基准电压的分压电路。

RP采用精密多圈电位器,R2为固定电阻,调整RP可使基准电压Uref=100.0mV。

R3、C3为模拟输入端的高频阻容式滤波器,以提高仪表的抗干扰能力。

因ICL7106的输入阻抗很大,输入电流很小,故可取R3=1MΩ,C3=0.01uF。

C2、C4分别为基准电容与自动调零电容。

C5,R4依次为积分电容和积分电阻。

仪表采用9V电池供电。

电路中将IN-端与COM端短接。

该电压表的测量速率约为2.5次/秒。

而ICL7106只有液晶笔段及背电极驱动端,没有小数点驱动端[8]。

要显示小数点,需另加外围电路。

 

方案二:

采用单片机+A/D芯片+显示芯片设计数字电压表:

单片机型号广泛、并且价格低廉。

只要单片机内部具有中断、I/O、RS232等模块就能够满足选型基本要求,系统的精度能够保证。

该方法硬件连接相对简单,测量误差较小,精度较高。

原理框图如图2

据数字电压表的功能实现要求,选AT89C51单片机作控制系统,低电压经放大器选用OPA336实现放大10倍、高电压经大电阻分压从而控制输入ADC0809的信号在2V左右实现A/D转换经AT89C51送入LED显示。

图2

A/D转换方案

模/数转换器是一种连接的模拟量转化成离散数字量的一种电路或器件。

模拟信号转换为数字信号一般需要经过抽样保持和量化编码两个过程。

针对不同的采样对象,有不同的A/D转换器可供选择,其中有通用的也有专用的。

有些ADC还包含有其他的功能,在选择A/D器件时需要考虑多种因素,除了关键参数、分辨率和转换速度以外,还需考虑其他因素,如静态与动态精度,数据接口类型,控制接口与定时,采样保持性能,基本要求,校准能力、功耗、使用环境要求、封装形式以及与软件相关的问题。

ADC按功能划分可以分为直接转换和非直接转换两大类,其中非直接转换又有逐次分级转换、积分式转换等类型。

A/D转换器在实际应用时,除了要设计适当的采样/保持电路、基准电路和多路模拟开关等电路外,还应根据实际选择的具体芯片进行输入模拟信号极性转换等设计。

方案1:

采用分级式转换器,这种转换采用两步或多步进行分辨率的闪烁式转换,进而快速的完成模/数转换,同时可以实现较高的分辨率。

例如,在利用两步分级完成n位转换的过程中,首先完成m位的粗转换,然后使用精度至少为m位的模/数转换器,将此结果转换达到1/2的精度并且与输入信号比较。

对此信号用一个k位转换器转换,最后将两个输出结果合并。

方案2:

采用双积分型A/D转换器,如ICL7153等。

双积分型A/D转换器转换精度高,但转换速度不太快,若用于温度测量,不能及时地反映当前温度值,而且多数双积分型A/D转换器其输出端都不是二进制码,而是直接驱动数码管的。

所以,若直接将其输出端接I/O接口会给软件设计带来极大的不方便。

方案3:

采用逐次逼近式转换器,对于这种转换方式,通常是采用一个比较器输入信号与为基准的n位DAC输出进行比较,并执行n次1位转换。

这种方法类似于天平上用二进制码称量物质。

采用逐次逼近寄存器,输入信号仅与高位比较,确定DAC的高位。

确定后结果别、被锁存,同时加到DAC上,以决定DAC的输出。

逐次逼近型转换器,如ADC0809,AD574等,其特点是转换速度快,精度也比较高,输出为二进制码,直接接I/O口,软件设计简单。

ADC0809芯片内包含8位模/数转换器,8通道多路转换器与微控制器兼容的控制逻辑。

8通道多路转换器能直接连通8个单端输入信号中的任何一个。

由于ADC0809设计时考虑到若干中模/数转换技术优点,所以该芯片非常适合于过程控制,微控制器输入通道的结合口电路、智能仪器和机床控制等应用场合,并且价格低廉,降低设计成本。

方案选择:

选择方案3。

理由:

用ADC0809采样速度快,价格低廉,降低设计成本。

 

方案三:

基于FPGA+A/D芯片的数字电压表:

A/D转换器将模拟量转换为数字量,FPGA将转换的数字量变成需要的数字量,送LED进行显示。

系统集成度高,精度可以保证,但是系统成本较高。

最终,我决定选择老师提供的第二个方案,也就是用单片机实现。

因为相比纯硬件,不需要消耗太多的电子元器件,集成度稍微高一点;相比FPGA,它又稍微偏硬件一些,更贴合这次硬件课设的宗旨。

而且它不但可其精度和显示可以精确控制,且电路相对简单成本低,稳定性较高,功能扩展方便,故采用此设计。

 

四、系统总体设计

系统总体框图如下:

主要四个模块:

档位部分,AD转换部分,芯片AT89C51(内部烧录程序),显示部分(LED数码管)(附加一个时钟模块)。

档位部分:

四种不同的电压值送到不同的档位,全部都衰减至0-200mV,然后经放大器OPA820放大10倍到0-2V;

AD转换:

0-2V的衰减电压经0809转换输出0-255的二进制电平值;

芯片及显示部分:

输出的二进制电平直接送到AT89C51,通过芯片内部程序将信号送到LED显示;

时钟部分:

涉及0809的一个分频模块,因为ADC0809需要500KHz的输入,而芯片AT89C51(30脚)提供一个2MHz的时钟,所以要经过一个分频模块送给ADC0809。

 

五、系统硬件设计与实现

1档位控制部分设计

档位部分,分为4个档位,0-200mV,0-2V,0-20V,0-200V,为了方便

调档,将4个档位送进来的电压均衰减至0-200mV,然后统一经过放大电路放大到0-2V送入ADC0809。

电路原件及连线如下:

S1,S2,S3,S4分别为双刀双置开关,如S1闭合,不仅将电压信号送到200V档位的衰减电路,而且同时送入了一个标志为信号V1,V1控制芯片内显示程序选择为200V档位。

200V档位,900K,20V档90K,2V档9K;

所以200V档衰减1K/(900K+90K+9K+1K)=0.001,衰减1000倍;

20V档衰减1K/(90K+9K+1K)=0.01,衰减100倍;

2V档衰减1K/(9K+1K)=0.1,衰减10倍;

200mV直接送入。

而放大器OPA336采用同相比例运算电路,放大倍数为:

A=1+R5/R4=10

放大倍数10倍放大后输入给A/D转换电路做模数转换(因为0809输入为0-5V,分成256个电平值),这样可以精确的转换200mV以下的电压信号。

2AD转换部分设计

2.1A/D转换电路设计

把输入的1路模拟信号量化转换为8路数字量,然后把8路数字量送入芯片处理,再由芯片输出到数码管。

如图为连线图:

8位二进制电平输出到芯片的I/O端

ABC三个选择端均接地,故输入端地址000,也就是0输入端—>IN-0口。

电压经过衰减和放大后进入IN-0口进入AD,然后芯片AT89C51的P3.0,P3.1,P3.2分别控制转换开始和转换结束后数据允许输出。

1路模拟信号进入IN-0量化转换为8路数字量。

如AD转换输入为A,则输出电平为8位二进制数(对应十进制B)

B=A*255/5;

实际显示到数码管:

C=B*5/255。

(显示代码处理常乘以1000,然后适当加上小数点用以数码管输出显示)

2.2ADC0809芯片介绍

ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。

它是逐次逼近式A/D转换器,可以和单片机直接接口。

ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。

多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。

三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。

1)ADC0809的内部逻辑结构

ADC0809的内部逻辑结构

2)引脚结构

ADC0809引脚结构图

IN0-IN7:

8条模拟量输入通道

ADC0809对输入模拟量要求:

信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。

地址输入和控制线:

4条

ALE为地址锁存允许输入线,高电平有效。

当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。

A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。

通道选择表如下表所示。

地址输入线的通道选择

C

B

A

选择的通道

0

0

0

IN0

0

0

1

IN1

0

1

0

IN2

0

1

1

IN3

1

0

0

IN4

1

0

1

IN5

1

1

0

IN6

1

1

1

IN7

ST为转换启动信号。

当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。

EOC为转换结束信号。

当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。

OE为输出允许信号,用于控制三态输出锁存器向单片机输出转换得到的数据。

OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。

D7-D0为数字量输出线。

CLK为时钟输入信号线。

因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ。

VREF(+),VREF(-)为参考电压输入。

3)ADC0809应用说明:

(1)ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。

(2)初始化时,使ST和OE信号全为低电平。

(3)送要转换的哪一通道的地址到A,B,C端口上。

(4)在ST端给出一个至少有100ns宽的正脉冲信号。

(5)是否转换完毕,我们根据EOC信号来判断。

(6)当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。

 

3芯片及显示部分设计

芯片为整个硬件设计的核心,烧录进芯片的代码既负责控制AD的转换和AD量化的数字电压信号的输出,还负责数字电压信号的处理和输出到数码管显示的控制,所以做好与芯片部分有关的设计十分关键。

3.1芯片连接及说明如下:

4位位选信号

连接AD的8位输出电平

上面的显示部分采用4合1的8段数码管。

单片机的P2.0、P2.1、P2.2、P2.3、P2.4、P2.5、P2.6、P2.7分别与数码管的a、b、c、d、e、f、g、dp相连接,芯片的P2口提供数码管的段码;单片机的P0.0、P0.1、P0.2、P0.3与四位八段数码管的选位输入D1、D2、D3、D4相连接,芯片的P0.0—P0.3提供位选信号,用单片机P0.0、P0.1、P0.2、P0.3控制P2口输出到四位LED的相应位。

AT89C51的几个I/O口连线很清楚,将AD模块和数码管模块连接起来,并且利用其中的程序起到了一个总的控制和存储作用,也使得电路大大简化。

3.3AT89C51单片机的介绍

AT89C51是美国ATM公司生产的低电压,高性能CMOS8位单片机,片内含4Kbytes的可反复擦写的只读程序存储

器(EPROM)和128bytes的随机存取数据序存器(RAM),器件采用ATMEL公司的高密度/非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和FLASH存储单元,AT89C51单片机为许多嵌入式控制系统提供了一种灵活行高且价廉的方案。

管脚排布如图2-2所示。

1)主要特性

·4K字节可编程FLASH存储器(寿命:

1000写/

擦循环)

·全静态工作:

0Hz-24KHz

·三级程序存储器保密锁定

·128*8位内部RAM

·32条可编程I/O线

·两个16位定时器/计数器

·6个中断源

·可编程串行通道

·低功耗的闲置和掉电模式

·片内振荡器和时钟电路

2)管脚说明

VCC:

供电电压。

GND:

接地。

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

管脚备选功能:

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2/INT0(外部中断0)

P3.3/INT1(外部中断1)

P3.4T0(记时器0外部输入)

P3.5T1(记时器1外部输入)

P3.6/WR(外部数据存储器写选通)

P3.7/RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:

复位信号的输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:

来自反向振荡器的输出。

3)震荡特性

XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

4)芯片擦除

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。

在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

4分频模块设计

之所以会有分频模块,是因为AD部分工作的时钟是500KHz与芯片AT89C51能提供的时钟(2MHz)相差较大,所以把AT89C51(30脚)提供的时钟进行四分频,得到500KHz送入AD。

分频电路所需原

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2