基于单片机数字万用表的制作

合集下载

数字万用表制作流程

数字万用表制作流程

数字万用表制作流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!数字万用表制作流程。

1. 准备材料。

数字万用表套件(含电路板、显示屏、电阻、电容、二极管、电位器等)。

基于单片机的数字电流表的设计

基于单片机的数字电流表的设计

郑州电力职业技术学院毕业生论文题目:_基于单片机的数字电能表设计__系别___电力工程系______专业___建筑电气工程技术___班级__建筑电气班_____学号___ 09401060170___姓名____周莉_______论文成绩指导教师答辩成绩主答辩教师综合成绩答辩委员会主任目录摘要 (3)关键词 (3)一、工作原理 (4)1.1数字电流表的工作原理 (5)1.2电流采样电路的性能 (5)1.3显示电路与电流采样电路的逻辑关系 (5)1.4放大器 (5)1.5峰值保持电路 (10)A转换芯片 (13)1.6双积分型D1.7独立式非编码键盘的接口 (14)1.8 LED动态显示器接口及显示方式 (14)1.9 89C51单片机 (16)二、测量系统的总体结构设计 (20)2.1 系统框图 (20)2.2整机设计 (19)三、程序流程图 (23)四、实验结果 (26)参考文献 (2725)摘要本电流表各模块之间使用标准信号进行传输的,这些标准信号都符合国际标准。

国际电工委员会在1973年四月第65次技术委员会通过的标准规定了国际统一信号标准,过程控制系统的模拟直流信号为4到20MA,模拟直流电压信号为1到5伏,我国的DDZ-3型电动单元组合仪表采用了国际的信号标准。

关键词电流采样,A/D转换,放大器,单片机随着微电子技术的迅速发展和超大规模集成电路的出现,特别是单片机的出现,正在引起测量、控制仪表领域新的技术革命。

采用单片机作为测量仪器的主控制器,这种以单片机为主体的新型智能仪表将计算机技术与测量控制技术结合在一起,在测量过程自动化,测量结果数据处理以及功能的多样化方面都取得了巨大的进步。

基于单片机的智能综合仪表是基于智能化、数字化、网络化新一代智能仪表的设计理念,采用智能调理、灵巧总线、工业网络、液晶显示、电子储存技术,综合指示仪表、调节仪表、积算仪表与记录仪表功能.具有高测量控制精度、高可靠性稳定性的特点。

简易数字万用表的方案设计书11

简易数字万用表的方案设计书11

目录摘要1一.设计任务2二.系统方案3三.理论分析与计算43.1器件的选择与比较43.2 测量电路的设计和分析43.2.1 模数(A/D)转换与数字显示电路43.2.2 多量程数字电压表原理43.2.3 多量程数字电流表原理53.2.4 电阻的测量原理63.2.5 电容测量原理7四.电路设计与程序设计84.1 直流电压测量电路84.2 直流电流测量电路84.3 电阻测量电路94.4 测电容电路94.5 测试切换指示电路104.6 最小系统电路10五.测试方案及结果115.1 硬件调试111.测试仪器112.测试方法115.2 软件调试115.3 硬件软件联合调试11模块程序设计法的主要优点是:115.4测试流程125.4.1 整体测试流程125.4.2电压测试流程125.4.3 电阻测量流程135.4.4 电流测试流程13 5.5 测试结果135.5.1 电流测试结果135.5.2 电阻测试结果145.5.3 电压测试结果14参考文献14附录一:15摘要本次设计用单片机芯片STC12C5A60S2设计一个数字万用表,能够测量直流电压值、直流电流、直流电阻以及电容和电感,四位数码显示。

此系统由分流电阻、分压电阻、基准电阻、555振荡电路、51单片机最小系统、显示部分、AD转换和控制部分组成。

为使系统更加稳定,使系统整体硬件更简单,本电路使用了STC12C5A60S2自带的AD,它单片机系统设计采用STC12C5A60S2单片机作为主控芯片,配以RC上电复位电路和11.0592MHZ震荡电路,显示用四位数码管。

程序每执行周期耗时缩到最短,这样保证了系统的实时性。

关键字:数字万用表;单片机;AD转换一.设计任务1.设计并制作一台支持直流电压、直流电流、电阻测量的数字万用表。

2.测量范围:直流电压0.1V-100V;直流电流10mA-500mA;电阻100Ω-1MΩ。

3.使用按键或者拨码开关进行测量类型选择,并用数码管显示器显示测量数值,发光二极管指示测量类型与单位。

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

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

