基于单片机的数字万用表的设计

更新时间:2024-06-07 23:07:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

本科毕业设计

基于单片机的数字万用表的设计

摘 要

本设计是基于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 SCM

Luo 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 STC's 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 前言 .......................................................................................................................................... 1 1.1 课题的提出 ........................................................................................................................... 1 1.2 研究的意义 ........................................................................................................................... 1 1.3 设计的任务 ........................................................................................................................... 1 2 总体方案确定 .......................................................................................................................... 1 2.1 方案比较及选择 ................................................................................................................... 1 2.1.1 模数转换芯片方案 ............................................................................................................ 1 2.1.2 显示器方案 ........................................................................................................................ 4 2.2 确定设计方案 ....................................................................................................................... 5 3 系统硬件分析及设计 .............................................................................................................. 5 3.1 数字万用表的基本原理 ....................................................................................................... 5 3.1.1 模数转换及显示电路原理 ................................................................................................ 5 3.1.2 多量程数字电压表原理 .................................................................................................... 6 3.1.3 多量程数字电流表原理 .................................................................................................... 6 3.1.4 电阻测量原理 .................................................................................................................... 7 3.2 硬件系统总体设计框图 ....................................................................................................... 8 3.3 硬件电路所用芯片及元件介绍 ........................................................................................... 8 3.3.1 STC的89C52型单片机 .................................................................................................... 8 3.3.2 PCF8591模数及数模转换芯片 ....................................................................................... 12 3.3.3 LCD1602液晶显示器 ...................................................................................................... 13 3.4 硬件电路设计 ..................................................................................................................... 14 3.4.1 电源部分 .......................................................................................................................... 14 3.4.2 电压衰减电路 .................................................................................................................. 14 3.4.3 电流衰减电路 .................................................................................................................. 15 3.4.4 电阻-电压变换电路......................................................................................................... 15 3.4.5 模数转换部分 .................................................................................................................. 16 3.4.6 报警提示部分 .................................................................................................................. 17 3.4.7 单片机最小系统 .............................................................................................................. 17

I

3.4.8 显示输出部分 .................................................................................................................. 18 3.4.9 开关及量程选择部分 ...................................................................................................... 18 3.4.10 整体硬件电路 ................................................................................................................ 19 3.5 电路工作过程描述 ............................................................................................................. 19 4 系统软件设计 ........................................................................................................................ 19 4.1 C语言概述 .......................................................................................................................... 19 4.2 软件设计思路 ..................................................................................................................... 19 4.3 程序流程图 ......................................................................................................................... 20 4.3.1 系统软件总流程图 .......................................................................................................... 20 4.3.2 电压测量流程图 .............................................................................................................. 20 4.3.3 电流测量流程图 .............................................................................................................. 21 4.3.4 电阻测量流程图 .............................................................................................................. 21 5 测试及实验分析 .................................................................................................................... 22 5.1 电路功能仿真 ..................................................................................................................... 22 5.1.1 数字电压表功能仿真 ...................................................................................................... 22 5.1.2 数字电流表功能仿真 ...................................................................................................... 23 5.1.3 数字欧姆表功能仿真 ...................................................................................................... 24 5.2 PCB布线图 ......................................................................................................................... 25 5.3 PCB制板成品图 ................................................................................................................. 25 5.4 成品外观 ............................................................................................................................. 25 5.5 测试数据 ............................................................................................................................. 26 5.5.1 直流电压测量数据 .......................................................................................................... 26 5.5.2 直流电流测量数据 .......................................................................................................... 27 5.5.3 电阻测量数据 .................................................................................................................. 27 6 结论 ........................................................................................................................................ 27 参 考 文 献 .............................................................................................................................. 29 附 录 .................................................................................................................................... 30 致 谢 .................................................................................................................................... 31 华南农业大学本科生毕业设计成绩评定表

II

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所示为双积分型模数转换器的原理框图。

模拟输入uISRCCPuO2+-UREF-A1uO1-A2+&清零CPResetC计数器积分器检零比较器控制电路EN锁存器开关控制D7D6D5D4D3D2D1D0

图1 积分型模数转换器原理框图

方案二:逐次比较(逼近)型模数芯片

逐次比较型转换器包含一个比较器、一个数模转换器、一个数码寄存器和一个电路控制单元。转换时的逐次逼近是按对分原理,由控制电路完成的。在逻辑控制电路产生的时钟信号驱动下,数码寄存器不断进行比较和移位操作,直至完成全部有效位的转换。此时数码寄存器的各位的值都已确定,转换步骤完成。

