数字万用表的设计_第1页
数字万用表的设计_第2页
数字万用表的设计_第3页
数字万用表的设计_第4页
数字万用表的设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、天津大学网络教育学院专科毕业论文单片机数字万用表的设计一、引言数字万用表是一种多用途电子测量仪器。它采用数字化测量技术,把实际测量的模拟量,转化为离散的数字量进行输出显示,主要用于物理、电气、电子等测量领域,一般包含电流表(安培计)、电压表(伏特计)、电阻表(欧姆计)等功能,也称为万用计、多用计、多用电表或万用电表。万用表是电子和电气技术领域必备的测量仪器,用于测量电子电路中的各种物理量(电压、电流、电阻等),常作为基本故障诊断的便携式装置,也有放置在工厂或实验室工作台上作为桌上型装置。有的万用电表分辨率能达到七、八位数,常用在实验室,作为电压或电阻的基准,或用来调校多功能标准器的性能。相比传

2、统的指针式万用表,数字万用表具有以下的主要优点:(1)数字显示直观准确,无视觉误差,读数准确;(2)测量精度和分辨率都很高;(3)输入阻抗高,减少对被测电路的工作影响;(4)电路集成度高,便于组装和维修;(5)测量功能齐全,测量速率快;(6)保护功能齐全,有过压、过流保护电路;(7)功耗低,抗干扰能力强;(8)便于携带,使用方便。本次设计的任务是制作一个数字万用表,可实现如下的功能及要求:(1)可以测量直流电压、直流电流和电阻;(2)能将测量得到的数值直观、准确地显示出来,并标明相应的单位;(3)具有超量程时的报警提示。二、系统硬件分析与设计数字万用表的基本功能是,能够测量直流电压、电流以及电

3、阻的阻值,数字万用表的基本组成由图1所示,其中,模数转换是数字万用表的核心:小数点驱动数值显示屏(数码管或液晶)基准电压数模转换,数值输出基准电阻分压器分流器过压过流保护过压过流保护译码驱动被测信号图1. 数字万用表的基本原理图如图2所示,本设计将由以下几大部分组成。包括:复位电路、震荡电路、A/D转换和控制、测量值输出、超量程报警和档位选择。其中,复位电路用于单片机上电复位使系统清零;震荡电路为单片机提供精确的时钟频率,使电路工作更加稳定;A/D转换和控制部分负责模数转换及输入输出信号的控制;测量值输出则负责显示待测物理量大小的数值;超量程报警用于超出量程范围时的报警提示,提醒使用者更换量程

4、。 复位电路震荡电路A/D输入测量值显示超量程报警A/D使能主控单元图2. 硬件系统总体设计框图1、STC的89C52单片机的特点及功能介绍(1)89C52单片机的主要特点及功能特性89C52是一款低电压,高性能的8位CMOS型单片机,片内有8k字节以Flash闪存为介质的,能擦写的只读程序存储器及256字节的随机存取数据存储器。89C52型单片机仍属于51单片机家族群,都支持一个共同的指令集(MSC-51),但各自拥有不同的存储器容量及端口设置等内置资源,使其更符合成本效益的需要,满足特定的场合的生产需求。该单片机在嵌入式控制应用系统中有着广泛的应用。89C52具有以下几个主要特点:a体积小

5、但集成度高、可靠性较高:该单片机把各个功模块集成在一块芯片上,内部采用总线结构,将各种信号的通道封装在同一个芯片中,减少了与其他芯片之间的连线,大大提高了可靠性与线路的抗干扰能力。b控制能力较强:一般单片机的指令系统中均有极为丰富的转移指令、存储器读写指令、I/O口的逻辑操作以及位处理功能,满足工业控制的各种要求。c易于扩展:单片机片内已经具有计算机正常运行时所必需的部件,但仍然预留了很多片外扩展用的引脚(各种总线,并行/串行的输入/输出),易于组成更庞大计算机系统完成更复杂的任务。d内部功能较强:单片机有着各种的内部资源,功能强大。e低功耗、低电压,便于生产便携式产品。下面介绍89C52单片