基于单片机地数字多用表设计摘要本次设计采用单片机芯片STC89C52与ADC0809设计一个数字多用表,能够测量交、直流电压值,直流电流,四位数码显示,但要求使用地元器件数目最少.为使系统更加稳定,使系统地整体精度得以保障,本电路使用了ADC0809数据转换芯片,单片机系统设计采用STC89C52作为主控芯片,配以RC上电复位电路和震荡电路,程序每执行周期耗时缩到最短,这样保证了系统地实时性.关键词:数字多用表 STC89C52单片机 AD转换与控制目录第一章绪论 (1)1.1数字多用表设计背景 (1)1.1.1数字多用表地设计目地和意义 (1)1.2 数字多用表地设计依据 (1)1.3数字多用表设计任务及要求 (1)1.4数字多用表简介 (1)第二章数字多用表硬件电路地总体设计 (2)2.1数字多用表地硬件系统设计框架图 (2)2.2硬件电路设计方案及选用芯片介绍 (3)2.2.1 设计方案 (3)2.2.2 STC89C52芯片功能特性描述 (3)2.2.3数码管显示器地结构及其工作原理 (6)2.2.4 A/D转换电路地设计 (7)2.2.5 各模块直接引脚连接方法 (9)第三章数字多用表地软件设计 (10)3.1系统总流程图 (10)3.2物理量采集处理流程 (11)3.3电压测量过程流程图 (12)3.4电流地测量过程流程图 (14)3.5 各模板仿真及源程序 (14)3.5.1 仿真图 (15)3.5.2 源程序 (15)3.6 器件清单 (23)第四章总结 (24)4.1 分析总结 (24)4.2 心得体会 (25)参考文献 (25)第一章绪论数字多用表亦称数字万用表,简称DMM(Digtial Multimeter).它是采用数字化测量技术,把连续地模拟量转换成不连续地、离散地数字形式并加以显示地仪表.传统地指针式多用表功能单精度低,不能满足数字化时代地需求,采用单片地数字多用表,精度高、抗干扰能力强,可扩展尾强、集成方便,目前,由各种单片机芯片构成地数字电多用表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,显示出强大地生命力.1.1数字多用表设计背景1.1.1数字多用表地设计目地和意义数字多用表是当前电子、电工、仪器、仪表和测量领域大量使用地一种基本测量,已被广泛应用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大地生命力.随着时代科技地进步,数字多用表地功能越来越强大,把电量及非电量地测量技术提高到崭新水平.在电子产品地生产设计中,多用表是一种最常见地工具.多用表是采用电路实现对电压,电阻,电流地测量以及显示地测量装置,广泛用于电子产品设计生产过程中,已成为一种不可少地工具.随着数字技术地发展,多用表地数字化给人们生产学习带来了极大地便利,首先,由于采用集成式数字芯片,使得数字多用表地精度大为提高;其次,数字化显示可以给人更直观地信息,缩短了生产时间,提高了生产效率.因此,研究数字式多用表扩大其应用,有着非常现实地意义.1.2 数字多用表地设计依据根据数字多用表地原理,结合以下地设计要求:设计一个数字多用表,能够测量交、直流电压值,直流电流.实现多级量程地直流电压测量,实现多级量程地交流电压测量,实现多级量程地直流电流测量实现多级量程地电阻测量.由此设想出以下地解决方法,即数字多用表地系统由分流电阻、分压电阻、电容测试芯片电路、51单片机最小系统、显示部分、报警部分、AD转换和控制部分组成.为使系统更加稳定,使系统整体精度得以保障.1.3数字多用表设计任务及要求本设计重点要解决地问题是对不同量程地各种测量内容地转换,还有就是各部分电路组合成一个完整地数字多用表,而难点解决地问题就是程序地设计,要保正其可行性从而保证设计地正确性.1.4数字多用表简介数字多用表是电子测试领域最基本地工具,也是一种使用广泛地测试仪器.多用表又叫多用表、三用表(A,V,Ω也即电流,电压,电阻三用)、复用表、万能表,一般多用表可测量直流电流、直流电压、交流电压、电阻等量,有地还可以测交流电流、电容量、电感量,温度及半导体地一些参数.数字多用表,作为现代化地多用途电子测量仪器,主要用于物理、电气、电子等测量领域.数字式多用表地特点:数字式多用表显示直观,测量速度比指针表快,误差也比指针表小,保护电路设计也比指针表要更好,但无法测量快速变化地信号,工作时必须要使用电池.数字式多用表地构成也分为三部分:(1)表头数字式多用表地表头由A/D转换器,译码设备,以及显示器组成,其性能指标主要取决于A/D 转换器地位数,A/D转换器地位数越高,测量地精度就越高.(2)测量线路测量线路是用来把各种被测量转换到适合表头测量地电压信号地电路,它由电阻、半导体元件及电池组成.它能将各种不同地被测量(如电流、电压、电阻等)、不同地量程,经过一系列地处理(如整流、分流、分压等)统一变成一定量限地微小电压信号送入表头进行测量.(3)转换开关转换开关地作用是用来选择各种不同地测量线路,以满足不同种类和不同量程地测量要求.转换开关一般有多个,分别标有不同地档位和量程.第二章数字多用表硬件电路地总体设计2.1数字多用表地硬件系统设计框架图如下图2.1所示,本多用表由以下几部分功能组成,复位电路、震荡电路、ADC输入、被测量显示、超限报警、ADC使能控制.复位电路用来清零,进行下一次地测量;震荡电路用来消除一些外来干扰,使电路工作更加稳定;ADC输入则是将输入量进行AD转换;测量显示就是显示测量地数值;超限报警部分则是用作当测量量超出量程范围时发出警报,以便提醒用户更改大量程;ADC使能控制则用来对输入量进行控制,允许输入或者不允许.图2.1总体电路设计原理图2.2硬件电路设计方案及选用芯片介绍2.2.1 设计方案用单片机STC89C52与ADC0809设计一个数字多用表,配合分流电阻、分压电阻可以测量交、直流电压值,直流电流,四位数码显示.并且有超出量程地情况发生时,蜂鸣器发声报警.2.2.2 STC89C52芯片功能特性描述STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器.在单芯片上,拥有灵巧地8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、有效地解决方案. 它具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 接口,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口.图2-2-2 STC89C52RS引脚图STC89C52RS各引脚功能:P2端口(P2.0~P2.7,21~28引脚):P2口是一个带内部上拉电阻地8位双向I/O端口.在对Flash ROM编程和程序校验期间,P2也接收高位地址和一些控制信号.P3端口(P3.0~P3.7,10~17引脚):P3是一个带内部上拉电阻地8位双向I/O端口.在对Flash ROM编程或程序校验时,P3还接收一些控制信号.P3口除作为一般I/O口外,还有其他一些复用功能,见表2-2-3:表2-2-3注:单片机最小系统包括时钟电路,复位电路,电源电路.其原理图如下:2.2.3数码管显示器地结构及其工作原理(1)数码管结构数码管地外形结构如图2-2-3所示图2-2-3 数码管显示器原理图(2) LED数码管分类按其内部结构可分为共阴型和共阳型;导通时正向压降一般为 1.5~2V,额定电流为10mA,最大电流为40mA.(3)数码管工作原理共阳极数码管地8个发光二极管地阳极(二极管正端)连接在一起.通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端.当某段驱动电路地输出端为低电平时,则该端所连接地字段导通并点亮.根据发光字段地不同组合可显示出各种数字或字符.此时,要求段驱动电路能吸收额定地段导通电流,还需根据外接电源及额定段导通电流来确定相应地限流电阻.共阴极数码管地8个发光二极管地阴极(二极管负端)连接在一起.通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端.当某段驱动电路地输出端为高电平时,则该端所连接地字段导通并点亮,根据发光字段地不同组合可显示出各种数字或字符.数码管显示数字见图2-2-4图2-2-4 数码管显示数字对照图2.2.4 A/D转换电路地设计ADC0809是美国国家半导体公司生产地CMOS工艺8通道,8位逐次逼近式A/D模数转换器.其内部有一个8通道多路开关,它可以根据地址码锁存译码后地信号,只选通8路模拟输入信号中地一个进行A/D转换.是目前国内应用最广泛地8位通用A/D芯片.此模块主要由模数转换器ADC0809和双D型正沿触发器74LS74(带预置和清除端)组成.(1)主要特性:1.8路输入通道,8位A/D转换器,即分辨率为8位.2.具有转换起停控制端.3.转换时间为100μs(时钟为640kHz时),130μs(时钟为500kHz时).4.单个+5V电源供电.5.模拟输入电压范围0~+5V,不需零点和满刻度校准.6.工作温度范围为-40~+85摄氏度.7.低功耗,约15mW.(2)内部结构:ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如右图所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成.(3)外部特性(引脚功能):ADC0809芯片有28条引脚,采用双列直插式封装,如左图所示.下面说明各引脚功能.IN0~IN7:8路模拟量输入端.2-1~2-8:8位数字量输出端.ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中地一路ALE:地址锁存允许信号,输入,高电平有效.START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换).EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平).OE:数据输出允许信号,输入,高电平有效.当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量.CLK:时钟脉冲输入端.要求时钟频率不高于640KHZ.REF(+)、REF(-):基准电压.Vcc:电源,单一+5V.GND:地.(4)ADC0809地工作过程:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中.此地址经译码选通8路模拟输入之一到比较器.START上升沿将逐次逼近寄存器复位.下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行.直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请.当OE输入高电平时,输出三态门打开,转换结果地数字量输出到数据总线上.转换数据地传送 A/D转换后得到地数据应及时传送给单片机进行处理.数据传送地关键问题是如何确认A/D转换地完成,因为只有确认完成后,才能进行传送.为此可采用下述三种方式.1.定时传送方式对于一种A/D转换器来说,转换时间作为一项技术指标是已知地和固定地.例如ADC0809转换时间为128μs,相当于6MHz地MCS-51单片机共64个机器周期.可据此设计一个延时子程序,A/D 转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送.2.查询方式A/D转换芯片由表明转换完成地状态信号,例如ADC0809地EOC端.因此可以用查询方式,测试EOC地状态,即可确认转换是否完成,并接着进行数据传送.3.中断方式把表明转换完成地状态信号(EOC)作为中断请求信号,以中断方式进行数据传送.不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送.首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受.2.2.5 各模块直接引脚连接方法a) 把“单片机系统”区域中地P1.0-P1.7与“动态数码显示”区域中地ABCDEFGH端口连接.b) 把“单片机系统”区域中地P2.0-P2.7与“动态数码显示”区域中地S1-S8端口连接.c) 把“单片机系统”区域中地P3.0与“模数转换模块”区域中地ST端子用导线相连接.d) 把“单片机系统”区域中地P3.1与“模数转换模块”区域中地OE端子用导线相连接.e) 把“单片机系统”区域中地P3.2与“模数转换模块”区域中地EOC端子用导线相连接.f) 把“单片机系统”区域中地P3.3与“模数转换模块”区域中地CLK端子用导线相连接.g) 把“模数转换模块”区域中地A2A1A0端子用导线连接到GND端子上.h) 把“模数转换模块”区域中地IN0端子用导线连接到“三路可调电压模块”区域中地VR1端子上.i) 把“单片机系统”区域中地P0.0-P0.7用8芯排线连接到“模数转换模块” 区域中地D0-D7端子上.第三章数字多用表地软件设计3.1系统总流程图根据上述,我们选择单片机与A/D转换芯片结合地方法实现本设计.使用地基本元器件是:STC89C52单片机,AD0809模数转换芯片,数码管显示器,开关,电容,电阻,晶振,标准电源等等.图3.1系统总流程图3.2物理量采集处理流程图3.2物理量采集处理流程3.3电压测量过程流程图图3.3电压测量流程图3.4电流地测量过程流程图图3.4电流测量流程图3.5 各模板仿真及源程序3.5.1 仿真图3.5.2 源程序#include <reg51.h>分流电阻电路触发器74LS74 分压电阻电路报警电路#include <intrins.h>sbit LCD_RS=P1^0。