由于逐次逼近型模数转换器在单个时钟周期内只能完成1位转换,N位转换需要N个时钟周期,因此这种模数转换器采样速率不高,输入带宽也较低。图2所示为逐次比较型模数转换器的原理框图。

2

D/A转换器uOD2D1D0二进制代码输出D2D1D0CP比较器uI+数码寄存器-控制电路模拟电压输入

图2 逐次比较型模数转换器原理框图

方案三:并联比较型模数芯片

并联比较型模数转换器由电阻分压器、电压比较器及编码电路组成,输出的各位数码是一次形成的,它是转换速度最快的一种模数转换器。图3所示为并联比较型模数转换器的原理框图。

+UREF模拟输入R比较器+Q7Q6优先编码器Q5Q476543210ENuI78UREFR68UREFR5UREF8R4UREF8R3UREF8R2UREF8R1UREF8R-------++++++Q3Q2Q1D2并行二进D1制代码输出D0采样脉冲

图3 并联比较型模数转换器原理框图

图3中,8个大小相等的电阻串联构成电阻分压器,产生不同数值的参考电压,共形成共7种量化电平。7个量化电平分别加在7个电压比较器的反相输入端,模拟输入电压加在比较器的同相输入端。当模拟输入电压大于或等于量化电平时,比较器输出为1,否则输出为0,电压比较器用来完成对采样电压的量化。

3

并联比较型模数转换器转换精度主要取决于量化电平的划分,分得越精细,精度越高。这种转换器的最大优点是具有较快的转换速度,但所用的比较器及其他硬件较多,输出数字量位数越多,转换电路将越复杂。由此可知,该类型的模数转换器适用于高速度、低精度要求的场合。

方案选择:三个方案相比较,方案一中的积分型模数转换器的采样速度和带宽都非常低,难以满足本系统的实时性要求。与方案一和方案二相比,方案三中的并联型模数转换器转换速度更高,但是当精度要求较高时,转换电路将变得复杂且成本较高,因此,选择方案二的逐次比较型模数转换器,拥有中等的转换速度,且可以达到一定的精度水平。

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个5×7点阵字符的微型液晶显示器,可以显示较多ASCII标准的字符。1602液晶只有16个引脚,仅包含必要的数据线及数根控制线。

4

1602液晶显示的不需要占用单片机大量的扫描时间,而仅在需要显示的时候调用液晶的控制子函数即可。而且1602液晶可以通过ASCII码来显示字符,并在内部集成了存储160个字符ASCII码的寄存器,可以直接显示ASCII码表示的字符。而且液晶能比数码管显示更多的字符,增强了系统显示输出的可读性和直观性。

方案选择:与方案二相比,方案一中的数码管,虽然成本较低,但是耗费大量的单片机资源,不利于后续系统的设计。而且液晶显示的视觉效果和可读性远优于数码管,且节省单片机资源,因此选择方案二。 2.2 确定设计方案

经过了上述的比较,最终的方案是:使用逐次比较型模数转换芯片,获取系统良好的实时性及相对高的精度;使用1602液晶作为数据输出显示器,提高系统的人机交互方面的友好性。

3 系统硬件分析及设计

3.1 数字万用表的基本原理

数字万用表的基本功能是,能够测量直流电压、电流以及电阻的阻值,数字万用表的基本组成由图4所示,其中,模数转换是数字万用表的核心(杨建平,2004):

数值显示屏(数码管或液晶) 小数点驱动 译码驱动 基准电压 数模转换,数值输出 过压过流保护 基准电阻 被测量信号 分压器 过压过流保护 分流器

图4 数字万用表的基本原理图

3.1.1 模数转换及显示电路原理

实际的物理量都是幅值大小连续变化的模拟量,或称为模拟信号。旧式的指针万用表可以直接对模拟电压、电流进行测量并显示。对于数字万用表,则需要把模拟量(多

5

是电压量)转换为数字信号的形式,通过相关的处理(包括存储、传输、计算等)再进行显示。数字信号是量化的模拟信号,若将最小的量化单位记为Δ,那么数字信号的大小一定为Δ的整数倍。该倍数可以用二进制数码表示,但为了便于直观地读数,通常把数码进行译码后,由数码管或液晶屏幕显示。