6、机的主要功能特性:a兼容标准的MCS-51的指令系统;b内置8k字节可擦写的闪存ROM(Read-Only Memory);c4组共32个双向I/O口;d256×8位大小的内部RAM;e3个16位可编程定时/计数器中断;f支持3.5-12/24/33MHz多种时钟频率;g1个全双工可编程的UART(Universal Asynchronous Receiver/Transmitte)串行口;h6个中断源,4级优先级中断结构;i2个W/R(Write/Read)读写中断口,3级加密位;j低功耗空闲和掉电节省模式,带有软件设置睡眠及相应的唤醒功能;k有PDIP及 PLCC两种封装形式。(

7、2)89C52单片机的引脚功能图3. 89C52单片机微架构图图4. 89C52单片机引脚图下面介绍89C52单片机引脚主要功能:4组I/O口P0口:一组8位漏极开路的准双向并行I/O口,扩展片外存储时的地址/数据总线复用口。作为输出口用时,每位能驱动8个LS型TTL负载,对端口P0写“1”时,可作为高阻抗输入端用。P0口与其他几组I/O口的最大区别是其内部不带有上拉电阻。P1口:是一组带内置上拉电阻的8位双向并行I/O 口,P1的输出缓冲级可驱动4个TTL 负载。对端口写“1”,通过内部的上拉电阻把端口拉至高电平后,可作输入口。作输入口使用时,因为内部存在上拉电阻,引脚被外部信号拉低时会输出

8、电流。另外,P1的P1.0和P1.1口存在第二功能,见下表。表1. P1口的第二功能引脚号功能特性P1.0T2(定时/计数器2的外部计数输入),时钟输出P1.1T2EX(定时/计数器2的捕捉/重载触发信号和方向控制)P2口:是一组带有内部上拉电阻的8 位双向I/O并行 口,P2 的输出缓冲级可驱动4个TTL负载。作输入及输出口时,情况与P1口相似。扩展片外存储时,作为低8位地址总线口。P3口:是一组带有内部上拉电阻的8 位双向并行I/O 口。P3口输出缓冲级可驱动4个TTL负载。作为输入及输出口时,情况与P1口相似。P3 口还能接收一些用于Flash存储器编程和程序校验的控制信号。P3 口除了

9、作为一般的I/O 口线外,更重要的用途是它的第二功能,见表2。其他引脚RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。EA/VPP:外部访问允许。要让CPU只访问外部程序存储器(地址为0000HFFFFH),EA 端必需保持低电平(或接地)。当EA端为高电平(接Vcc端)时,CPU会执行内部程序存储器中的指令。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。VCC:接电源+5V。GND:接地端。表2. P3口的第二功能引脚号功能特性P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2INT0(外部中断0

10、)P3.3INT1(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写有效)P3.7RD(外部数据存储器读有效)2、模数转化电路实际的物理量都是幅值大小连续变化的模拟量,或称为模拟信号。旧式的指针万用表可以直接对模拟电压、电流进行测量并显示。对于数字万用表,则需要把模拟量(多是电压量)转换为数字信号的形式,通过相关的处理(包括存储、传输、计算等)再进行显示。数字信号是量化的模拟信号,若将最小的量化单位记为,那么数字信号的大小一定为的整数倍。该倍数可以用二进制数码表示,但为了便于直观地读数,通常把数码进行译码后,由数码管或液晶屏幕显示。当模

11、拟信号经过量化之后,还需要进行编码处理,是用二进制码组表示固定电平的量化值。目前普遍使用的是非线性的8位二进制编码,可以将输入的幅度范围分成256个量化级。由此可知,数字万用表测量的核心步骤是模数转换以及译码显示,其中模数转换又可以分为量化及编码两大步骤。(1)PCF8591芯片的主要功能特征PCF8591是一个单片集成、单独供电、低功耗及8位CMOS工艺制造的AD-DA器件。PCF8591具有4个模拟输入、1个模拟输出和1个串行I2C总线接口。PCF8591的3个地址引脚A0、A1和A2可用于硬件地址编程。在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的

12、方式进行传输。 图5. PCF8591的内部原理图PCF8591芯片的引脚功能图6. PCF8591的引脚图图6所示为PCF8591的引脚图。AIN0AIN3:模拟信号输入端;A0A2:引脚地址端;VDD、VSS:电源端(2.5-6V);SDA、SCL:I2C总线的数据线、时钟线;OSC:外部时钟输入端,内部时钟输出端;EXT:内部、外部时钟选择线,采用内部时钟时EXT接地;AGND:模拟信号地;AOUT:数模转换输出端;VREF:基准电源端。图7. 模数转换部分原理图图7所示为模数转换部分。PCF8591芯片作为ADC芯片,使用I2C总线与单片机通讯,SCL是串行时钟,SDA是串行数据线,输

