基于单片机的数字万用表设计毕业论文设计.docx
《基于单片机的数字万用表设计毕业论文设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字万用表设计毕业论文设计.docx(37页珍藏版)》请在冰豆网上搜索。
基于单片机的数字万用表设计毕业论文设计
(此文档为word格式,下载后您可任意编辑修改!
)
优秀论文审核通过
未经允许切勿外传
毕业设计(论文)
题目:
基于单片机的数字万用表设计
英文题目:
THEDESIGNOFDIGITALMULTITESTER
BASEDONMONOLITHICINTEGRATEDCIRCUIT
学生姓名
学号
指导老师职称
专业
摘要
本次设计用单片机芯片AT89s52设计一个数字万用表,能够测量交、直流电压值、直流电流、直流电阻以及电容,四位数码显示。
此系统由分流电阻、分压电阻、基准电阻、电容测试芯片电路、51单片机最小系统、显示部分、报警部分、AD转换和控制部分组成。
为使系统更加稳定,使系统整体精度得以保障,本电路使用了AD0809数据转换芯片,单片机系统设计采用AT89S52单片机作为主控芯片,配以RC上电复位电路和11.0592MHZ震荡电路,显示芯片用TEC6122,驱动8位数码管显示。
程序每执行周期耗时缩到最短,这样保证了系统的实时性。
关键词数字万用表AT89S52单片机AD转换与控制
Abstract
ThisdesignisdesignadigitaluniversalmeterwithchipAT89s52ofone-chipcomputer,canmeasureand,directcurrentpressingvalue,directcurrentflow,thedirectcurrentisthatsome,warningpart,ADchangeandcontrolmakinguppartly.Inordertomakethesystemmoresteady,makethewholeprecisionofthesystembeensured,thiscircuitthecircuittomatchonRC,showthatthechipusesTEC6122,urge8numberstobeinchargeofshowing.Theeveryexecutioncycleconsumingtimeofprocedurecontractstogetshortest,inthiswaythereal-timecharacterofthesecuritysystem.
Keyword:
DigitaluniversalmeterAT89S52one-chipcomputerADchangesandcontrols
绪论
数字万用表亦称数字多用表,简称DMM(DigtialMultimeter)。
它是采用数字化测量技术,把连续的模拟量转换成不连续的、离散的数字形式并加以显示的仪表。
传统的指针式万用表功能单精度低,不能满足数字化时代的需求,采用单片的数字万用表,精度高、抗干扰能力强,可扩展尾强、集成方便,目前,由各种单片机芯片构成的数字电万用表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,显示出强大的生命力。
数字万用表具有以下几点特点:
1).显示清晰直观,计数准确
为了提高观察的清晰度,新型的手持式数字用用表(HDMM)已普遍采用字高为26mm的大屏幕LCD(液晶显示器)。
有些数字万用表还增加了背光源,以便于夜间观察读数。
2).显示位数
数字万用表的显示位数通常为3位半到8位半。
3).准确度高
准确度是测量结果中系统误差与随机误差的综合。
它表示测量结果与真值的一致程度,也反映了测量误差的大小,准确度愈高,测量误差愈小。
数字万用表的准确度远优于指针万用表。
4).分辨力高
数字万用表在最低电压量程上末位1个字所代表的电压值,称作仪表的分辨力,宏观世界反映了仪表灵敏度的高低。
分辨力随显示位数的增加而提高。
5).测试功能强
数字万用表不公可以测量直流电压(DCV)、交流电压(ACV)、直流电流(DCA)、交流电流(ACA)、电阻(Ω)、二极管正向压降(Uf)、等等。
新型数字万用表大多增加了下述测试功能:
读数保持(HOLD)、逻辑(LOGIC)测试等等。
6).测量范围宽
数字万用表可满足常规电子测量的需要。
智能数字万用表的测量范围更宽。
7).测量速率快
数字万用表在每秒钟内对被测电压的测量次数叫测量速率,单位是“次秒”。
它主要取决于AD转换器的转换速率。
一般数字万用表的测量速率为2~5次秒。
有的能达到20次秒以上,另有的一些比这个还要高得多。
数字万用表可满足不同用户对测量速率的需要。
8).输入阻抗高
数字万用表电压挡具有很高的输入阻抗,通常为10~10000MΩ,从被测电路上吸取的电流小,不会影响被测信号源的工作状态,能减小由信号源内阻引起的测量误差。
9).集成度高,微功耗
新型数字万用表普遍采用CMOS大规模集成电路的AD转换器,整机功耗很低,3位半,4位半手持式数字万用表的整机功耗仅几十毫瓦,可用9V叠层电池供电。
10).保护功能完善,抗干扰能力强
数字万用表具有比较完善的保护电路,过载能力强,新型数字万用表还增加了高压保护器件,能防止浪涌电压。
本设计就是基于这个基础设计一个基于单片机的数字万用表。
该设备具有直观简单的优点。
并且能深入的说明万用表的测量原理。
能直观的了解万用表各个部分的结构和测试原则。
1.数字万用表设计背景
在本章中主要介绍了系统的设计原则和总体方案及系统概述等。
1.1数字万用表的设计目的和意义
数字万用表是当前电子、电工、仪器、仪表和测量领域大量使用的一种基本测量,已被广泛应用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。
随着时代科技的进步,数字万用表的功能越来越强大,把电量及非电量的测量技术提高到崭新水平。
1.2数字万用表的设计依据
根据数字万用表的原理,结合以下的设计要求:
“设计一个数字万用表,能够测量交、直流电压值,直流电流、直流电阻,四位数码显示。
实现多级量程的直流电压测量,其量程范围是200mv、2v,20v,200v和500v.实现多级量程的交流电压测量,其量程范围是200mv、2v,20v,200v和500v.实现多级量程的直流电流测量,其量程范围是2mA ,20mA,200mA、2A和20A.实现多级量程的电阻测量,其量程范围是200、2k,20k,200k和2M。
”以及电容测量电路。
由此设想出以下的解决方法,即数字万用表的系统由分流电阻、分压电阻、基准电阻、电容测试芯片电路、51单片机最小系统、显示部分、报警部分、AD转换和控制部分组成。
为使系统更加稳定,使系统整体精度得以保障。
1.3数字万用表设计重点解决的问题
本设计重点要解决的问题是对不同量程的各种测量内容的转换,还有就是各部分电路组合成一个完整的数字万用表,而难点解决的问题就是程序的设计,要保正其可行性从而保证设计的正确性。
2数字万用表总体设计方案
2.1数字万用表的基本原理
数字万用表的最基本功能是能够测量交直流电压,交直流电流,还有能够测量电阻,数字万用表的基本组成见图2.1。
图2.1数字万用表的基本组成
下面我们分别介绍各个部分的组成:
1)、模数(AD)转换与数字显示电路
常见的物理量都是幅值(大小)连续变化的所谓模拟量(模拟信号)。
指针式仪表可以直接对模拟电压、电流进行显示。
而对数字式仪表,需要把模拟电信号(通常是电压信号)转换成数字信号,再进行显示和处理(如存储、传输、打印、运算等)。
数字信号与模拟信号不同,其幅值(大小)是不连续的。
这种情况被称为是“量化的”。
若最小量化单位(量化台阶)为,则数字信号的大小一定是的整数倍,该整数可以用二进制数码表示。
但为了能直观地读出信号大小的数值,需经过数码变换(译码)后由数码管或液晶屏显示出来。
例如,设=0.1,我们把被测电压与比较,看是的多少倍,并把结果四舍五入取为整数(二进制)。
一般情况下,≥1000即可满足测量精度要求(量化误差≤11000=0.1%)。
最常见的数字表头的最大示数为1999,被称为三位半()数字表。
对上述情况,我们把小数点定在最末位之前,显示出来的就是以mV为单位的被测电压的大小。
如:
是(0.1)的1234倍,即=1234,显示结果为123.4()。
这样的数字表头,再加上电压极性判别显示电路,就可以测量显示-199.9~199.9的电压,显示精度为0.1。
由上可见,数字测量仪表的核心是模数(AD)转换、译码显示电路。
AD转换一般又可分为量化、编码两个步骤。
2)、多量程数字电压表原理
在基准数字电压表头前面加一级分压电路(分压器),可以扩展直流电压测量的量程。
如图2.2所示,为电压表头的量程(如200),为其内阻(如10),、为分压电阻,为扩展后的量程。
图2.2分压电路原理图2.3多量程分压器原理
由于r>>r2,所以分压比为
扩展后的量程为
多量程分压器原理电路见图2.3,5档量程的分压比分别为1、0.1、0.01、0.001和0.0001,对应的量程分别为2000、200、20、2和200。
采用图3的分压电路虽然可以扩展电压表的量程,但在小量程档明显降低了电压表的输入阻抗,这在实际使用中是所不希望的。
所以,实际数字万用表的直流电压档电路为图2.4所示,它能在不降低输入阻抗的情况下,达到同样的分压效果。
例如:
其中200档的分压比为
其余各档的分压比可同样算出。
实际设计时是根据各档的分压比和总电阻来确定各分压电阻的。
如先确定
再计算2000档的电阻
再逐档计算、、、。
尽管上述最高量程档的理论量程是2000,但通常的数字万用表出于耐压和安全考虑,规定最高电压量限为1000。
换量程时,多刀量程转换开关可以根据档位自动调整小数点的显示,使用者可方便地直读出测量结果。
3)、多量程数字电流表原理
测量电流的原理是:
根据欧姆定律,用合适的取样电阻把待测电流转换为相应的电压,再进行测量。
如图2.5,由于,取样电阻上的电压降为
即被测电流
图2.5电流测量原理图2.6多量程分流器电路
若数字表头的电压量程为,欲使电流档量程为,则该档的取样电阻(也称分流电阻)为
如=200,则=200档的分流电阻为。
多量程分流器原理电路见图2.6。
图2.6中的分流器在实际使用中有一个缺点,就是当换档开关接触不良时,被测电路的电压可能使数字表头过载,所以,实际数字万用表的直流电流档电路为图2.7所示。
图2.7中各档分流电阻的阻值是这样计算的:
先计算最大电流档的分流电阻
再计算下一档的
依次可计算出、和。
图中的BX是2A保险丝管,电流过大时会快速熔断,超过流保护作用。
两只反向连接且与分流电阻并联的二极管D1、D2为塑封硅整流二极管,它们起双向限幅过压保护作用。
正常测量时,输入电压小于硅二极管的正向导通压降,二极管截止,对测量毫无影响。
一旦输入电压大于0.7,二极管立即导通,两端电压被限制住(小于0.7),保护仪表不被损坏。
4)、交流电压电流测量处理原理
数字万用表中交流电压,电流测量电路是在直流电压、电流测量电路的基础上,在分压器或分流器之后加入了一级交流-直流(AC-DC)变换器,图2.8为其原理简图。
该AC-DC变换器主要由集成运算放大器、整流二极管、RC滤波器等组成,还包含一个能调整输出电压高低的电位器,用来对交流电压档进行校准之用。
调整该电位器可使数字表头的显示值等于被测交流电压的有效值。
同直流电压档类似,出于对耐压、安全方面的考虑,交流电压最高档的量限通常限定为700(有效值)。
5)、电阻测量原理
数字万用表中的电阻档采用的是比例测量法,其原理电路见图2.9。
由稳压管ZD提供测量基准电压,流过标准电阻和被测电阻的电流基本相等(数字表头的输入阻抗很高,其取用的电流可忽略不计)。
所以AD转换器的参考电压和输入电压有如下关系:
即
根据所用AD转换器的特性可知,数字表显示的是与的比值,当=时显示“1000”,=0.5时显示“500”,以此类推。
所以,当时,表头将显示“1000”,当时显示“500”,这称为比例读数特性。
因此,我们只要选取不同的标准电阻并适当地对小数点进行定位,就能得到不同的电阻测量档。
如对200档,取=100,小数点定在十位上。
当=100时,表头就会显示出100.0。
当变化时,显示值相应变化,可以从0.1测到199.9。
又如对2档,取,小数点定在千位上。
当变化时,显示值相应变化,可以从0.001测到1.999。
其余各档道理相同,同学们可自行推演。
数字万用表多量程电阻档电路见图10。
由上分析可知,
……
图2.10中由正温度系数(PTC)热敏电阻与晶体管组成了过压保护电路,以防误用电阻档去测高电压时损坏集成电路。
当误测高电压时,晶体管发射极将击穿从而限制了输入电压的升高。
同时随着电流的增加而发热,其阻值迅速增大,从而限制了电流的增加,使的击穿电流不超过允许范围。
即只是处于软击穿状态,不会损坏,一旦解除误操作,和都能恢复正常。
6)、电容测量原理
电容测量是根据电容充电原理其充电电压与时间成一定的指数关系。
根据电压和时间可以计算出电容的值。
2.2数字万用表的硬件系统设计总体框架图
如下图2.11所示,本万用表由以下几部分功能组成,复位电路、震荡电路、ADC输入、被测量显示、超限报警、ADC使能控制。
复位电路用来清零,进行下一次的测量;震荡电路用来消除一些外来干扰,使电路工作更加稳定;ADC输入则是将输入量进行AD转换;测量显示就是显示测量的数值;超限报警部分则是用作当测量量超出量程范围时发出警报,以便提醒用户更改大量程;ADC使能控制则用来对输入量进行控制,允许输入或者不允许。
图2.11.总体电路设计原理图
2.3硬件电路设计方案及选用芯片介绍
2.3.1设计方案
用单片机AT89S52与ADC0809设计一个数字万用表,配合分流电阻、分压电阻、基准电阻可以测量交、直流电压值,直流电流、直流电阻,四位数码显示。
实现四级量程的直流电压测量,其量程范围是2v,20v,200v和500v.实现四级量程的交流电压测量,其量程范围是2v,20v,200v和500v.实现四级量程的直流电流测量,其量程范围是2mA ,20mA,200mA和2A.实现四级量程的电阻测量,其量程范围是2k,20k,200k和2M.,并且有超出量程的情况发生时,蜂鸣器发声报警。
2.3.2芯片选择及功能简介
1、AT89S52芯片功能特性描述
AT89S52引脚框图:
图2.12AT89S52芯片引脚图
AT89S52主要性能:
1、与MCS-51单片机产品兼容
2、8K字节在系统可编程Flash存储器
3、1000次擦写周期
4、全静态操作:
0Hz~33Hz
5、三级加密程序存储器
6、32个可编程IO口线
7、三个16位定时器计数器
8、八个中断源
9、全双工UART串行通道
10、低功耗空闲和掉电模式
l1、掉电后中断可唤醒
l2、看门狗定时器
13、双数据指针
l4、掉电标识符
方框图:
图2.13AT89S52内部框图
功能特性描述:
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位IO口线,看门狗定时器,2个数据指针,三个16位定时器计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
VCC:
电源
GND:
地
P0口:
P0口是一个8位漏极开路的双向IO口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向IO口,p1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器计数器2的外部计数输(P1.0T2)和时器计数器2的触发输入(P1.1T2EX),具体如下表所示。
在flash编程和校验时,P1口接收低8位地址字节。
表2.1P1口的第二功能
P2口:
P2口是一个具有内部上拉电阻的8位双向IO口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向IO口,p2输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。
在flash编程和校验时,P3口也接收一些控制信号。
表2.2P3口的第二功能
RST:
复位输入。
晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。
看门狗计时完成后,RST脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
ALEPROG:
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在flash编程时,此引脚(PROG)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
PSEN:
外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。
当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。
EAVPP:
访问外部程序存储器控制信号。
为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。
为了执行内部程序指令,EA应该接VCC。
在flash编程期间,EA也接收12伏VPP电压。
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
Flash编程―并行模式:
AT89S52带有用作编程的片上Flash存储器阵列。
编程接口需要一个高电压(12V)编程使能信号,并且兼容常规的第三方Flash或EPROM编程器。
AT89S52程序存储阵列采用字节式编程。
编程方法:
对AT89S52编程之前,需根据Flash编程模式表和图13、图14对地址、数据和控制信号设置。
可采用下列步骤对AT89S52编程:
1.在地址线上输入编程单元地址信号
2.在数据线上输入正确的数据
3.激活相应的控制信号
4.把EAVpp升至12V
5.每给Flash写入一个字节或程序加密位时,都要给ALEPROG一次脉冲。
字节写周期时自身定制的,典型值仅50us。
改变地址、数据重复第1步到第5步‘知道’全部文件结束。
DataPollingAT89S52用DataPolling作为一个字节写周期结束的标志特征
2、ADC0809介绍
ADC0809是带有8位AD转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。
它是逐次逼近式AD转换器,可以和单片机直接接口。
(1)ADC0809的内部逻辑结构
图2.14ADC0809的内部逻辑结构
上图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个AD转换器和一个三态输出锁存器组成。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用AD转换器进行转换。
三态输出锁器用于锁存AD转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
(2).引脚结构
图2.15ADC0809引脚结构图
IN0-IN7:
8条模拟量输入通道
ADC0809对输入模拟量要求:
信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
地址输入和控制线:
4条
ALE为地址锁存允许输入线,高电平有效。
当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。
A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
通道选择表如下表所示。
表2.3地址输入线的通道选择
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
数字量输出及控制线:
11条
ST为转换启动信号。
当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行AD转换;在转换期间,ST应保持低电平。
EOC为转换结束信号。
当EOC为高电平时,表明转换结束;否则,表明正在进行AD转换。
OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。
OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。
D7-D0为数字量输出线。
CLK为时钟输入信号线。
因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,
VREF(+),VREF(-)为参考电压输入。
ADC0809应用说明:
(