当模拟信号经过量化之后,还需要进行编码处理,是用二进制码组表示固定电平的量化值(王兴亮等,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 分流电路的原理

如图6电路所示,万用表测量电流的原理是,用合适的取样电阻,将待测的电流量根据欧姆定律转换为电压量,才能进行测量。若取样电阻阻值为R,根据欧姆定律,可以获得被测电流Ii的值。

在基准数字电流表头前在加上电流信号衰减电路(分流电路),即可实现直流电流测量量程的扩展。如上图所示,四个电阻串联值是1kΩ,若选取第1挡,并使输出电压不超过2V,即可计算出Ii必须小于等于2mA。同理可计算出其他档位的满量程电流分别为20mA、200mA、2A。 3.1.4 电阻测量原理

7

图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输入

3.3 硬件电路所用芯片及元件介绍

3.3.1 STC的89C52单片机的特点及功能介绍

(1)89C52单片机的主要特点及功能特性

8

A/D使能 图8 硬件系统总体设计框图

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); 3.4组共32个双向I/O口; 4.256×8位大小的内部RAM; 5.3个16位可编程定时/计数器中断; 6.支持3.5-12/24/33MHz多种时钟频率;

7.1个全双工可编程的UART(Universal Asynchronous Receiver/Transmitte)串行口; 8.6个中断源,4级优先级中断结构;

9.2个W/R(Write/Read)读写中断口,3级加密位;

9

10.低功耗空闲和掉电节省模式,带有软件设置睡眠及相应的唤醒功能; 11.有PDIP及 PLCC两种封装形式。 (2)89C52单片机的引脚功能

图9 89C52单片机微架构图

图10 89C52单片机引脚图

下面介绍89C52单片机引脚主要功能: 1.4组I/O口

10

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.0 P1.1

功能特性

