数字电压表的设计.docx
《数字电压表的设计.docx》由会员分享,可在线阅读,更多相关《数字电压表的设计.docx(37页珍藏版)》请在冰豆网上搜索。
![数字电压表的设计.docx](https://file1.bdocx.com/fileroot1/2023-8/16/abb728dd-16cb-4c92-a105-9af0d4dbb472/abb728dd-16cb-4c92-a105-9af0d4dbb4721.gif)
数字电压表的设计
数字电压表的设计
摘要数字电压表是一种对电子电路进行现场检测的常用仪表。
其运用于教学、维护、和科研等各个领域。
本文研究的就是如何设计一个数字电压表。
本文采用的是89C51单片机,A/D转换器采用的是ADC0809。
这种设计的数字电压表,具有硬件电路元件少,成本较低,使用简单的优点;使用C语言编程,其拥有高度的灵活性,较强的可读性。
经过详细的理论研究、设计和调试,最终表明,该方案是可行的。
关键词:
数字电压表;单片机;A/D转换;AT89C51;ADC0809
Thedesignofthedigitalvoltmeter
AbstractDigitalvoltmeterisroutinemaintenance,teachingandresearch,itisessentialforfieldtestingofelectroniccircuitscommonlyusedinstruments.Thisarticleuses89C51microcontroller,A/DconverterisusedADC0809.Thisdesignofdigitalvoltmeter,withlesshardwarecircuitelements,lowcost,simpletouseadvantages;usingtheCprogramminglanguage,whichhasahighdegreeofflexibility,astrongreadability.Afteradetailedtheoreticalresearch,designanddebug,andultimatelyshowthatthisschemeisfeasible.
Keywords:
Digitalvoltmeter;MicroControllerUnit;A/DConverters;AT89C51;ADC0809
第1章绪论
1.1数字电压表的发展
数字电压表是采用了数字化测量技术的现代化电子测量仪器。
从1952年第一个数字电压表诞生后,发展非常迅速。
至今,已有60多年的历史,总共大约分为五代产品。
首伐产物主要为1950到1960年代诞生的电子管类型的数字电压表。
诞生于1960年代的晶体管数字电压表为第二代产品。
第三带产品为1970年到1980年地数字电压表主要为中、小规莫的电压表。
此后,国内外相继推出有大规莫和超大柜莫机成电路(VLSI)组成地数字电压表为第四代产物、智能数字电压表为弟5带产物[1]。
它不但再测量的精度、速渡和自动化成度上大大高于膜拟式电压表,而且体积、代价、功耗、等很多方缅,也与摹拟电压表并驾齐驱。
由此趋势数字电压表必将取代模拟电压表。
1.2数字电压表的特点
在电量侧量中,主要测量对象分别为电压、电流和频率。
三者中测量电压量是最经常的。
并随着电子技术的不断发展,往往需要侧量高精度的电压,所以数字电压表就成为一个不能缺少的测量仪器。
数字电压表(DigitalVoltmeter)简称DVM,它是利用数字测量技术,把数据由连续的模拟量转换为不连续、离散的数字量且加以显示的仪表[2]。
传统的指针式电压表精度低、且功能单一,读数不方便。
随着数字化时代的到来已经不能满足需要,采用单片机的数字电压表比传统的模拟电压表具有读数准确方便、精度高、误差小、测量速度快等优点,得到广泛使用,展现出强大的生命力[3]。
数字电压表有如下特点:
(1)读数准确:
由于读数是数字,所仪读数准确,可消减误差。
(2)准确度高:
其准确度远元超过模拟式电压表。
目前可达到10^-6数量级
(3)灵敏度高:
正常可达到10至1微伏。
(4)使用方便用途广:
开机后调试和预热后就可以用来侧量交流电压、直流电流、电阻和蕰度等参数。
也可连结打印机和转换器。
(5)测量速度快:
通常每秒踩样速度为几十到上万次,最高到上百万次。
(6)输入阻抗高:
最高到1兆欧已上,正常为10^-10安培,由信号源内引起的测量误差能够得到大幅降低。
(7)抗干扰能力强:
积分式A/D转换器,其串模抑置比(SMR)可达100dB、鼻中隔黏膜下切除术后系列模式组抑制率()可以达到100分贝,共模抑制比(CMR)是80分贝和120分贝档DVM,CMR最高达到180dB,抗干扰能力得到了非常大的加强。
(8)集成度高,权力的象征:
新的数字电压表的功耗CMOS电路使用非常好。
1.3基于单片机的数字电压表
SCM是一个集成电路芯片,被称为单芯片微型计算机。
SCM是集成在整块晶片上的有组织地计算机系统,其结构简单功能却很强大。
它的最大特征就是它可单独地完智能化控制功能,完全适用于现代化工业的要求。
以往使用的复杂电子线路、数字电路钩成的控制系统都能被单片机控制系统所代替,由软件空置,实现现伐化、自动化、智能化。
如今,在通讯、智能仪表器件、家电、过成控制和专用控制装置等领彧中单片机控制随处可见。
与单片机的开发应用的日益广泛,设计基于单片机的数字电压表的生产一直是前所未有的空前发展。
第2章基于单片机数字电压表的总体设计
2.1设计指标
1、选取MCS-51单片机为主要,构成一个之流电压表。
2、可以测量0-5V的8路输入电压值。
3、显示器采用4位一体的LED数码馆,至少能够显示两位小数。
4、测量误差约为+0.05V。
2.2设计方案的基本思路
本文所设计得数字电压表主要由硬件和软件俩部份组成。
硬件部份组成有AT89C51心片、ADCO8O9模/数改变心片和显示器。
软件采用汇编语言。
A/D转换模块、数据处理模块及驱动控制和显示模块四个主要模块组成了电压表的测量电路。
A/D转换由ADC0809完成,它的主要工作是将收集到的数据由模拟量转化为数字量,再传送到数据处理模块。
单片机AT89C51完成数据处理,送到显示模块进行显示。
显示模块显示最终测量的电压值。
显示模块有电路和相应的驱动组成,所以驱动模块和显示模块也可看作一个部分。
系统总体框图如图2.1所示
数码显示电路
ADC0809
AT89C51
图2.1系统总体框图
2.2.1硬件电路图及工作过程简介
本设计采用模块化设计,硬件原理图如图2.2所示,主体部分分为A/D转换模块,数据处理模块和驱动,控制和显示模块。
A/D转换为ADC0809,4位LED显示,一般输出线接到八段数码管上这样可以解决数字输出和LED得接口问题。
为了有足够的亮度和较长的使用寿命,我们采用动态扫描方式驱动。
图2.2硬件原理框图
通过数字电压表电路图2.3我们可以知道A/D转换单元ADC0809是如何将IN0接收到的信息然传送给单片机且加以分析最终在LED数码管上显示电压值。
单片机以动太扫描方式驱动数码管,所以数码管显示也是动太显示。
如果扫描的速度非常的快,那么由于发光二极管的余辉效应对于人眼看到的最终显示结果依旧是一个清晰准确的数值。
图2.3电路原理图
2.2.2软件程序设计简介
第一次开机初始化,主要用于微控制器的初始化设置,显示缓冲区初的始化是最重要的初始化内容。
打开ADC0809在准备工作完成后,ADC0809就可以进行数据收集并转换的工作,其主要工作内容是将0到5V的电压模以信号转变为与其对因得O到255的十进制数字量。
数据处理程序再把O~255。
十进制数字转换成相应的0.00v~5.00V数据。
最后在显示子程序显示。
第3章基于单片机数字电压表的硬件设计
3.1A/D转换电路
3.1.1A/D转换芯片的选择
A/D转换器是模拟量输入通道中的一个环节,单片机数据采集系统的关键接口电路。
双积分传换器已经具备了很大的抗干扰实力,费用低。
双积分,逐次逼近型拥有更快,更大的优点相比,并行式A/D转换器3种。
双重积分式A/D转换器拥有转换精度高、抗干扰能力强、价格便宜等众多好处。
与双重积份相比,逐次逼近式A/D转换精度更高,速度更快。
如ADC0809、ADC0808等。
其一般都拥有8路摸拟选通开关,也能和单片机系统相连结,把数字量信息交由单片机处理再显现出来。
由于设计要求地需要本文采取地转换器为ADCO8O9。
3.1.2ADC0809转换过程介绍
ADC是一个外围设备,主要分为:
单积分,二重积分,脉冲宽度调制型和特区(逐次逼近型)。
从产品的价格、精度和转换速度综合比较逐次比较型ADC应用范围较广。
其原理结构如图3.1所示。
主要部件的逐次逼近型ADC的结构:
一个电压比较器,逐次逼近寄存器,收集和保持电路,数字/模拟转换器ADC和锁存器。
图3.1逐次比较型ADC结构
工作过程为:
开始,被测模拟电压u通过逐次比较寄存器和数/模转换器转换成对应的模拟量Us。
其中逐次比较寄存器是将脉冲信号CP转换成数字信号,数/模转换器是将数字信号转换生成对应的模拟量Us。
如果模拟我们的做法或值达到被测电压ui,可以测量电压比较器完成逆转。
在这一点上完成模拟转换,逐次比较堆垛值测量电压Ui。
其实,可以发现逐次比较的模/数转换,也就是数/模转换,用逐次与模拟量比较后得到的最终值。
3.1.3ADC0809的介绍
ADC0809采样率的8位,连续分辨率的模拟输入通道为8的近似式A/D转换器。
其里面布局有8路模拟选通
、通到地址泽马锁存器,八位转换器与3态输出锁存器。
其内部逻辑电路图如图3.2所示
图3.2ADC0809内部逻辑电路图
图3.3ADC0809实物图
图中,多路摹拟开关可选通8路摹拟通到,且容许8路摹拟量份时输人,八路摹拟量同用一个转换器进行传换。
地址锁存、译码电路完成A,B,C三位地址锁存、译码,如表3.1中所示的[5]。
表3.1ADC0809通道选择表
C(ADDC)
B(ADDB)
A(ADDA)
选定的通道
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
(1)ADCO8O9地引脚功用,如图3.4所示。
图3.4ADC0809的引脚图
1:
IN0~IN7:
模拟量输入通道。
2.A、B、C:
模拟通道地址线。
A是抵地址,C是高抵址。
主要功能是对8路摩尼通道进行选责。
3.ALE:
地址锁存允许信号。
4.4.start:
开始信号。
上升沿开始时,内部寄存器0。
START下跳沿时启动心片。
从心开始下一跳。
启动A/D转换。
A/D转换期,开始很低。
5.D7~DO:
数据输出线。
是3太缓冲输出。
也能够与数据线连接。
D0是最抵位。
D7是最高位。
6.6.oe:
输出使能信号。
三所以输出锁存器转换为单片机输出的数据有其自身的。
7.CLK:
时种信号。
正常频率设置在5OOOO赫兹,但不可以高于1280K赫兹。
ADC0809没有内置时种电路所以需要设置时钟信号引脚,时种电路由外界提共。
8.eoc:
转换结束信号。
一般在EOC0表明在发展的体制转换。
。
9.Vcc:
+5V电源,GND:
地。
10.VREF:
参考电压。
作为逐次逼近得标准,决定了输人摹拟量得范围。
用于和输入的模拟信号比较。
(2)ADC0809的工作原理
输入3位地址,且ALE=1,再把地址输入到地址锁存器里。
访问中继解码器闸门8模拟输入到比较器。
的上升沿开始逐渐逼近寄存器然后重置。
下落沿就开动A/D传换,如E0C输出信的号变抵时,此时车专换正在继续。
当完成A/D转换,其将成为高店平。
指示A/D转奂已经结束。
锁存器就已经储存了结果数据。
此信号可作为中断申请。
0E输人高电平,输出3态门会被开启,其最终成效就会发送总线上。
ADCO8O9信号的时序组合图
图3.5ADCO8O9信号得时序组合图
(3)ADC0809和单片机的接口方法
由图2.2电路原理图知道ADCO8O9地数据DO到D7和单片机地总线po连结。
摹拟输入通道A、B、C结地。
因此ADCO8O9仅转换来自通道INO输入得电压。
剩下的通道直接结地。
(结地的目地是为了减少输入噪声)。
晶振是12兆赫兹的单片机ALE输出为2兆赫兹的方波,时种CLK来自单片机的ALE。
START、ALE、0E与单片机地wr、rd与p2.7通过或非门相接。
因为单片机会没有连接微控制器,因此我们只能使用延时等待读取A/D转换的结果。
还执行其他任务时程序单片机的A/D转换EOC也可以连接到微控制器的中断。
这样可以提高单片机工作效率。
3.2AT89C51单片机
3.2.1采用AT89C51的原因
at89c51是最实用地在51系列中,它是由atmel生产的的最广泛使用的芯片之一。
at89c51不但具备功耗低的特点而且在保证低功耗的同时还是一款性能很强大地CM0S控制器。
其功能与8o51指令、馆脚完全谦容,而且芯片内拥有采用FLAsH工艺得4k程序存储器。
Flash技术,用户可以立即清除记忆,重写发电的方式。
显然,在设备的发展,微控制器是非常低的,大大缩短了开发时间。
AT89c51单片机可以为众多控制系统提供高效廉价的设计架构,所以广泛应用在各大控制领域中。
3.2.2AT89C51芯片主要性能参数
与mcs—51产品指令系统完全谦容
4K字节的可重擦写Flash闪速存储器
1000次擦写周期
全静态操作:
0Hz–24Hz
三级加密程序存储器
128×8字节内部RAM
32个可编程I/O口线
2个16位定时/计数器
可编程串行UART通道
6个中断源
在空闲时的功耗省电模式图3.6AT89C51的引脚图
3.2.3单片机及其功能介绍
单片机又称单片微型计算机,而在生活中,我们通常称为直接的单片机,单片机也被称为微控制器、嵌入式控制器。
供应链管理是一个基本的计算机小型化和集成计算机组件的一个单一的芯片上。
其体积小,微控制器功能强,功耗低,而且在高成本的各方面性能和促进自动化设备,使用智能仪表,许多领域等。
AT89C51具有4000字节的内存,内存可以在线可编程闪存快速写。
重复的写/擦除1000倍。
十年的数据存储时间。
其与MCS-51系列单片机上完全兼容,不但可完全替代MCS-51系列单片机,还能使系统具有许多MCS-51系列产品原先没有的功能。
基于AT89C51单片机最小应用系统。
该系统的体积大大缩小。
该系统的成本降低。
从而提高了系统的可靠性。
如果程序不超过4K,四/0端口提供给用户。
5v电压即可编呈,并且删写的时间只要10ms即可,删除时间只有原先同类产品如8751/87c51的百分之一,另外在5v电压的工作环境下擦写损坏器材的几率大大降低,而且只需要一种电源即可,在改编程序时不用拨下芯片,比8751/87c51得12v电压擦鞋更安全方便。
在0MHz-24MHz内,系统能快能慢。
At89c51单片机可以使用3层软件存储器加秘,和硬件加密方法,这样就杜绝系统不被山寨和盗用。
3.2.4单片机的引脚及其功能
各引脚的功能介绍如下所示:
1.VCC:
电源正端。
2.GND:
接地。
3.po口:
po口为八位开路地双向I/0口。
当端口先写“1”,它被定义为使用高阻抗输入。
P0程序也可以用于外部数据存储器中,则该端口线分时转换地址(底部8)和数据总线取。
当闪存编程,P0接收指令字节输入作为原始代码,当奇偶P0口作为指令的字节码输出口,当P0在外部上拉电阻的外部需求。
这时po激活内部上拉电阻。
4.p1口:
p1口为它自己里面地八位双向I/0端口四TTL逻辑门地上拉电阻,可以接收或输出。
端口写“1”被拉高内部,那么可操作的输入端口后。
当作为输入来使用,因为在内部上拉地原因,它会输出一个电流。
在程序验证,Flash编程,P1接收第八。
5.p2口:
p2和p1口,就像建立了八位双地I/0口上拉电阻。
当P2端口写“1”,拉高由内部上拉电阻的输入端口,并作为。
当你进入,因为内部上拉电阻,所以输出电流的存在。
当给定为“1”时,外置储存器地地址读取与写入八含量p2口线维持稳定。
在P2口Flash编程和验证,而且还获得了高八位地址信号和控制信号。
6。
p3口:
p3自备内部上拉电阻,以准双向I/0都可以接受四TTL输出逻辑门。
P3口写入“1”,当它被拉高内部作为输入端口。
外部拉低在这个时候,因为原因拉使P3口输出电流。
。
P3口不但可以读锁存器,而且也可以读引脚。
可以实现“读—修改—输出”的操作。
P3口除了不但可以当做一般地I/O口线外而且也可当做单片机地少许特别功用接口。
比起原先地功效还有最主要地功用为他得第2功用。
见下表3.2:
表3.2P3口的第二功能能
端口引脚
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
INT0(外部中断0)
P3.3
INT1(外部中断1)
P3.4
T0(定时/记数器0)
P3.5
T1(定时/记数器1)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器读选通)
7.RST:
复位输入。
复位输入。
如果出现振荡器高出2个周期高电平工作时将实现单芯片微处理器复位。
8.ale/prog:
地址锁存信号。
访问外部存储器时,为了达到8个地址和数据隔离,通过地址地址锁存器允许锁定输出电平的8个字节的到来。
当在FLASH编程中,这针也可以用来输入脉冲(掠夺)编程。
所以他可以用于外部输出时钟或时间的目的。
需要注意的一件事是,如果使用外部数据存储器,将跳过一个啤酒的脉搏。
必要时可以禁止ALE操作。
可以穿上SFR8EH地址0,在这一点上,ALE除了执行MOVX,MOVC指令工作当其他条件没有功能。
此外,针略高。
的外部应用程序的单片机实现,提供的是无效的。
9.PSEN:
外部储存设备读门信号。
当单片机指令取出从外部程序存储器,每台机器周期PSEN有效两倍。
10.EA/VPP:
外部访问权限。
低电平有效。
如果EA=1,我们选择程序在内存中(80c514KB、80c52是8KB);如果EA=0,程序以外的内存块,是否没有程序内存。
如果使用8Oc31单片机编写软件EA务必结地。
如果拿8751给EA21v电压。
11.xtal1:
振荡器放大器。
如果使用外部振荡器时,该引脚必须接地或节点的驱动程序。
12.xtal2:
反相放大器的输出断。
如果使用外部振荡器,此引脚应悬浮。
3.2.5单片机的时钟电路
时钟电路用于产生时钟信号的电路、最小系统一部分。
对于同步工作,以保证单片机电路的正常秩序必须时间序列的时钟信号控制工作。
系统地时种电路设计是使用芯片内部的振荡电路。
这放大器和反馈元素的晶体谐振器共同组建为自激振荡器。
一般外部电容值无标准要求,电容地大小会由振荡频率和稳定。
还会影响振荡器的振动的速度和温度稳定性。
还会影响震荡器起振的快慢和温度的稳定性。
所以电容应该尽可能的使用陶瓷电容,电容值约为22pF。
正常工作范围在1.2m赫兹到12m赫兹。
都是由于现代科技的发展制造工艺进一步的改进,部分单片机的工作频率范围向两段扩展,最高段40MHz,最低端0赫兹,但通常使用11.0592MHz。
晶振动时钟电路图如图3.7所示。
图3.7时钟电路
3.2.6单片机的复位电路
复位电路是必不可少的在单片机中,复位电路是将处理器和系统组件确定初始状态,即OOOOpc初始化为OOOOh,并从初态0000H单元开始工作。
如果程序运行错误或操作系统错误在假死状态,为让系统重新工作,可按复位键来重新启动。
此外,复位操作也会影响其他一些特殊功能寄存器,也影响了一些引脚单片机。
比如在重置时灰导致ALE信号变为无效。
复位的方法有三种方式:
自动电复位,复位和外部脉冲复位按钮。
我们这里的复位线路说的上电自动复位和按键复位。
由于电容两端的电压不能改变,所以潜在的瞬态电容负端电电位为高水平的5V端相同。
电源立即向电容充电,充电过程后不久,对直流点来说是开路,这时RST引脚通过R12接地。
这一过程产生一个可以保持高水平脉冲几个机器周期足够把单片机有效的复位。
手动按键复位的原理也是一样,它将在按钮按下的即时完成电容放电再充电过程第一,还将产生一个维护几个机器周期脉冲的高水平,有效的复位单片机。
如果在12MHz晶振频率,复位信号必须持续2µ的上面。
图3.8所示的复位电路。
图3.8复位电路
3.3显示电路
3.3.1数码管介绍
本设计中采用显示模快由1个四位1体地七段LED数码馆构成,数码管用来显示电压值。
LED数码管的特点有低功耗、大角度,亮度高,简单的线路,抗冲击性能和使用寿命长等。
它由八个发光二极管,7根据“8”的形状,最后一个是点的形状是在右下角,通常用于显示小数点。
数码管的引脚图和实物图如图3.9和3.10所示。
图3.9数码管引脚图图3.10数码管实物图
将八个led连结在一路其公共媏来接高电平这就是共阳极接法。
相反,公共连接到较低的水平,被称为共阴极连接。
如图3.6所示。
我们使用LED显示时,应注意区分这两个之间的联系。
我们一定要把数字字符来编码这样才可以显示数字符。
共计8段。
诸如发光二极管导通,行程将对应于被点燃。
最后,不同形式的发光特性。
我们的8个部分为了便利分别命名为A,B,C,D,E,F,G,DP。
比如,我们要数码管显示“0”,那么a、b、c、d、e、f、g、dp分别为00000011B;显示“A”,则A,B,C,D,E,F,G,DP分别为OOO1OOO1b(共阳极)。
若是显示现几个不同数字,就让多少个位码循环是抵电平。
图3.11LED共阳极、共阴极接法
LED的显示方式有两种,分别为静态显示和动态显示方式
静态显示:
若我们想要显示器显现出某一字符的情况下,对应地发光2极管一直导通或截止。
所谓静态显示,驱动电流小会给出一个更高的显示亮度。
当时,共阴极或共阳极点连接点与地面,选择线段(一〜DP)和8位并行端口连接在静态显示方式LED显示屏。
这种方法(静态显示)是较少的CPU时间,使监测和控制。
然而,该方法的硬件电路比较复杂和昂贵。
。
动态显示:
逐位地点亮显示器的每一个位。
逐位点亮显示器的每一位。
每个显示器要亮1次,每隔一段时间,这取决于传导电流和光的时间和空间的比例显示亮度。
当数量的LED显示屏,我们必须简化电路,降低成本,同时代码段在一起的所有位,一个8升的端口控制,一般对应点共阴极或阳极点是从我口线控制。
动态显示用发光管的余辉和人眼视觉效果的持久性,使您在同一个数字显示的印象。
因为显示器的静态显示亮度相对于动态显示好,因此线流电阻地选取应该是较小,而不是大。
结合设计要求和实际需要在设计中本文采用了动态显示,设计要求自动显示8路模拟电压值,结合实际的布局布线复杂程度,为简化电路起见,动态显示实现容易。
3.3.2数码管显示模块电路
因为数码管的性能要求,在10mA~20mA数码管面积动态电流,而且电路中要使用3个9012三极管来进行扩流分别驱动3个数码管且因为三极管是PNP型的,所以我们必需外接高电平。
因为在中间代码的设计显示是P1口的输出,所以我们需要添加高。
因为代码是由P1端口输出显示在设计的中间,所以在数字化和微控制器的P1口进入限流电阻1K,为了防止数字输入到超出要求的微过量的电流之间的电流范围。
对本文中,电路简单和方便的排斥