基于单片机的具有语音功能的万用表的设计

基于单片机的具有语音功能的万用表的设计

基于单片机的具有语音功能的万用表的设计【摘要】本文主要介绍了以羚羊的16位单片机SPCE061A为核心,将待测电子元件的参数R、L、C转换成电路的频率,通过单片机的外部中断测量此振荡电路的频率实现对各个参数的测量。

此系统具有测量精度较高、便于使仪器仪表自动化、还能加入语音播报的功能使其更加智能化。

【关键词】SPCE061A单片机;三点式振荡电路;555多谐振荡电路;语音播放1.设计方案对电子元器件集总参数R、C、L的测量种类很多,方法也各有不同,但都有其优缺点。

一般的测量方法都存在误差较大、不易实现自动测量以及缺少报警机制,因而不能实现智能化测量。

这里我们在测量电阻R和电容C时采用单片机和555数字集成芯片结合的方式,将待测电阻R或电容C接入555数字集成芯片的外围电路中构成多谐振荡电路;在测量电感L时将待测电感L接入外围电路中构成电容三点式振荡电路。

上面三种测量电路都会产生频率为f的振荡信号,由于单片机的外部终端由低电平时触发,所以我们便可以将555数字集成芯片或电容三点式振荡电路产生的频率输入到单片机SPCE061A的外部中断入口,这样就可以将模拟量近似的转换为数字量,然后单片机通过内部公式计算将最终的电阻R的阻值、电容C 的电容值以及电感C的电感值输出到LED数码管上显示出来,这种数字化的处理使得仪表实现智能化。

