基于单片机的数字万用表的设计.doc_第1页
基于单片机的数字万用表的设计.doc_第2页
基于单片机的数字万用表的设计.doc_第3页
基于单片机的数字万用表的设计.doc_第4页
基于单片机的数字万用表的设计.doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业设计基于单片机的数字万用表的设计摘 要本设计是基于51单片机的数字万用表,可用于测量直流电压、直流电压及电阻,并使用1602液晶进行显示。本系统由分压电阻、分流电阻、电阻-电压变换电路、单片机最小系统、液晶显示器、报警器、模数转换器及等部分组成。本系统采用STC公司的89C52单片机作为主控芯片,PCF8591作为模数转换芯片。主控芯片与模数转换芯片之间使用I2C总线进行数据通讯,大大地简化了硬件线路,提高系统的稳定性及测量准确度。从电源获取的电压或电流信号,通过衰减电阻进行衰减后,进入模数转换器的模拟输入端,而待测电阻则通过电阻-电压变换电路,把阻值转化为电压值进行测量。模数转换器进行转换之后,得到的数字编码通过I2C总线送回单片机。单片机对数据进行一定的处理后,测量结果由1602液晶显示器负责输出。本次设计的数字万用表共分为6个档位,分别是2V电压、20V电压、200mA电流、2A电流、2k电阻、20k电阻,超出量程时会自动使用蜂鸣器进行报警提示。本系统程序执行周期耗时较短,保证了系统的响应速度。经过初步调试,本系统能较准确的测量量程范围内的电压及电流值,误差范围均在8%以内,而电阻值测量的误差值稍大,误差范围在8.2%以内。另外,本文详细地介绍了89C52型单片机及PCF8591模数转换芯片的基本功能及性能特征,并叙述了数字万用表测量电压、电流及电阻的基本原理。关键词:数字万用表 89C52单片机 模数转换Digital Multi-meter Based on SCMLuo Jiawei (College of Engineering, South China Agricultural University, Guangzhou 510642, China)Abstract: This design is a digital multi-meter based on 51 SCM (Single-Chip Computer), which can be used to measure DC (Direct Current) voltage, DC voltage and resistance and displays with a 1602 LCD (Liquid Crystal Display). The system consists of dividing resistors, shunt resistors, the resistor-to-voltage converting circuit, the smallest SCM system, LCD, alarm, analog-to-digital converter and other components. The system uses STCs 89C52 SCM as the master chip and PCF8591 as the analog-to-digital conversion chip. They use the I2C bus to communicate with each other, which can largely simplify hardware circuits and improve the stability and accuracy of measurement. The system captures the voltage or current signal from a power supply and the signal will be attenuated by dividing resistors or shunt resistors, before it entering to the analog input terminal of the analog-to-digital converter. Still, the value of resistors is measured is carried out by the resistor-to-voltage converting circuit where resistors value will be transforming to voltage. After the analog-to-digital converter finishing transformation, it sends back the digital encoding data to SCM through I2C bus. Then, the SCM will process the data and output the results of measurement by a 1602 LCD. The design of digital multi-meter is divided into six stalls which are 2V voltage, 20V voltage, 200mA current, 2A current, 2k resistor and 20k resistor. The results of measurement will be outputted by 1602 LCD and the buzzer will automatically alarm when something out of range happened. The program execution cycle of this system takes less time to ensure that the response speed of the system. After initial debugging, the system can be accurately measure voltage and current value in the range, with the error range less than 8%, while measurement of resistance has a slightly larger error range, less than 8.2%. In addition, this paper also describes the basic functions and performance characteristics of the 89C52 SCM and the PCF8591 analog-to-digital conversion chip, as well as a description of the basic principles of digital multi-meter to measure voltage, current and resistors.Key words: Digital Multi-meter 89C52SCM A/D conversion目 录1 前言11.1 课题的提出11.2 研究的意义11.3 设计的任务12 总体方案确定12.1 方案比较及选择12.1.1 模数转换芯片方案12.1.2 显示器方案42.2 确定设计方案53 系统硬件分析及设计53.1 数字万用表的基本原理53.1.1 模数转换及显示电路原理53.1.2 多量程数字电压表原理63.1.3 多量程数字电流表原理63.1.4 电阻测量原理73.2 硬件系统总体设计框图83.3 硬件电路所用芯片及元件介绍83.3.1 STC的89C52型单片机83.3.2 PCF8591模数及数模转换芯片123.3.3 LCD1602液晶显示器133.4 硬件电路设计143.4.1 电源部分143.4.2 电压衰减电路143.4.3 电流衰减电路153.4.4 电阻-电压变换电路153.4.5 模数转换部分163.4.6 报警提示部分163.4.7 单片机最小系统173.4.8 显示输出部分173.4.9 开关及量程选择部分183.4.10 整体硬件电路183.5 电路工作过程描述194 系统软件设计194.1 C语言概述194.2 软件设计思路194.3 程序流程图204.3.1 系统软件总流程图204.3.2 电压测量流程图204.3.3 电流测量流程图214.3.4 电阻测量流程图215 测试及实验分析225.1 电路功能仿真225.1.1 数字电压表功能仿真225.1.2 数字电流表功能仿真235.1.3 数字欧姆表功能仿真245.2 PCB布线图255.3 PCB制板成品图255.4 成品外观255.5 测试数据265.5.1 直流电压测量数据265.5.2 直流电流测量数据275.5.3 电阻测量数据276 结论27参 考 文 献29附 录30致 谢31华南农业大学本科生毕业设计成绩评定表1 前言1.1 课题的提出数字万用表是一种多用途电子测量仪器。它采用数字化测量技术,把实际测量的模拟量,转化为离散的数字量进行输出显示,主要用于物理、电气、电子等测量领域,一般包含电流表(安培计)、电压表(伏特计)、电阻表(欧姆计)等功能,也称为万用计、多用计、多用电表或万用电表。1.2 研究的意义万用表是电子和电气技术领域必备的测量仪器,用于测量电子电路中的各种物理量(电压、电流、电阻等),常作为基本故障诊断的便携式装置,也有放置在工厂或实验室工作台上作为桌上型装置。有的万用电表分辨率能达到七、八位数,常用在实验室,作为电压或电阻的基准,或用来调校多功能标准器的性能。相比传统的指针式万用表,数字万用表具有以下的主要优点:(1)数字显示直观准确,无视觉误差,读数准确;(2)测量精度和分辨率都很高;(3)输入阻抗高,减少对被测电路的工作影响(李明生,2007);(4)电路集成度高,便于组装和维修;(5)测量功能齐全,测量速率快;(6)保护功能齐全,有过压、过流保护电路;(7)功耗低,抗干扰能力强;(8)便于携带,使用方便。1.3 设计的任务本次设计的任务是制作一个数字万用表,可实现如下的功能及要求:(1)可以测量直流电压、直流电流和电阻;(2)能将测量得到的数值直观、准确地显示出来,并标明相应的单位;(3)具有超量程时的报警提示。2 总体方案确定2.1 方案比较及选择2.1.1 模数转换芯片方案方案一:积分型模数转换芯片积分型模数转换器又称双斜率或多斜率数据转换器,是典型的双斜率转换器。积分型转换器包含两个主要的转换步骤:前端的电路负责输入模拟电压的采样和量化,产生一个在时域上间隔的的脉冲序列,然后将脉冲输入计数器并转换为数字进行输出。积分型转换器由一个可进行输入通道切换的模拟积分器、一个比较器及一个计数器组成。在一个固定的时间间隔内,积分器对输入电压信号进行积分。定时时间到后,计数器被复位并将其输入连接到反向极性的基准电压端上。由于反极性信号中的作用,积分器会进行反向积分,直到输出为零,使计数器中止工作复位积分器。积分型模数转换器的精度可以达到很高,有效抑制高频噪声和固定的低频干扰,适合在嘈杂的工业环境及对转换速率要求较低的场合下使用。图1所示为双积分型模数转换器的原理框图。图1 积分型模数转换器原理框图方案二:逐次比较(逼近)型模数芯片逐次比较型转换器包含一个比较器、一个数模转换器、一个数码寄存器和一个电路控制单元。转换时的逐次逼近是按对分原理,由控制电路完成的。在逻辑控制电路产生的时钟信号驱动下,数码寄存器不断进行比较和移位操作,直至完成全部有效位的转换。此时数码寄存器的各位的值都已确定,转换步骤完成。由于逐次逼近型模数转换器在单个时钟周期内只能完成1位转换,N位转换需要N个时钟周期,因此这种模数转换器采样速率不高,输入带宽也较低。图2所示为逐次比较型模数转换器的原理框图。图2 逐次比较型模数转换器原理框图方案三:并联比较型模数芯片并联比较型模数转换器由电阻分压器、电压比较器及编码电路组成,输出的各位数码是一次形成的,它是转换速度最快的一种模数转换器。图3所示为并联比较型模数转换器的原理框图。图3 并联比较型模数转换器原理框图图3中,8个大小相等的电阻串联构成电阻分压器,产生不同数值的参考电压,共形成共7种量化电平。7个量化电平分别加在7个电压比较器的反相输入端,模拟输入电压加在比较器的同相输入端。当模拟输入电压大于或等于量化电平时,比较器输出为1,否则输出为0,电压比较器用来完成对采样电压的量化。并联比较型模数转换器转换精度主要取决于量化电平的划分,分得越精细,精度越高。这种转换器的最大优点是具有较快的转换速度,但所用的比较器及其他硬件较多,输出数字量位数越多,转换电路将越复杂。由此可知,该类型的模数转换器适用于高速度、低精度要求的场合。方案选择:三个方案相比较,方案一中的积分型模数转换器的采样速度和带宽都非常低,难以满足本系统的实时性要求。与方案一和方案二相比,方案三中的并联型模数转换器转换速度更高,但是当精度要求较高时,转换电路将变得复杂且成本较高,因此,选择方案二的逐次比较型模数转换器,拥有中等的转换速度,且可以达到一定的精度水平。2.1.2 显示器方案方案一:LED(Light Emitting Diode)数码管显示器LED数码管实际上是由七个发光管组成8字形,并加上小数点共八个发光二极管构成。这些发光二极管构成段,当特定的段被加上电压后,这些特定的段就会发亮,以形成我们能看到的字样。LED数码管通常能够显示的数字和字母有0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。LED数码管的驱动形式通常分为静态式和动态式两类:(1)静态驱动也称直流驱动,是指每个数码管的每一个段码,都由一个单片机的I/O口进行驱动,或者使用BCD码的二-十进位器进行驱动。静态驱动的优点是编程简单,显示亮度高,但缺点也比较明显,占的用I/O口很多,耗费了单片机的资源并增加了硬体电路的复杂性。(2)动态驱动是将所有数码管的各个显示段的同名端相连,另外为每个数码管的公共端增加位选通电路。使用时,控制电路根据数码管选取的不同,在特定的位置上显示字符。透过分时技术轮流地控制每个数码管,使各个数码管轮流进行发光显示,由于人眼的视觉残留现象及LED的余辉效应,会出现各个位上的数码管在同时显示的假象。相比静态驱动,动态驱动节省单片机的I/O口,硬件电路更加简化,但显示亮度会明显降低且可能有闪烁感。方案二:1602液晶显示器1602液晶显示器是一个两行每行16个57点阵字符的微型液晶显示器,可以显示较多ASCII标准的字符。1602液晶只有16个引脚,仅包含必要的数据线及数根控制线。1602液晶显示的不需要占用单片机大量的扫描时间,而仅在需要显示的时候调用液晶的控制子函数即可。而且1602液晶可以通过ASCII码来显示字符,并在内部集成了存储160个字符ASCII码的寄存器,可以直接显示ASCII码表示的字符。而且液晶能比数码管显示更多的字符,增强了系统显示输出的可读性和直观性。方案选择:与方案二相比,方案一中的数码管,虽然成本较低,但是耗费大量的单片机资源,不利于后续系统的设计。而且液晶显示的视觉效果和可读性远优于数码管,且节省单片机资源,因此选择方案二。2.2 确定设计方案经过了上述的比较,最终的方案是:使用逐次比较型模数转换芯片,获取系统良好的实时性及相对高的精度;使用1602液晶作为数据输出显示器,提高系统的人机交互方面的友好性。3 系统硬件分析及设计3.1 数字万用表的基本原理数字万用表的基本功能是,能够测量直流电压、电流以及电阻的阻值,数字万用表的基本组成由图4所示,其中,模数转换是数字万用表的核心(杨建平,2004):小数点驱动(根据物理量和量程)数值显示屏(数码管或液晶)基准电压数模转换,数值输出基准电阻分压器分流器过压过流保护过压过流保护译码驱动被测量信号图4 数字万用表的基本原理图3.1.1 模数转换及显示电路原理实际的物理量都是幅值大小连续变化的模拟量,或称为模拟信号。旧式的指针万用表可以直接对模拟电压、电流进行测量并显示。对于数字万用表,则需要把模拟量(多是电压量)转换为数字信号的形式,通过相关的处理(包括存储、传输、计算等)再进行显示。数字信号是量化的模拟信号,若将最小的量化单位记为,那么数字信号的大小一定为的整数倍。该倍数可以用二进制数码表示,但为了便于直观地读数,通常把数码进行译码后,由数码管或液晶屏幕显示。当模拟信号经过量化之后,还需要进行编码处理,是用二进制码组表示固定电平的量化值(王兴亮等,2009)。目前普遍使用的是非线性的8位二进制编码,可以将输入的幅度范围分成256个量化级。由此可知,数字万用表测量的核心步骤是模数转换以及译码显示,其中模数转换又可以分为量化及编码两大步骤。3.1.2 多量程数字电压表原理图5 分压电路的原理如图5所示,在基准数字电压表头前加上一级电压信号衰减电路(分压电路),可以扩展直流电压测量的量程。图中,Vo为输出电压,基准电压表的量程为2V,四个分压电阻串联值为10M,则第4个开关接入时输入电压Vi可以达到2000V,同理可得其他档位量程分别为2V、20V、200V、200V。但基于测试安全性,第4档测试电压不应高于500V(杨刚等,2009)。3.1.3 多量程数字电流表原理图6 分流电路的原理如图6电路所示,万用表测量电流的原理是,用合适的取样电阻,将待测的电流量根据欧姆定律转换为电压量,才能进行测量。若取样电阻阻值为R,根据欧姆定律,可以获得被测电流Ii的值。在基准数字电流表头前在加上电流信号衰减电路(分流电路),即可实现直流电流测量量程的扩展。如上图所示,四个电阻串联值是1k,若选取第1挡,并使输出电压不超过2V,即可计算出Ii必须小于等于2mA。同理可计算出其他档位的满量程电流分别为20mA、200mA、2A。3.1.4 电阻测量原理图7 电阻-电压变换电路的原理数字万用表通常采用电阻-电压变换电路来测量电阻(欧姆档)。如图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流经时,产生电压VX,测量VX则可推算出待测电阻的阻值。RW用于调整恒流源IC3的大小,VD3作为保护管,当电阻档所加的电压过高时,VD3对VT3有保护作用。3.2 硬件系统总体设计框图如图8所示,本设计将由以下几大部分组成。包括:复位电路、震荡电路、A/D转换和控制、测量值输出、超量程报警和档位选择。其中,复位电路用于单片机上电复位使系统清零;震荡电路为单片机提供精确的时钟频率,使电路工作更加稳定;A/D转换和控制部分负责模数转换及输入输出信号的控制;测量值输出则负责显示待测物理量大小的数值;超量程报警用于超出量程范围时的报警提示,提醒使用者更换量程。 复位电路震荡电路A/D输入测量值显示超量程报警A/D使能主控单元图8 硬件系统总体设计框图3.3 硬件电路所用芯片及元件介绍3.3.1 STC的89C52单片机的特点及功能介绍(1)89C52单片机的主要特点及功能特性89C52是一款低电压,高性能的8位CMOS型单片机,片内有8k字节以Flash闪存为介质的,能擦写的只读程序存储器及256字节的随机存取数据存储器。89C52型单片机仍属于51单片机家族群,都支持一个共同的指令集(MSC-51),但各自拥有不同的存储器容量及端口设置等内置资源,使其更符合成本效益的需要,满足特定的场合的生产需求(David Calcutt et al,2004)。该单片机在嵌入式控制应用系统中有着广泛的应用。89C52具有以下几个主要特点:1体积小但集成度高、可靠性较高:该单片机把各个功模块集成在一块芯片上,内部采用总线结构,将各种信号的通道封装在同一个芯片中,减少了与其他芯片之间的连线,大大提高了可靠性与线路的抗干扰能力。2控制能力较强:一般单片机的指令系统中均有极为丰富的转移指令、存储器读写指令、I/O口的逻辑操作以及位处理功能,满足工业控制的各种要求。3易于扩展:单片机片内已经具有计算机正常运行时所必需的部件,但仍然预留了很多片外扩展用的引脚(各种总线,并行/串行的输入/输出),易于组成更庞大计算机系统完成更复杂的任务(王卫星,2009)。4内部功能较强:单片机有着各种的内部资源,功能强大。5低功耗、低电压,便于生产便携式产品。下面介绍89C52单片机的主要功能特性:1兼容标准的MCS-51的指令系统;2内置8k字节可擦写的闪存ROM(Read-Only Memory);34组共32个双向I/O口;42568位大小的内部RAM;53个16位可编程定时/计数器中断;6支持3.5-12/24/33MHz多种时钟频率;71个全双工可编程的UART(Universal Asynchronous Receiver/Transmitte)串行口;86个中断源,4级优先级中断结构;92个W/R(Write/Read)读写中断口,3级加密位;10低功耗空闲和掉电节省模式,带有软件设置睡眠及相应的唤醒功能;11有PDIP及 PLCC两种封装形式。(2)89C52单片机的引脚功能图9 89C52单片机微架构图图10 89C52单片机引脚图下面介绍89C52单片机引脚主要功能:14组I/O口P0口:一组8位漏极开路的准双向并行I/O口,扩展片外存储时的地址/数据总线复用口。作为输出口用时,每位能驱动8个LS型TTL负载,对端口P0写“1”时,可作为高阻抗输入端用。P0口与其他几组I/O口的最大区别是其内部不带有上拉电阻。P1口:是一组带内置上拉电阻的8位双向并行I/O 口,P1的输出缓冲级可驱动4个TTL 负载。对端口写“1”,通过内部的上拉电阻把端口拉至高电平后,可作输入口。作输入口使用时,因为内部存在上拉电阻,引脚被外部信号拉低时会输出电流。另外,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。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)P3.3INT1(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写有效)P3.7RD(外部数据存储器读有效)3.3.2 PCF8591模数及数模转换芯片介绍(1)PCF8591芯片的主要功能特征PCF8591是一个单片集成、单独供电、低功耗及8位CMOS工艺制造的AD-DA器件。PCF8591具有4个模拟输入、1个模拟输出和1个串行I2C总线接口。PCF8591的3个地址引脚A0、A1和A2可用于硬件地址编程。在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。 图11 PCF8591的内部原理图(2)PCF8591芯片的引脚功能图12 PCF8591的引脚图图12所示为PCF8591的引脚图。1AIN0AIN3:模拟信号输入端;2A0A2:引脚地址端;3VDD、VSS:电源端(2.5-6V);4SDA、SCL:I2C总线的数据线、时钟线;5OSC:外部时钟输入端,内部时钟输出端;6EXT:内部、外部时钟选择线,采用内部时钟时EXT接地;7AGND:模拟信号地;8AOUT:数模转换输出端;9VREF:基准电源端。3.3.3 LCD1602液晶显示器介绍(1)LCD1602液晶显示器的基本特征LCD1602是工业字符型液晶,能够同时显示1602共32个字符。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,目前市面上的1602液晶大多数是基于HD44780液晶芯片的,其控制原理是完全相同,因此基于HD44780写的控制程序可以很方便地应用于大部分1602字符型液晶。(2)LCD1602液晶显示器的引脚功能LCD1602液晶显示器的引脚功能如表3所示。表3 1602液晶的引脚功能引脚符号功能引脚符号功能1VSS电源地9D2数据I/O口2VDD电源正极10D3数据I/O口3VL液晶显示偏压信号11D4数据I/O口4RS数据/命令选择端(H/L)12D5数据I/O口5R/W读/写选择(H/L)13D6数据I/O口6E使能信号14D7数据I/O口7D0数据I/O口15BLA液晶背光源正极8D1数据I/O口16BLK液晶背光源负极3.4 硬件电路设计3.4.1 电源部分图13 电源部分原理图如图13所示,POWER端接外部直流电源,另外可以利用USB(Universal Serial Bus)端口直接提供5V电压。7805是三端稳压集成芯片,起稳压输出的作用,通过外围电路的组合,可以稳定输出5V直流电压。图中的LED灯可以作为电源电路开始工作的提示器。3.4.2 电压衰减电路图14 电压衰减电路原理图如图14所示,R1和R2是分压电阻,其阻值均为按档位需要计算后所得,可以将20V的直流电压衰减为2V输出,配合20V的直流电压挡。3.4.3 电流衰减电路图15 电流衰减电路原理图如图15所示,R15和R16是分流电阻,其阻值均为按档位需要计算后所得,可以将2A的直流电流衰减为200mA,并将电流变换成电压以供模数转换器测量,配合2A的直流电流档使用。3.4.4 电阻-电压变换电路图16 电阻-电压变换电路原理图图16所示电路为电阻测量电路。其中,电阻R13和R14构成一组基准电阻。电路工作时,PNP管Q3的集电极电流IC3是恒定的,R18和R19负责调节IC3的大小。通过接入不同的电阻(R20或R21),可获得不同的倍率的集电极电流IC3,电流通过待测电阻Rx形成电压Vx。通过测量Vx即可获得待测电阻的阻值。经过计算,可知R20分支可测量的最大电阻值为2k,R21分支为20k。而P4端则是作为待测电阻的接口。3.4.5 模数转换部分图17 模数转换部分原理图图17所示为模数转换部分。PCF8591芯片作为ADC芯片,使用I2C总线与单片机通讯,SCL是串行时钟,SDA是串行数据线,输出转换后的数字量。待测模拟量从AIN0进入,其余模拟输入口因本设计不需使用而接地。AGND端是模拟地,接上0电阻,而VDD接上接地电容,有效分割模拟地和数字地,减少高频数字信号的干扰。3.4.6 报警提示部分图18 报警提示部分原理图图18所示为蜂鸣器驱动电路。当出现测量值超出预定量程时,蜂鸣器会发出“嘀”声报警。其实质是通过编程使单片机的引脚输出低电平,使Q1导通,蜂鸣器发声。3.4.7 单片机最小系统图19 单片机最小系统如图19所示,本次设计采用STC公司的89C52型单片机作为控制芯片,并采用RC上电复位电路用于单片机复位,配合频率为11.0592MHz的外部震荡电路,作为外部时钟信号,提供单片机片内各种操作的时间基准(张景璐等,2010)。P1.0-P1.3作为按键的输入线,P1.4及P1.5分别作为ADC芯片I2C总线的时钟线和数据线。P0口作为1602液晶的数据总线,P2.0和P2.1作为1602液晶的控制线,另外P3.7用作控制蜂鸣器。3.4.8 显示输出部分图20 显示输出部分原理图如图20所示,采用1602液晶作为输出显示器,读数更加准确和直观,能显示比数码管更丰富的信息。其中RS和RE为液晶的控制线,DB0-DB7为液晶的数据线,均与单片机的相应I/O口相连。Vo端接上一个10k的电位器再接地,通过调节电位器,可以调节液晶字符显示的明暗度,防止“鬼影”现象的出现。3.4.9 开关及量程选择部分图21 开关及量程选择部分原理图如图21所示,拨码开关S1的左侧三个端口分别接上分压器、分流器、电阻测量电路,使用时拨动不同开关,连通对应的电路,测量不同的物理量。而下面的4个按键,负责通知单片机当前所选的待测物理量及档位,改变液晶显示器数值的输出方式。3.4.10 整体硬件电路见附录3。3.5 电路工作过程描述将相应的控制程序写入单片机是使电路各部分能协调工作,完成既定任务的前提。通过按钮选取要测量的物理值(电压、电流或电阻),然后通过选取合适的量程进行测量,以获得更准确的测量数据。单片机通过I2C总线控制PCF8591芯片,完成A/D转换,并通过该总线读取其输出的数据。单片机根据所选档位和量程对数据进行处理后,送至1602液晶处进行输出。若发生待测信号超出量程的情况,蜂鸣器会立即报警,提示使用者切换更高的量程进行测量。另外,通过单片机的复位按钮,可以对系统进行清零。4 系统软件设计4.1 C语言概述(1)单片机的C语言的特点:1. 本身不依赖机器硬件系统,方便从其他系统移植程序直接使用(郭天祥,2009);2. 能方便管理寄存器储存器和数据类型等问题,但对相关的硬件的控制有限;3. 在较大的程序代码中效率更高,在执行大应用程序时有优势;4. 程序由若干模块组成,适用于模块化设计和维护;5. 相比汇编函数,具有良好的可读性和可维护性,减少开发难度;6. 有丰富的库函数,大大减少用户的编程强度,缩短编程时间及调试时间,提高软件的开发效率;7. 能在不同类型的机器上使用,具有较好的可移植性。(2)单片机的C语言与标准C语言的区别:1. 标准C语言的库函数是按照通用计算机来定义的,而单片机的C语言库函数是按照单片机的应用情况来定义的;2. 单片机C语言增加了集中针对单片机特有的数据类型,如单片机包含位操作空间和丰富的位操作指令;3. 单片机C语言的存储模式与单片机的存储器紧密相关。使用不同存储器将会影响程序执行的效率,但标准C语言对存储模式的要求不高;4. 单片机C语言中有专门的中断函数。4.2 软件设计思路本系统软件设计的思路是:使用C语言,将各部分的驱动程序(1602液晶、模数转换器、按键、蜂鸣器等)分别编写在不同子文件中,减少主文件的复杂度,增加可读性。然后,在主函数中,先初始化液晶显示器,然后进入大循环。在大循环中,读取模数转换芯片转换后数据,并根据按键的输入情况,确定物理量和量程,如果发生超出量程的情况,调用蜂鸣器进行报警,否则对获取的数据进行一定处理,最后发送至液晶显示器进行输出。4.3 程序流程图4.3.1 系统软件总流程图初始化系统开始结束初始化液晶获取量程信息开始A/D转换读取转换数据处理数据超限?送液晶显示报警YN图22 软件总流程图4.3.2 电压测量流程图Y开始电压量程选择选择20V档位选择2V档位结束是否超过2V?N图23 电压测量流程图4.3.3 电流测量流程图开始电流量程选择选择200mA档位选择2A档位结束是否超过2A?NY图24 电流测量流程图4.3.4 电阻测量流程图开始电阻量程选择选择2k档位选择20k档位结束是否超过2k?NY 图25 电阻测量流程图5 测试及实验分析5.1 电路功能仿真5.1.1 数字电压表功能仿真(1)如图26所示,当输入的模拟直流电压为1.6V时(2V电压档),系统测量后,液晶显示输出电压值为1.6V。图26 2V电压表仿真图(2)如图27所示,当输入的模拟直流电压为16V时(20V电压档),系统测量后,液晶显示输出电压值为16V。图27 20V电压表仿真图5.1.2 数字电流表功能仿真(1)如图28所示,当输入的模拟直流电压为180mA时(200mA电流档),系统测量后,液晶显示输出为180mA。图28 200mA电流表仿真图(2)如图29所示,当输入的模拟直流电压为1.8A时(2A电流档),系统测量后,液晶显示输出为1.8A。图29 2A电流表仿真图5.1.3 数字欧姆表功能仿真(1)如图30所示,当接入的电阻阻值为1.5k时(2k欧姆档),系统测量后,液晶显示输出阻值为1.39k。图30 2k电阻表仿真图(2)如图31所示,当接入的电阻阻值为15k时(20k欧姆档),系统测量后,液晶显示输出阻值为13.9k。图31 20k电阻表仿真图5.2 PCB布线图本次设计电路走线较多且比较复杂,双面板比单片面板更适合用在复杂的电路上(高海宾等,2011)。如图32所示,上层为红色走线,底层为蓝色走线。图32 PCB布线图5.3 PCB制板成品图图33 PCB制版成品5.3.1 成品外观图34 成品外观5.4 测试数据5.4.1 直流电压测量数据表4 电压测量数据稳压源输出值(V)测量值(V)误差(%)0.150.1500.550.51-7.31.000.97

温馨提示

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

评论

0/150

提交评论