T2(定时/计数器2的外部计数输入),时钟输出 T2EX(定时/计数器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只访问外部程序存储器(地址为0000H—FFFFH),EA 端必需保持低电平(或接地)。当EA端为高电平(接Vcc端)时,CPU会执行内部程序存储器中的指令。

XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。 VCC:接电源+5V。 GND:接地端。

11

表2 P3口的第二功能

引脚号 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7

功能特性 RXD(串行输入) TXD(串行输出) INT0(外部中断0) INT1(外部中断1) T0(定时器0外部输入) T1(定时器1外部输入) WR(外部数据存储器写有效) RD(外部数据存储器读有效)

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

图12 PCF8591的引脚图

图12所示为PCF8591的引脚图。 1.AIN0~AIN3:模拟信号输入端; 2.A0~A2:引脚地址端; 3.VDD、VSS:电源端(2.5-6V);

4.SDA、SCL:I2C总线的数据线、时钟线; 5.OSC:外部时钟输入端,内部时钟输出端;

6.EXT:内部、外部时钟选择线,采用内部时钟时EXT接地; 7.AGND:模拟信号地; 8.AOUT:数模转换输出端; 9.VREF:基准电源端。 3.3.3 LCD1602液晶显示器介绍

(1)LCD1602液晶显示器的基本特征

LCD1602是工业字符型液晶,能够同时显示16×02共32个字符。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,目前市面上的1602液晶大多数是基于HD44780液晶芯片的,其控制原理是完全相同,因此基于HD44780写的控制程序可以很方便地应用于大部分1602字符型液晶。

(2)LCD1602液晶显示器的引脚功能 LCD1602液晶显示器的引脚功能如表3所示。

13

表3 1602液晶的引脚功能

引脚

1 2 3 4 5 6 7 8

符号 VSS VDD VL RS R/W E D0 D1

功能 电源地 电源正极 液晶显示偏压信号 数据/命令选择端(H/L)

读/写选择(H/L)

使能信号 数据I/O口 数据I/O口

引脚

9 10 11 12 13 14 15 16

符号 D2 D3 D4 D5 D6 D7 BLA BLK

功能 数据I/O口 数据I/O口 数据I/O口 数据I/O口 数据I/O口 数据I/O口 液晶背光源正极 液晶背光源负极

3.4 硬件电路设计 3.4.1 电源部分

图13 电源部分原理图

如图13所示,POWER端接外部直流电源,另外可以利用USB(Universal Serial Bus)端口直接提供5V电压。7805是三端稳压集成芯片,起稳压输出的作用,通过外围电路的组合,可以稳定输出5V直流电压。图中的LED灯可以作为电源电路开始工作的提示器。

3.4.2 电压衰减电路

14

图14 电压衰减电路原理图

如图14所示,R1和R2是分压电阻,其阻值均为按档位需要计算后所得,可以将20V的直流电压衰减为2V输出,配合20V的直流电压挡。 3.4.3 电流衰减电路

图15 电流衰减电路原理图

如图15所示,R15和R16是分流电阻,其阻值均为按档位需要计算后所得,可以将2A的直流电流衰减为200mA,并将电流变换成电压以供模数转换器测量,配合2A的直流电流档使用。

3.4.4 电阻-电压变换电路

15

图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接上接地电容,有效分割模拟地和数字地,减少高频数字信号的干扰。

16

3.4.6 报警提示部分

3.4.7 单片机最小系统

图18 报警提示部分原理图

声报警。其实质是通过编程使单片机的引脚输出低电平,使Q1导通,蜂鸣器发声。

图19 单片机最小系统

上电复位电路用于单片机复位,配合频率为11.0592MHz的外部震荡电路,作为外部时

如图19所示,本次设计采用STC公司的89C52型单片机作为控制芯片,并采用RC

钟信号,提供单片机片内各种操作的时间基准(张景璐等,2010)。P1.0-P1.3作为按键的

输入线,P1.4及P1.5分别作为ADC芯片I2C总线的时钟线和数据线。P0口作为1602液

图18所示为蜂鸣器驱动电路。当出现测量值超出预定量程时,蜂鸣器会发出“嘀”

17

晶的数据总线,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个按键,负责通知单片机当前所选的待测物理量及档位,改变液晶显示器数值的输出方式。

18

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 软件设计思路

19

本系统软件设计的思路是:使用C语言,将各部分的驱动程序(1602液晶、模数转换器、按键、蜂鸣器等)分别编写在不同子文件中,减少主文件的复杂度,增加可读性。然后,在主函数中,先初始化液晶显示器,然后进入大循环。在大循环中,读取模数转换芯片转换后数据,并根据按键的输入情况,确定物理量和量程,如果发生超出量程的情况,调用蜂鸣器进行报警,否则对获取的数据进行一定处理,最后发送至液晶显示器进行输出。 4.3 程序流程图 4.3.1 系统软件总流程图

4.3.2 电压测量流程图

开始 初始化系统 初始化液晶 获取量程信息 开始A/D转换 读取转换数据 处理数据 超限? Y 报警 N 送液晶显示 结束

图22 软件总流程图

20

4.3.3 电流测量流程图

4.3.4 电阻测量流程图

开始 电压量程选择 选择20V档位 Y 是否超过 2V? N 选择2V档位 结束 23 电压测量流程图

开始 电流量程选择 选择200mA档位 Y 是否超过 2A? N 选择2A档位 结束 24 电流测量流程图

21

图 图

开始 电阻量程选择 选择2kΩ档位 Y 是否超过 2k? N 选择20kΩ档位 结束

图25 电阻测量流程图

5 测试及实验分析

5.1 电路功能仿真 5.1.1 数字电压表功能仿真

(1)如图26所示,当输入的模拟直流电压为1.6V时(2V电压档),系统测量后,液晶显示输出电压值为1.6V。

图26 2V电压表仿真图

(2)如图27所示,当输入的模拟直流电压为16V时(20V电压档),系统测量后,液晶显示输出电压值为16V。

22

图27 20V电压表仿真图

5.1.2 数字电流表功能仿真

(1)如图28所示,当输入的模拟直流电压为180mA时(200mA电流档),系统测量后,液晶显示输出为180mA。

图28 200mA电流表仿真图

(2)如图29所示,当输入的模拟直流电压为1.8A时(2A电流档),系统测量后,液晶显示输出为1.8A。

23

图29 2A电流表仿真图

5.1.3 数字欧姆表功能仿真

(1)如图30所示,当接入的电阻阻值为1.5kΩ时(2kΩ欧姆档),系统测量后,液晶显示输出阻值为1.39kΩ。

图30 2kΩ电阻表仿真图

(2)如图31所示,当接入的电阻阻值为15kΩ时(20kΩ欧姆档),系统测量后,液晶显示输出阻值为13.9kΩ。

图31 20kΩ电阻表仿真图

24

5.2 PCB布线图 本次设计电路走线较多且比较复杂,双面板比单片面板更适合用在复杂的电路上(高海宾等,2011)。如图32所示,上层为红色走线,底层为蓝色走线。 11161615151414401313391212381111371010363534333210311112133029281427152616251217241823192220211413112101121121 图32 PCB布线图 5.3 PCB制板成品图

图33 PCB制版成品

5.3.1 成品外观

25

图34 成品外观

5.4 测试数据

5.4.1 直流电压测量数据

稳压源输出值(V)

0.15 0.55 1.00 1.50 1.70 1.90 3.30 5.00 7.55 9.50 12.50

表4 电压测量数据

测量值(V)

0.15 0.51 0.97 1.50 1.70 1.86 3.52 4.98 7.60 9.68 12.37

误差(%)

0 -7.3 -3 0.0 0.0 -2.1 +6.7 -0.4 +0.7 +1.9 -1.0

26

15.0

14.75

-1.7

5.4.2 直流电流测量数据

表5 电流测量数据

稳压源输出值(mA)

55 70 80 120 180

测量值(mA)

56 72 81 119 193

误差(%) +1.8 +2.9 +1.3 -0.8 +3.9

5.4.3 电阻测量数据

表6 电阻测量数据

标称值(kΩ)

1 2 2.7 3.3 4.7 10 13.3

测量值(kΩ)

0.92 1.95 2.54 3.1 4.56 9.18 12.9

误差(%)

-8.0 -2.5 -5.9 -6.1 -3.0 -8.2 -3.0

6 结论

经过了一个多月的尝试和努力,终于完成了本次数字万用表的设计。数字万用表一直是电子设计领域最重要且最基本的测量仪器之一,在电子设计的排错和调试等方面起着非常重要的作用。本次的设计的数字万用表,能体现数字万用表的基本原理,实现了

27

万用表最基本的几个功能,能测量20V以下的直流电压,200mA以下的直流电流及20kΩ以下的电阻值。经过初步测试,直流电压测量值的误差均在8%以下,在个别的区段,如1.5V到2V之间,误差较小,甚至可以完全准确地测出稳压源的输出电压。直流电流测量值的误差在0到200mA区段总体上较低,均不超过4%。但是,一小部分电路设计在方面出现了问题,仿真的理论结果与实际电路工作时的效果相差较大,测量200mA以上的电流时,会出现电源短路的问题,无法安全地进行测量。在电阻值的测量方面,误差稍大,最大的有8.2%的误差,但仍在可接受范围之内。

经过分析,导致测量值存在误差的原因是多样的,可能是电路中的衰减电阻阻值不够准确,也有可能是没有屏蔽好高频数字信号的干扰,造成了一定的误差。另外,在电阻-电压变换电路中,使用了定值的电阻而非电位器,不能调整三极管的集电极电流,未能使电路工作在最佳的状态,是造成电阻测量误差稍大的重要原因之一。

在本次设计中,由于经验不足,走了不少弯路,另外系统功能方面的考虑也不够充分。本次设计只设置了两级量程,而且功能相对单一。如果加上交流电值的测量和电容值的测量,万用表的功能将会更加完整。另外,在电流衰减电路上应该加上限流电路及大阻值接地电阻,保证系统测量较大电流时的安全性和稳定性。

28

参 考 文 献

高海宾,辛文,胡仁喜等.Altium Designer 10从入门到精通[M] .2版.北京:机械工业出

版社,2011:163-195.

郭天祥.新概念51单片机C语言教程:入门、提高、开发、拓展全攻略[M] .北京:电子

工业出版社,2009:17-20.

康华光.电子技术基础模拟部分(第五版)[M] .北京:高等教育出版社,2006:84-89. 李明生.电子测量仪器与应用[M] .2版.北京:电子工业出版社,2007:78-81.

王卫星.单片机原理与应用开发技术[M] .北京:中国水利水电出版社,2009:1-5;166-196. 王兴亮,寇宝明.数字通信原理与技术[M] .3版.西安:西安电子科技大学出版社,2009:

69-75.

杨刚,周群.电子系统设计与实践[M] .北京:电子工业出版社,2004:337-341. 杨建平.电子测量技术[M] .重庆:重庆大学出版社,2004:56-60.

张景璐,于京,马泽民.51单片机项目教程[M] .北京:人民邮电出版社,2010:6-8. David Calcutt, Frederick Cowan, Hassan Parchizadeh. 8051 Microcontrollers: An Applications

Based Introduction[M]. Oxford: Newnes, 2004:1-3.

29

整体电路原理图

附 录

30

本文来源:https://www.bwwdw.com/article/zkt6.html

Top