不仅如此,我们还可以对超过量程的情况进行语音报警,单片机通过计数获得待测元件产生的频率f,如果频率f不在该量程所对应的频率f的取值范围,则单片机会产生语音播报,提醒用户更换量程。

2.系统各部分功能设计框图图1 系统各部分功能设计框图3.各部分电路设计3.1 电阻测量电路采用脉冲计数法对电阻进行测量,如图2(a)所示,将待测电阻接入555定时器构成多谐振荡电路通过计算振荡输出的频率来计算被测电阻的大小,具体参数见表1。

其振荡周期为(以量程一为例):由上式得出待测电阻计算公式为:3.2 电容测量电路采用脉冲计数法对电容进行测量,如图2(b)所示,将待测电容接入555定时器构成多谐振荡电路通过计算振荡输出的频率来计算被测电容的大小,具体参数见表1。

数字万用表 单片机课程设计

数字万用表 单片机课程设计

硬件选择方案:一、实验所需元器件1.A T89S51芯片1块2. AD0809芯片1块3. 74HC245 2块4. 4位一体数码1个5. 6MHZ 晶振1个6. 33pF电容2个7. 0.1μf滤波电容2个8. 10μf电解电容1个9. 按键开关1个10. 发光二极管1个11. 4.7KΩ精密电位器1个12. 510Ω电阻12个13. 8.2KΩ电阻1个14. 10KΩ电阻1个15. 导线若干二、主要元器件的介绍1、模数转换芯片ADC0809:ADC0809是典型的8通8位通道逐次逼近式A/D转换器,它可以喝微型计算机直接接口。

(1)ADC0809内部逻辑框图图1-2 ADC0809内部逻辑框图及引脚图ADC0809的内部逻辑框图如图1-2所示。

途中多路模拟开关可选通8路模拟通道,允许8位模拟量分时输入,并共用一个A/D转换器进行转换器,地址锁存器与译码电路完成对A、B、C三个地址位进行所存与译码(2)ADC0809的引脚ADC0809芯片为28引脚双列直插式装置其引脚排列图为1-2所示。

(3)ADC0809的工作原理首先输入3位地址,并使ALE=1,将地址存入地址锁存器中,此地址经译码选通8路模拟输入之一的比较器。

启动端上升沿逐次逼近寄存器复位,下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行,知道A/D转换完成。

EOC变为高电平,指示A/D转换结束,结果数据已经存入锁存器,这个信号可用作中断申请,当OE输入为高电平时,输出三态门打开,转换结果的数字量输出到输出总线上。

图1-3 ADC0809信号的时序配合2.数据处理及控制芯片AT89S51AT89S51是低功耗,高性能CMOS8位单片机,图1-4为内部总体结构,AT89S51内部含4K字节闪速存储器,128字节RAM,32个I/O口线,两个数据指针,两个16位定时器、计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