13、出转换后的数字量。待测模拟量从AIN0进入,其余模拟输入口因本设计不需使用而接地。AGND端是模拟地,接上0电阻,而VDD接上接地电容,有效分割模拟地和数字地,减少高频数字信号的干扰。(2)多量程数字电压表设计图8. 分压电路的原理如图8所示,在基准数字电压表头前加上一级电压信号衰减电路(分压电路),可以扩展直流电压测量的量程。图中,Vo为输出电压,基准电压表的量程为2V,四个分压电阻串联值为10M,则第4个开关接入时输入电压Vi可以达到2000V,同理可得其他档位量程分别为2V、20V、200V、200V。但基于测试安全性,第4档测试电压不应高于500V。图9.电压衰减电路原理图如图9所示,

14、R1和R2是分压电阻,其阻值均为按档位需要计算后所得,可以将20V的直流电压衰减为2V输出,配合20V的直流电压挡。(3)多量程数字电流表设计图10. 分流电路的原理如图10电路所示,万用表测量电流的原理是,用合适的取样电阻,将待测的电流量根据欧姆定律转换为电压量,才能进行测量。若取样电阻阻值为R,根据欧姆定律,可以获得被测电流Ii的值。在基准数字电流表头前在加上电流信号衰减电路(分流电路),即可实现直流电流测量量程的扩展。如上图所示,四个电阻串联值是1k,若选取第1挡,并使输出电压不超过2V,即可计算出Ii必须小于等于2mA。同理可计算出其他档位的满量程电流分别为20mA、200mA、2A。

15、图11.电流衰减电路原理图如图11所示,R15和R16是分流电阻,其阻值均为按档位需要计算后所得,可以将2A的直流电流衰减为200mA,并将电流变换成电压以供模数转换器测量,配合2A的直流电流档使用。(4)电阻测量设计图12.电阻-电压变换电路的原理数字万用表通常采用电阻-电压变换电路来测量电阻(欧姆档)。如图7所示电路,VDZ1是2.7V稳压管,是一种用特殊工艺制造的硅半导体二极管(康华光,2006)。VT1、VT2、VDZ1组成恒流源,保持V3的值恒定不变。V3的值等于V1电压减去VDZ1上的电压,约为2.3V。VT3的基极电压亦保持不变,若VT3基极和发射极之间的电压为0.5V,则可知V

16、2的值恒为2.8V左右,并可得出VT3集电极电流的IC3也是恒定的。其中,接在VT3的发射极上的一组电阻是基准电阻,按档位不同分别是:2.2k、22k、220k、2M。通过选择不同的档位开关,可以得到恒定的、不同倍率的电流IC3,它的电流分别是1mA、0.1mA、0.01mA、0.001mA。RX是待测电阻,接在VT3的集电极上,当恒定电流IC3流经时,产生电压VX,测量VX则可推算出待测电阻的阻值。RW用于调整恒流源IC3的大小,VD3作为保护管,当电阻档所加的电压过高时,VD3对VT3有保护作用。图13.电阻-电压变换电路原理图图13所示电路为电阻测量电路。其中,电阻R13和R14构成一组

17、基准电阻。电路工作时,PNP管Q3的集电极电流IC3是恒定的,R18和R19负责调节IC3的大小。通过接入不同的电阻(R20或R21),可获得不同的倍率的集电极电流IC3,电流通过待测电阻Rx形成电压Vx。通过测量Vx即可获得待测电阻的阻值。经过计算,可知R20分支可测量的最大电阻值为2k,R21分支为20k。而P4端则是作为待测电阻的接口。3、电源模块图14.电源部分原理图如图14所示,POWER端接外部直流电源,另外可以利用USB(Universal Serial Bus)端口直接提供5V电压。7805是三端稳压集成芯片,起稳压输出的作用,通过外围电路的组合,可以稳定输出5V直流电压。图中

18、的LED灯可以作为电源电路开始工作的提示器。4、报警模块图15.报警提示部分原理图图15所示为蜂鸣器驱动电路。当出现测量值超出预定量程时,蜂鸣器会发出“嘀”声报警。其实质是通过编程使单片机的引脚输出低电平,使Q1导通,蜂鸣器发声。5、单片机最小系统图16.单片机最小系统如图16所示,本次设计采用STC公司的89C52型单片机作为控制芯片,并采用RC上电复位电路用于单片机复位,配合频率为11.0592MHz的外部震荡电路,作为外部时钟信号,提供单片机片内各种操作的时间基准(张景璐等,2010)。P1.0-P1.3作为按键的输入线,P1.4及P1.5分别作为ADC芯片I2C总线的时钟线和数据线。P

