天津大学网络教育学院专科毕业论文1单片机数字万用表的设计一、引言数字万用表是一种多用途电子测量仪器。它采用数字化测量技术,把实际测量的模拟量,转化为离散的数字量进行输出显示,主要用于物理、电气、电子等测量领域,一般包含电流表(安培计)、电压表(伏特计)、电阻表(欧姆计)等功能,也称为万用计、多用计、多用电表或万用电表。万用表是电子和电气技术领域必备的测量仪器,用于测量电子电路中的各种物理量(电压、电流、电阻等),常作为基本故障诊断的便携式装置,也有放置在工厂或实验室工作台上作为桌上型装置。有的万用电表分辨率能达到七、八位数,常用在实验室,作为电压或电阻的基准,或用来调校多功能标准器的性能。相比传统的指针式万用表,数字万用表具有以下的主要优点:(1)数字显示直观准确,无视觉误差,读数准确;(2)测量精度和分辨率都很高;(3)输入阻抗高,减少对被测电路的工作影响;(4)电路集成度高,便于组装和维修;(5)测量功能齐全,测量速率快;(6)保护功能齐全,有过压、过流保护电路;(7)功耗低,抗干扰能力强;(8)便于携带,使用方便。本次设计的任务是制作一个数字万用表,可实现如下的功能及要求:(1)可以测量直流电压、直流电流和电阻;(2)能将测量得到的数值直观、准确地显示出来,并标明相应的单位;(3)具有超量程时的报警提示。二、系统硬件分析与设计数字万用表的基本功能是,能够测量直流电压、电流以及电阻的阻值,数字万用表的基本组成由图1所示,其中,模数转换是数字万用表的核心:天津大学网络教育学院专科毕业论文2图1.数字万用表的基本原理图如图2所示,本设计将由以下几大部分组成。包括:复位电路、震荡电路、A/D转换和控制、测量值输出、超量程报警和档位选择。其中,复位电路用于单片机上电复位使系统清零;震荡电路为单片机提供精确的时钟频率,使电路工作更加稳定;A/D转换和控制部分负责模数转换及输入输出信号的控制;测量值输出则负责显示待测物理量大小的数值;超量程报警用于超出量程范围时的报警提示,提醒使用者更换量程。图2.硬件系统总体设计框图1、STC的89C52单片机的特点及功能介绍(1)89C52单片机的主要特点及功能特性89C52是一款低电压,高性能的8位CMOS型单片机,片内有8k字节以Flash闪存为介质的,能擦写的只读程序存储器及256字节的随机存取数据存储器。89C52型单片机仍属于51单片机家族群,都支持一个共同的指令集(MSC-51),小数点驱动数值显示屏(数码管或液晶)基准电压数模转换,数值输出基准电阻分压器分流器过压过流保护过压过流保护译码驱动被测信号复位电路震荡电路A/D输入测量值显示超量程报警A/D使能主控单元天津大学网络教育学院专科毕业论文3但各自拥有不同的存储器容量及端口设置等内置资源,使其更符合成本效益的需要,满足特定的场合的生产需求。该单片机在嵌入式控制应用系统中有着广泛的应用。89C52具有以下几个主要特点:a.体积小但集成度高、可靠性较高:该单片机把各个功模块集成在一块芯片上,内部采用总线结构,将各种信号的通道封装在同一个芯片中,减少了与其他芯片之间的连线,大大提高了可靠性与线路的抗干扰能力。b.控制能力较强:一般单片机的指令系统中均有极为丰富的转移指令、存储器读写指令、I/O口的逻辑操作以及位处理功能,满足工业控制的各种要求。c.易于扩展:单片机片内已经具有计算机正常运行时所必需的部件,但仍然预留了很多片外扩展用的引脚(各种总线,并行/串行的输入/输出),易于组成更庞大计算机系统完成更复杂的任务。d.内部功能较强:单片机有着各种的内部资源,功能强大。e.低功耗、低电压,便于生产便携式产品。下面介绍89C52单片机的主要功能特性:a.兼容标准的MCS-51的指令系统;b.内置8k字节可擦写的闪存ROM(Read-OnlyMemory);c.4组共32个双向I/O口;d.256×8位大小的内部RAM;e.3个16位可编程定时/计数器中断;f.支持3.5-12/24/33MHz多种时钟频率;g.1个全双工可编程的UART(UniversalAsynchronousReceiver/Transmitte)串行口;h.6个中断源,4级优先级中断结构;i.2个W/R(Write/Read)读写中断口,3级加密位;j.低功耗空闲和掉电节省模式,带有软件设置睡眠及相应的唤醒功能;k.有PDIP及PLCC两种封装形式。(2)89C52单片机的引脚功能天津大学网络教育学院专科毕业论文4图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”,通过内部的上拉电阻把端口拉至高电平后,天津大学网络教育学院专科毕业论文5可作输入口。作输入口使用时,因为内部存在上拉电阻,引脚被外部信号拉低时会输出电流。另外,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口除了作为一般的I/O口线外,更重要的用途是它的第二功能,见表2。其他引脚RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。EA/VPP:外部访问允许。要让CPU只访问外部程序存储器(地址为0000H—FFFFH),EA端必需保持低电平(或接地)。当EA端为高电平(接Vcc端)时,CPU会执行内部程序存储器中的指令。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。VCC:接电源+5V。GND:接地端。表2.P3口的第二功能引脚号功能特性P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写有效)P3.7RD(外部数据存储器读有效)天津大学网络教育学院专科毕业论文62、模数转化电路实际的物理量都是幅值大小连续变化的模拟量,或称为模拟信号。旧式的指针万用表可以直接对模拟电压、电流进行测量并显示。对于数字万用表,则需要把模拟量(多是电压量)转换为数字信号的形式,通过相关的处理(包括存储、传输、计算等)再进行显示。数字信号是量化的模拟信号,若将最小的量化单位记为Δ,那么数字信号的大小一定为Δ的整数倍。该倍数可以用二进制数码表示,但为了便于直观地读数,通常把数码进行译码后,由数码管或液晶屏幕显示。当模拟信号经过量化之后,还需要进行编码处理,是用二进制码组表示固定电平的量化值。目前普遍使用的是非线性的8位二进制编码,可以将输入的幅度范围分成256个量化级。由此可知,数字万用表测量的核心步骤是模数转换以及译码显示,其中模数转换又可以分为量化及编码两大步骤。(1)PCF8591芯片的主要功能特征PCF8591是一个单片集成、单独供电、低功耗及8位CMOS工艺制造的AD-DA器件。PCF8591具有4个模拟输入、1个模拟输出和1个串行I2C总线接口。PCF8591的3个地址引脚A0、A1和A2可用于硬件地址编程。在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。图5.PCF8591的内部原理图PCF8591芯片的引脚功能天津大学网络教育学院专科毕业论文7图6.PCF8591的引脚图图6所示为PCF8591的引脚图。AIN0~AIN3:模拟信号输入端;A0~A2:引脚地址端;VDD、VSS:电源端(2.5-6V);SDA、SCL:I2C总线的数据线、时钟线;OSC:外部时钟输入端,内部时钟输出端;EXT:内部、外部时钟选择线,采用内部时钟时EXT接地;AGND:模拟信号地;AOUT:数模转换输出端;VREF:基准电源端。图7.模数转换部分原理图图7所示为模数转换部分。PCF8591芯片作为ADC芯片,使用I2C总线与单片机通讯,SCL是串行时钟,SDA是串行数据线,输出转换后的数字量。待测模拟量从AIN0进入,其余模拟输入口因本设计不需使用而接地。AGND端是模拟地,接上0Ω电阻,而VDD接上接地电容,有效分割模拟地和数字地,减少高频数字信号的干扰。(2)多量程数字电压表设计AIN01AIN12AIN23AIN34A05A16A27VSS8SDA9SCL10OSC11EXT12AGND13VREF14AOUT15VDD16U1PCF8591TP14P15C1104VCC0RF1天津大学网络教育学院专科毕业论文8图8.分压电路的原理如图8所示,在基准数字电压表头前加上一级电压信号衰减电路(分压电路),可以扩展直流电压测量的量程。图中,Vo为输出电压,基准电压表的量程为2V,四个分压电阻串联值为10MΩ,则第4个开关接入时输入电压Vi可以达到2000V,同理可得其他档位量程分别为2V、20V、200V、200V。但基于测试安全性,第4档测试电压不应高于500V。图9.电压衰减电路原理图如图9所示,R1和R2是分压电阻,其阻值均为按档位需要计算后所得,可以将20V的直流电压衰减为2V输出,配合20V的直流电压挡。(3)多量程数字电流表设计R190kR210kGND20V2VID11243S2SWDIP-2WP1天津大学网络教育学院专科毕业论文9图10.分流电路的原理如图10电路所示,万用表测量电流的原理是,用合适的取样电阻,将待测的电流量根据欧姆定律转换为电压量,才能进行测量。若取样电阻阻值为R,根据欧姆定律,可以获得被测电流Ii的值。在基准数字电流表头前在加上电流信号衰减电路(分流电路),即可实现直流电流测量量程的扩展。如上图所示,四个电阻串联值是1kΩ,若选取第1挡,并使输出电压不超过2V,即可计算出Ii必须小于等于2mA。同理可计算出其他档位的满量程电流分别为20mA、200mA、2A。图11.电流衰减电路原理图如图11所示,R15和R16是分流电阻,其阻值均为按档位需要计算后所得,可以将2A的直流电流衰减为200mA,并将电流变换成电压以供模数转换器测量,配合2A的直流电流档使用。(4)电阻测量设计R59R61GND200mA2AID21243S3SWDIP-2WP2天津大学网络教育学院专科毕业论文10图12.电阻-电压变换电路的原理数字万用表通常采用电阻-电压变换电路来测量电阻(欧姆档)。如图7所示电路,VDZ1是2.7V稳压管,是一种用特殊工艺制造的硅半导体二极管(康华光,2006)。VT1、VT2、VDZ1组成恒流源,保持V3的值恒定不变。V3的值等于V1电压减去VDZ1上的电压,约为2.3V。VT3的基极电压亦保持不变,若VT3基极和发射极之间的电压为0.5V,则可知V2的值恒为2.8V左右,并可得出VT3集电极电流的IC3也是恒定的。其中,接在VT3的发射极上的一组电阻是基准电阻,按档位不同分别是:2.2kΩ、22kΩ、220kΩ、2MΩ。通过选择不同的档位开关,可以得到恒定的、不同倍率的电流IC3,它的电流分别是1mA、0.1mA、0.01mA、0.001mA。RX是待测电阻,接在VT3的集电极上,当恒定电流IC3流