单片机数字万用表课程设计

《单片机》课程设计题目:基于单片机的数字多用表设计专业:电力系统及其自动化班级:本自动化姓名:学号:指导老师:小组成员:成绩:摘要本次设计采用单片机芯片AT89S51与ADC0809设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示,但要求使用的元器件数目最少。

为使系统更加稳定,使系统的整体精度得以保障,本电路使用了A D C0809数据转换芯片,单片机系统设计采用AT89S51作为主控芯片,配以RC上电复位电路和震荡电路,程序每执行周期耗时缩到最短,这样保证了系统的实时性。

关键词数字万用表AT89S51单片机A D转换与控制目录摘要 (2)关键词 (2)绪论1.数字万用表设计背景 (4)1.1 数字万用表的设计目的和意 (4)1.2 数字万用表的设计依据 (4)1.3 数字万用表设计重点解决的问题 (4)2.数字万用表总体设计方案 (5)2.1数字万用表的基本原理.......................... ....... . (5)2.2芯片选择及功能简介………………………………………..2.3电路原理图及仿真图…………………………………….. ……….2.4系统板上硬件连线……………………………….. ……….. ……2.5程序设计容……………………………….. ……….. ……2.6C语言源程序……………………………….. ……….. ……3 总结……………………………………….….…………4心得体会5 参考文献 (13)绪论数字万用表亦称数字多用表,简称D M M(Di gt i a l Mu lt i m e t e r)。

它是采用数字化测量技术,把连续的模拟量转换成不连续的,离散的数字形式并加以显示的仪表。

传统的指针式万用表功能单精度低,不能满足数字化时代的需求,采用单片机的数字万用表,已被广泛用于电子及工业测量、工业自动化仪表、自动测试系统等智能测量领域,显示出强大的生命力。

基于单片机的万用表设计

S c i e n c e& Te c h n o l o g y Vi s i o n
科 技 视 界
橄 ・ 探索・ 争鸣
基于单片机的万用表设计
周 艳
( 渤海大学工学院 , 辽宁 锦州 1 2 1 0 0 0 )
【 摘 要】 单片机技术被 广泛的应用于现代的各行各业 , 针对单片机 的设 计也 千变万化 。 基于单片机设计的万用表 - . 0 - v : z 用于测量交流 电、 直 流电、 电容 、 电阻和数字显码 , 本文采用 A T 8 9 8 5 2 单片机设 计一个万用表 。通过对此 系统的设计研究 5 l 单片机 系统 的最好显示情况 , 各个部分 的控制转换情况和报警情 况. 通过 实验提 高 系统的芯片的稳定性 , 保证整个 系统 的精度 , 通过 A D 0 8 0 9 芯片进行数据转换 , 以A T 8 9 S 5 2芯片单 片机 为主要的控制芯 片. 配合 R c上电路 复位和震 荡电路的结合 , 显示单片机芯片 6 1 2 2 , 驱动 以八位数码 管进行显示。程序在 每一次执行的周 期中逐 步缩减 . 从 而保证整个 系统的 实时性 和有效性 。 【 关键词 】 万用表 ; 单 片机 ; 设计
集聚强大的生命力量。数字万用表具有较为清晰直观的数字显示 , 准 确的数位 . 一般是 3 位或 8 位, 通过准确 的测 量 , 高效 的分辨 率 , 宽范 围的功能测量 , 通过输入 阻抗较 高, 集成较高 , 消耗功率较低的方法进
行单片机保护 . 从而提高单片机 的抗干扰能力 。本文将针对万用表进 行设计 . 直观的认识其基础的优 点, 深刻研究万用表的测量方法原理 ,
2 数 字万 用表 的整体设计
2 . 1 万 用 表 的设 计 原 理 万用表 的功能是可 以较好的测量量 。通过对模数 A / D之 间的转换 . 数字显示电路的 链接, 电压表 、 电流表 、 电阻表 多个仪 器之间的原理 的综合 , 整合 出适 合 目前功能发展 的万用表 2 . 2 模数A / D之间的转换和数字电路 的显示效果 通过 物理测 量对信号幅值进行大小变化显 示出模拟 性信 号 指针 仪 表盘可以对模拟 的电压和电流进行有效的显示 . 而对数 字仪表需要 对模拟信 号转换 为数字信号 , 处理显示的存储 、 运算过 程结果 。 数字信 号与模拟信号不通 . 具有 的幅值大小是不相互连续 的.通过二进制数 码 表示 . 但是为 了能够更好 的通 过直观的认识 和记录数据 . 需要 对进 行数码变换 . 由数码管 和液 晶屏显示 。 2 _ 3 多量程的数字 电压表测量 基于万用表进行分级别 电压电路测量 .扩展 直流电压 的测 量范

简易数字万用表设计

简易数字万用表设计辽宁工业大学单片机原理及接口技术课程设计(论文)题目:简易数字万用表院(系):电气工程学院专业班级:测控技术与仪器学号: 090301020学生姓名:王英会指导教师:起止时间:2012。

6。

18-2012。

6.29课程设计(论文)任务及评语院(系):电气工程学院教研室: 测控技术与仪器注:成绩:平时20%论文质量60% 答辩20%以百分制计算摘要本课题介绍了一种基于单片机的简易数字电压表的设计.该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块.A/D转换主要由芯片ADC0804来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。