19、0口作为1602液晶的数据总线,P2.0和P2.1作为1602液晶的控制线,另外P3.7用作控制蜂鸣器。6、显示输出模块图17.显示输出部分原理图如图17所示,采用1602液晶作为输出显示器,读数更加准确和直观,能显示比数码管更丰富的信息。其中RS和RE为液晶的控制线,DB0-DB7为液晶的数据线,均与单片机的相应I/O口相连。Vo端接上一个10k的电位器再接地,通过调节电位器,可以调节液晶字符显示的明暗度,防止“鬼影”现象的出现。7、开关及量程选择模块图18.开关及量程选择部分原理图如图18所示,拨码开关S1的左侧三个端口分别接上分压器、分流器、电阻测量电路,使用时拨动不同开关,连通对应的电

20、路,测量不同的物理量。而下面的4个按键,负责通知单片机当前所选的待测物理量及档位,改变液晶显示器数值的输出方式。8、电路工作描述将相应的控制程序写入单片机是使电路各部分能协调工作,完成既定任务的前提。通过按钮选取要测量的物理值(电压、电流或电阻),然后通过选取合适的量程进行测量,以获得更准确的测量数据。单片机通过I2C总线控制PCF8591芯片,完成A/D转换,并通过该总线读取其输出的数据。单片机根据所选档位和量程对数据进行处理后,送至1602液晶处进行输出。若发生待测信号超出量程的情况,蜂鸣器会立即报警,提示使用者切换更高的量程进行测量。另外,通过单片机的复位按钮,可以对系统进行清零。三、系

21、统软件设计本系统软件设计的思路是:使用C语言,将各部分的驱动程序(1602液晶、模数转换器、按键、蜂鸣器等)分别编写在不同子文件中,减少主文件的复杂度,增加可读性。然后,在主函数中,先初始化液晶显示器,然后进入大循环。在大循环中,读取模数转换芯片转换后数据,并根据按键的输入情况,确定物理量和量程,如果发生超出量程的情况,调用蜂鸣器进行报警,否则对获取的数据进行一定处理,最后发送至液晶显示器进行输出。主要程序模块流程图如下所示初始化系统开始结束初始化液晶获取量程信息开始A/D转换读取转换数据处理数据超限?送液晶显示报警YN图19.软件总流程图Y开始电压量程选择选择20V档位选择2V档位结束是否超

22、过2V?N图20.电压测量流程图开始电流量程选择选择200mA档位选择2A档位结束是否超过2A?NY图21.电流测量流程图开始电阻量程选择选择2k档位选择20k档位结束是否超过2k?NY 图22.电阻测量流程图四、仿真测试1、功能仿真(1)电压表仿真如图23所示,当输入的模拟直流电压为1.6V时(2V电压档),系统测量后,液晶显示输出电压值为1.6V。图23. 2V电压表仿真图如图24所示,当输入的模拟直流电压为16V时(20V电压档),系统测量后,液晶显示输出电压值为16V。图24. 20V电压表仿真图(2)电流表仿真如图25所示,当输入的模拟直流电压为180mA时(200mA电流档),系统

23、测量后,液晶显示输出为180mA。图25. 200mA电流表仿真图如图26所示,当输入的模拟直流电压为1.8A时(2A电流档),系统测量后,液晶显示输出为1.8A。图26. 2A电流表仿真图(3)欧姆表仿真如图27所示,当接入的电阻阻值为1.5k时(2k欧姆档),系统测量后,液晶显示输出阻值为1.39k。图27. 2k电阻表仿真图如图28所示,当接入的电阻阻值为15k时(20k欧姆档),系统测量后,液晶显示输出阻值为13.9k。图28. 20k电阻表仿真图2、实际电路本次设计电路走线较多且比较复杂,双面板比单片面板更适合用在复杂的电路上。如图29所示,上层为红色走线,底层为蓝色走线。图29.PCB布线图图30.PCB制版成品图31.成品外观3、测试结果表3.电压测量数据稳压源输出值(V)测量值(V)误差(%)0.150.1500.550.51-7.31.000.97-31.501.500.01.701.700.01.901.86-2.13.303.52+6.

温馨提示

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

评论

0/150

提交评论