数据处理则由芯片89S52来完成,其负责把ADC0804传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0804芯片工作.该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。

此数字电压表可以测量0—5V的1路模拟直流输入电压值,并通过一个四位一体的7段数码管显示出来。

关键字:单片机;数字电压表;A/D转换; 80S52;ADC0804目录第1章绪论.................................... 错误!未定义书签。

第2章课程设计的方案. (1)2。

1概述 .................................... 错误!未定义书签。

2.2总体方案比较 ............................. 错误!未定义书签。

第3章硬件设计. (11)3.1电压采集 (4)3.2电流采集 (5)3.2电阻采集 (6)第4章软件设计 (7)4。

1程序设计总方案 (7)4。

2系统子程序设计 (8)第5章误差分析 (9)第6章课程设计总结 (10)参考文献 (11)第1章绪论社会的发展、科技的进步,离不开电子产业的推动。

基于STM32的数字化万用表校验仪制作

基于STM32的数字化万用表校验仪制作针对现有的万用表校验仪存在的不能实现自校准,显示不清晰,器件老化精度降低等问题,设计了一种基于STM32的数字化万用表校验仪,详细介绍了该校验仪各单元的电路设计。

改进后的校验仪校验结果准确度高,操作方便,大大提高了工作效率。

标签:万用表;校验仪;制作1 引言萬用表是电工必备的仪表之一,在万用表实训过程中同学们往往需要对自己制作的万用表进行校准,以便使自己装的万用表准确度更高。

通常我们采用的方法是用固定的电阻、电压、电流来对万用表进行校准,这样做往往误差很大,而且工作量大,仅能对固定几个档位进行校准,使校准工作烦琐而且不准确。

国内市场上生产万用表校验仪的厂家不多,其主要使用对象是针对工厂或者研究院,集成功能多,操作非常繁琐,且价格昂贵,不适合学生实习实训使用。

本文设计了一种基于STM32的数字化万用表校验仪,是在原有的万用表校验仪的基础上进行技术改造,解决了其电压输出不稳,不能自校准,显示不清晰,精度低、操作不方便等问题。

2 校验仪整体方案设计2.1 标准电阻网络:设计制作能够通过软件控制输出特定阻值电阻硬件电路,并能够满足微调功能;包含程序模块,并为嵌入整机程序留好端口。

2.2 电流源网络:设计制作一个输出电流数控可调的电路,并有微调功能;包含程序模块,并为嵌入整机程序留好端口。

2.3 电压源网络:设计制作一个0~500V的50HZ正弦波电压可数控调节的电路,并有微调功能;包含程序模块,并为嵌入整机程序留好端口。

2.4 整机软件测控网络:设计编写液晶+按键+旋钮的人际交互界面,并设计制作AD采集网络单元;程序部分留有接入以上各部分程序端口。

3 校验仪硬件设计3.1 电阻档电路图中,P402插件留的位置是接入微调电位器,目的是方便微调,并配合软件计算实现校验仪自动识别所校验万用表存在的误差。

3.2 电流档电路通过三极管恒流源电路设计可控恒流源电路,采用开环增益大的运放作为闭环控制,减小由于三级管的非线性误差。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于单片机数字万用表的制作公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]基于51单片机数字万用表摘要:本设计采用AT89C52为主控芯片配以振荡电路设计设计了一个数字万用表,可用于测量直流电压,直流电流,电阻和电容,并配以档位转换。

本系统使用ADC0832作为数据转换芯片,LM358作为放大芯片,通过LCD1602显示,各模块主要通过AD转换以及电压放大实现测量功能。

绪论:数字多用表(GMM)就是在电气测量中要用到的电子仪器。

它可以有很多特殊功能,但主要功能就是对电压、电阻和电流进行测量。

传统的指针式万用表功能单精度低,不能满足数字化时代的需求,采用单片机制作的数字万用表,具有精度高、抗干扰能力强,可扩展力强、集成方便等优点,目前,由各种单片机芯片构成的数字电万用表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,显示出强大的生命力。

总体设计设计方案:1.电压测量原理与AD 转换电路ADC0832是美国国家半导体公司生产的一种8 位分辨率、双通道A/D 转换芯片。

其最高分辨可达256级,可以适应一般的模拟量转换要求。

其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V 之间。

芯片转换时间仅为32μS ,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。

独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。

通过DI 数据输入端,可以轻易的实现通道功能的选择。

本系统只对CH0 进行单通道转换。

单 片 机AD 电路分压电AD 电路放大电路放大电路 路路功能开关显示电路晶振电路电电流电阻振荡电路电容电压信号输入分压 AD 转换单片机显示电压测量流程图对于本设计分压电路模块介绍之前首先分析以下两种设计方案。

多量程分压电路多量程分压器原理上述两图所制作的多量程电压测量,其内阻比较小,不能达到测量要求,对电路做以下改进。

对于本次设计的电压模块只设置5V,30V两个档位,如图直接采用一组分压电路既可达到要求。

2.电流测量原理与放大电路对于电流模块此处给予多种方案:(本系统采用的方案二)方案一:原理:通过改变检流电阻的大小实现不同档位的转换。

图中保险丝可保护电流过大,二极管防止电压过大,当二极管两端电压达到导通电压,检流电阻连端电压将达到稳定,从而有效的控制输入电压的大小。

方案二:电流测量原理与方案一基本相同,但在相同电流的测量上此电路比方案一电路的内组更小,由于加入了运算放大器,所以最大的输出电压不会超过电源电压(实验数据显示不会超过)并不用担心检流电阻两端电压大小。

而且此方案还有一个最大的优势,它的分辨率更高,理由如下:根据ADC0832的最小分辨率x可知,此方案中测量电流的最小分辨电流i满足i*R*k=x(R为检流电阻,k为放大器放大倍数),得到i=x/(R*k)在方案一中,i’=x/R’,由于电阻材质的问题其本身电压不能超过额定电压,在量程相同的情况下Imax*R*k=3,Imax*R’<3.因此Rx>R’即i<i’.(LM358 内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。

它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。

)3.电阻模块的测量原理选择量程接入电阻单片放大电压AD转换显示放大电路放大器的最大放大电压为3V左右(实际放大为左右,这里取3V),则输入电压满足5*10<V(1010+R).V是最大输入电压,R是待测电阻。

可以知道待测电阻R=50k/Uo-1010.ADC0832的最小分辨率为即放大后的最小电压为. 则输入电压满足5*10>v(1010+R).v是最小输入电压。

根据上述说明可以得出各个档位测量范围。

档位1(V=,v=..),R<148990档位2(V=, v=..),8990<R<1498990档位3(V=,v=..), 98990<R<.如果挡位1取9000,档位2取99000,档位3取999000.在上述电路制作成功后并没有达到比较好的测量效果,对于大电阻的测量测量值往往会远小于实际电阻值。

针对这个问题,在对放大器各级电压比较后发现主要是由于大电阻测量时输入电压太小以至于达不到放大器的正常放大电压,因此上述电路在很大程度上限制了测量电阻的范围。

对电路做以下改变:直接将前两级放大合并为一级放大,达到减小放大的门款电压。

其他测量方法:原理图如下:通过恒流源(恒流电路此处用电流源代替)给待测电阻供电,放大待测电阻的电压,输出给电压表。

此方法和上述方案原理上的差别在于一个利用的是电流恒定,另一个利用的是电压恒定,对于电流的恒定,一方面,它的电路设计比较复杂,另一方面,如果电流源电路设计的不太理想,电流源的大小变化会产生很大的测量误差。

不过它可以使测量误差比较稳定,在测量误差不大的情况下电压恒定电路的误差变化可以忽约吗,因此本设计不采用这种设计思路。

4.电容的测量原理与振荡电路:选择量程接入电容电容充放电单片机显示根据555定时器构成单稳态,产生脉冲波形,通过单片机读取高低电平得出频率,通过公式换算得到电容值。

总结:整个设计基本上是围绕放大器所组成的放大电路展开,放大器的放大误差直接决定着测量的误差。

此设计设计电路简单,测量精度比较小。

而且材料成本低,对于直流电路的测量有着很好的实用性。

程序主函数#include""sbit AAD_CS=P1^0;sbit AAD_D0=P1^2;sbit AAD_D1=P1^3;sbit AAD_CLK=P1^1;sbit AVD_CS=P1^4;sbit AVD_D0=P1^6;sbit AVD_D1=P1^7;sbit AVD_CLK=P1^5;sbit key_boat=P3^3;unsigned char AAD_read(),AVD_read(); unsigned char dat[4]={0,0,0,0};unsigned char date=0,date1=0,key=0,time=18;unsigned long add;void main(){init();TH0=0x3c;TL0=0xb0;TH1=0x3c;TL1=0xb0;TMOD=0x11;EA=1;EX0=1;EX1=1;IT0=1;IT1=1;ET0=1;ET1=1;PT0=0;PX0=0;PX1=1;TR0=1;while(1);}void capac() interrupt 0 ;writedate(0x82,dat[1]+'0');writedate(0x83,dat[2]+'0'); }if(date==2) ;writedate(0x83,dat[2]+'0');writedate(0x84,dat[3]+'0');}if(date1==1) ;writedate(0xc2,dat[1]+'0');writedate(0xc3,dat[2]+'0');}elsewritedate(0xc0,'1'); }if(date1==2) ;writedate(0xc3,dat[2]+'0'); }elsewritedate(0xc0,'1');}if(date1==3) ;writedate(0xc3,dat[2]+'0');writedate(0xc4,dat[3]+'0');}elsewritedate(0xc0,'1');}if(date1==6) ;writedate(0xc4,dat[3]+'0');}elsewritedate(0xc0,'1'); }if(date1==7) ;writedate(0x84,dat[3]+'0');}elsewritedate(0x80,'1');add=0;}if(date1==8) ;writedate(0x84,dat[3]+'0');}elsewritedate(0x80,'1');add=0;}if(date1==9) //电容档位3(此档位不可用){TR0=0;writedate(0xc0,add/+'0');writedate(0xc1,(add/1000000)%10+'0');writedate(0xc2,(add/100000)%10+'0');writedate(0xc3,(add/10000)%10+'0');writedate(0xc4,(add/1000)%10+'0');writedate(0xc5,(add/100)%10+'0');writedate(0xc6,(add/10)%10+'0');writedate(0xc7,(add)%10+'0');add=0;}time=18;}TH0=0x3c;TL0=0xb0;}void keyboat() interrupt 2 //功能转换开关{ unsigned char trange=200;if(key_boat==0){ delay(50);if(key_boat==0){key++;TR0=0;if(key>11){key=1; TR0=1;}writeadd(1);switch(key){case 1: writedate(0x80+13,'U');writedate(0x80+14,'5');writedate(0x80+15,'v');break;case 2: writedate(0x80+12,'U') ;writedate(0x80+13,'3'); writedate(0x80+14,'0');writedate(0x80+15,'v');break;case 3: writedate(0xc0+11,'I') ;writedate(0xc0+12,'1'); writedate(0xc0+13,'0');writedate(0xc0+14,'m');writedate(0xc0+15,'A');break; case 4: writedate(0xc0+11,'I') ;writedate(0xc0+12,'8'); writedate(0xc0+13,'0');writedate(0xc0+14,'m');writedate(0xc0+15,'A');break; case 5: writedate(0xc0+10,'I') ;writedate(0xc0+11,'1'); writedate(0xc0+12,'5');writedate(0xc0+13,'0');writedate(0xc0+14,'m');writedate(0xc0+15,'A');break; case 6: writedate(0xc0+13,'R');writedate(0xc0+14,'9');writedate(0xc0+15,'K');break;case 7: writedate(0xc0+12,'R') ;writedate(0xc0+13,'9'); writedate(0xc0+14,'9');writedate(0xc0+15,'K');break;case 8: writedate(0xc0+11,'R') ;writedate(0xc0+12,'9'); writedate(0xc0+13,'9');writedate(0xc0+14,'9');writedate(0xc0+15,'K');break; case 9: writedate(0x80+12,'C'); writedate(0x80+13,'=');writedate(0x80+14,'u');writedate(0x80+15,'F');break; case 10:writedate(0x80+12,'C'); writedate(0x80+13,'=');writedate(0x80+14,'n');writedate(0x80+15,'F');break; case 11:writedate(0x80+10,'e') ;writedate(0x80+11,'r'); writedate(0x80+12,'r');writedate(0x80+13,'o');writedate(0x80+14,'r');break;}date=key;date1=key-2; }}delay(50);while(key_boat==0&&trange)trange--;key_boat=1;TR0=1;}unsigned char AAD_read() //电流测量端数据接收函数{unsigned char dat,i,test=0,adval=0;AAD_CLK=0;//AAD_D1=1;_nop_();AAD_CS=0;_nop_();AAD_CLK=1;_nop_();AAD_CLK=0; //AAD_D1=0;_nop_();AAD_CLK=1;_nop_();AAD_CLK=0; //AAD_D1=0;_nop_();AAD_CLK=1;_nop_();AAD_CLK=0;AAD_D1=1;for(i=0;i<8;i++){_nop_();adval<<=1;AAD_CLK=1;_nop_();AAD_CLK=0;if(AAD_D0)adval|=1;}for(i=0;i<8;i++){_nop_();test>>=1;if(AAD_D0)test|=0x80;AAD_CLK=1;_nop_();AAD_CLK=0;}if(adval==test)dat=test;_nop_();AAD_CS=1;AAD_D0=1;AAD_D1=1;AAD_CLK=1;return dat;}unsigned char AVD_read() //电压测量端ADC0832数据接收函数{unsigned char dat,i,test=0,adval=0;AVD_CLK=0;//AVD_D1=1;_nop_();AVD_CS=0;_nop_();AVD_CLK=1;_nop_();AVD_CLK=0; //AVD_D1=0;_nop_();AVD_CLK=1;_nop_();AVD_CLK=0; //AVD_D1=0;_nop_();AVD_CLK=1;_nop_();AVD_CLK=0;AVD_D1=1;for(i=0;i<8;i++){_nop_();adval<<=1;AVD_CLK=1;_nop_();AVD_CLK=0;if(AVD_D0)adval|=1;}for(i=0;i<8;i++){_nop_();test>>=1;if(AVD_D0)test|=0x80;AVD_CLK=1;_nop_();AVD_CLK=0;}if(adval==test)dat=test;_nop_();AVD_CS=1;AVD_D0=1;AVD_D1=1;AVD_CLK=1;return dat;}显示函数#include""void delay(unsigned char i){unsigned char j=100;while(i>0){j=100;while(j--);i--;}}void writeadd(unsigned char add) //写入指令{check();RS=0;RW=0;delay(1);LCD=add;delay(1);E=1;delay(1);E=0;delay(1);}void check(){RS=0;RW=1;delay(1);E=1;while(LCD&0x80);E=0;delay(1);}void writedate(unsigned char add,unsigned char date) //写入地址和数据{writeadd(add);check();E=0;RS=1;RW=0;delay(1);LCD=date;delay(1);E=1;delay(1);E=0;delay(1);}void init(){writeadd(0xc);writeadd(0x3c);显示函数头文件#ifndef LCD_H#define LCD_H#include""#include<>#define LCD P0sbit RS=P2^6;sbit RW=P2^5;sbit E=P2^7;void delay(unsigned char i);void writeadd(unsigned char add);void writedate(unsigned char add,unsigned char date); void check();void init();#endif。

相关文档
最新文档