数字电压表设计报告(终结版)
- 格式:docx
- 大小:1.45 MB
- 文档页数:14
数字电压表单片机课程设计报告班级:姓名:学号:指导教师:2011 年3 月29 日数字电压表电路设计报告一、题目及设计要求采用51系列单片机和ADC 设计一个数字电压表,输入为0~5V 线性模拟信号,输出通过LED 显示,要求显示两位小数。
二、主要技术指标1、数字芯片A/D 转换技术2、单片机控制的数码管显示技术3、单片机的数据处理技术三、方案论证及选择主要设计方框图如下:1、主控芯片方案1:选用专用转化芯片INC7107实现电压的测量和实现,用四位数码管显示出最后的转换电压结果。
缺点是京都比拟低,内部电压转换和控制局部不可控制。
优点是价格低廉。
方案2:选用单片机AT89C51和A/D 转换芯片ADC0809实现电压的转换和控制,用四位数码管显示出最后的转换电压结果。
缺点是价格稍贵;优点是转换京都高,且转换的过程和控制、显示局部可以控制。
基于课程设计的要求和实验室能提供的芯片,我选用了:方案2。
2、显示局部方案1:选用4个单体的共阴极数码管。
优点是价格比拟廉价;缺点是焊接时比拟麻烦,容易出错。
方案2:选用一个四联的共阴极数码管,外加四个三极管驱动。
这个电路几乎没有缺点;优点是便于控制,价格低廉,焊接简单。
基于课程设计的要求和实验室所能提供的仪器,我选用了:方案2。
四、电路设计原理模拟电压经过档位切换到不同的分压电路筛减后,经隔离干扰送到A/D转换器进展A/D转换。
然后送到单片机中进展数据处理。
处理后的数据送到LED 中显示。
同时通过串行通讯与上位通信。
硬件电路及软件程序。
而硬件电路又大体可分为A/D转换电路、LED显示电路,各局部电路的设计及原理将会在硬件电路设计局部详细介绍;程序的设计使用汇编语言编程,利用Keil和PROTEUS 软件对其编译和仿真。
一般I/O接口芯片的驱动能力是很有限的,在LED显示器接口电路中,输出口所能提供的驱动电流一般是不够的尤其是设计中需要用到多位LED,此时就需要增加LED驱动电路。
一、课程内容介绍:数字电压表是用来测量信号电压的装置。
它可以测量正弦波、方波、三角波和尖脉冲信号的电压。
在进行模拟、数字电路的设计、安装、调试过程中,经常要用到数字电压表。
本设计是设计一个三位直流数字电压表。
由于其用十进制数显示,测量迅速、精度高、显示直观,一次数字电压表得到广泛的使用。
二、总体设计1、实验目的设计制作一个具有数字显示功能的数字电压表。
该数字电压表能对日常电子线路中的电压进行方便的测量。
2、实验设计要求与内容1) 本设计要求从测试端输入0-51V的电压,经90K和10K电阻分压,送ADC0804输入端,所以实际输入电压是测试端的十分之一。
经89C2051处理,在D3、D2、D1三个七段显示。
2) 本电路ADC0804最大转换值为0FFH(255),对应输入电压是5.1V,对应测试端电压(显示电压)51V。
3) 若测试端输入为4V,实际进入ADC0804为0.4Va) 经A/D转换后为14Hb) 14H经十进制转换后为0020,则令R4=00,R5=20c) 将0020*2=0040,令R4=00,R5=40d) 将数字点设在D2上,D4 D3 D2 D1分别显示为0 0 4 04) 本电路省略D4,只显示D3 D2 D15)总体设计框图:3、实验技术指标1) 被测量信号电压范围:0-51V2) 测量精度:测量显示3为有效数字3) 分辨率:5.1V/2^8注意:在画PCB的时候要注意将晶振,即Y1,C4,C5,一起布置在芯片AT89C2051旁边,还有电容C2,C3也要靠近芯片AT89C2051,这样才能有效显示结果。
4、设计提示1) 本设计要求从测试端输入0-51V的电压,经90K和10K电阻分压,送ADC0804输入端,所以实际输入电压是测试端的十分之一。
经89C2051处理,在D3、D2、D1三个七段显示器显示。
2)本电路ADC0804最大转换值=0FFH(255),对应输入电压是5.1V,对应测试端电压(显示电压)是51V。
数字电压表设计电子线路硬件课程设计总结报告课题:数字电压表设计班级:作者:学号:指导老师:摘要一个测试结果稳定、准确的数字电压表,既能减少了使用者的工作量,又提高了测量的精准度,而且人为误差被大大减小,方便与电路打交道的人快速有效的完成自己的工作。
本项目设计并实现了一个能够对0-200V范围的直流电压进行测量的数字电压表,测量分为4挡:200mV、2V、20V和200V,手动控制档位选择,显示部分小数点自动实现切换。
项目基于AT89C51单片机,拓展AD转换、显示部分。
不同档位的待测电压通过不同档位的衰减电路后变为0-200mV,再通过一个OPA336一致放大到0-2V送入AD的输入端,然后通过芯片AT89C51内的程序控制AD转换并输出。
不同档位的电压信号又不同的程序控制输出到数码管显示。
整个电路连线简单易于实现,而且成本很低,测出的电压精度也足够满足需求。
关键字:数字电压表; AT89C51单片机;易于实现AbstractA digital voltmeter which is stable and accurate can not only reduce the work of the user, but also free off the error produced by using wrong. It is convenient to people who work with the circuit.This voltmeter is designed to measure a voltage between 0 to 200. It’s divided into four gears as 200 millivolt, 2 volt, 20volt, and 200volt. Gears changing is worked by hang. The project isbase on the chip AT89C51 of one-chip computer. An analog to digital converter, a display section, and a voltage attenuation are attached to the chip and they make up the design. The voltage of different gears are changed into 0-200 millivolt. Then they are sent to an OPA336, and it’s output is 0-2 volt. The output is sent to the analog to digital converter.Then the chip control the an alog to digital converter’s output to the displaying section.The whole circuit is easy. And although it’s cost is very low, the accuracy of the outcome is fine.key words: digital voltmeter, one-chip computer, AT89C51一、项目概述数字电压表(Digital Voltmeter)简称DVM,它是利用模拟/数字变换器(A/D)原理,以十进制数字形式显示被测电压值的仪表。
简易数字电压表设计报告姓名:***班级:自动化1202学号:****************:***2014年11月26日一.设计题目采用C8051F360单片机最小系统设计一个简易数字电压表,实现对0~3.3V 直流电压的测量。
二.设计原理模拟输入电压通过实验板PR3电位器产生,A/D转换器将模拟电压转换成数字量,并用十进制的形式在LCD上显示。
用一根杜邦实验线将J8口的0~3.3V输出插针与J7口的P2.0插针相连。
注意A/D转换器模拟输入电压的范围取决于其所选择的参考电压,如果A/D 转换器选择内部参考电压源,其模拟电压的范围0~2.4V,如果选择外部电源作为参考电压,则其模拟输入电压范围为0~3.3V。
原理框图如图1所示。
图1 简易数字电压表实验原理框图三.设计方案1.设计流程图如图2所示。
图2 简易数字电压表设计A/D转换和计时流程图2.实验板连接图如图3所示。
图3 简易数字电压表设计实验板接线图3.设计步骤(1)编写C8051F360和LCD初始化程序。
(2)AD转换方式选用逐次逼近型,A/D转换完成后得到10位数据的高低字节分别存放在寄存器ADCOH和ADC0L中,此处选择右对齐,转换时针为2MH Z。
(3)选择内部参考电压2.4V为基准电压(在实际单片机调试中改为3.311V),正端接P2.0,负端接地。
四、测试结果在0V~3.3V中取10组测试数据,每组间隔约为0.3V左右,实验数据如表1所示:显示电压(V)0.206 0.504 0.805 1.054 1.406实际电压(v)0.210 0.510 0.812 1.061 1.414相对误差(%) 1.905 1.176 0.862 0.659 0.565显示电压(V) 2.050 2.383 2.652 2.935 3.246实际电压(v) 2.061 2.391 2.660 2.943 3.253相对误差(%)0.421 0.334 0.301 0.272 0.215表1 简易数字电压表设计实验数据(注:其中显示电压指LCD显示值,实际电压指高精度电压表测量值)五.设计结论1.LCD显示模块的CPLD部分由FPGA充当,芯片本身自带程序,所以这个部分不用再通过quartus软件进行编程。
数字电压表摘要在电子器件设计中,以单片机作为控制核心的系统得到了广泛的应用,尤其以MCS-51最为普遍。
而数字电压表的基本原理是对直流电压进行模数转换,并将其结果用数字直接显示出来。
为以单片机为控制核心实现数字电压表的设计,结合了模数转换技术,段码显示以及液晶显示,并结合ADC08095片及74HC573进而实现了对5V以内的直流电压的准确测量,并在数码管以及液晶显示屏上同时显示。
并进一步扩展,实现了最多可以对八路电压同时进行测量。
而且对于超出测量范围的电压能够以LED灯的闪烁实现报警。
关键词:MSC-51ADC0809数字电压表数模转换LCD目录1.系统设计 (33)1.1方案设计与论证 (33)1.1.1方案设计 (33)1.1.2方案论证 (33)1.2主要部件原理及参数计算 (33)1.2.1输入单元电路设计 (33)1.2.2A/D 转换电路设计 (44)1.2.3单片机主控电路设计 (55)1.2.4电压显示电路设计 (55)1.3系统设计 (77)1.3.1硬件设计 (77)1.3.2软件设计流程 (77)2.系统测试 (88)2.1测试方法与结果 (88)2.2测试结论 (99)2.2.1功能实现 (99)2.2.2误差分析 (99)3.附录 (1010)3.1参考文献 (1010)3.2附图 (1010)3.3源程序 (1111)1.系统设计1.1 方案设计与论证数字电压表vDigital Voltmeter)简称DVM目前采用单片机设计的数字电压表,由于精度高、抗干扰能力强、可扩展性强、集成方便,还可以与PC进行实时通信,所以以下方案均采用单片机设计。
1.1.1 方案设计方案一:基于MSP430F448单片机的数字电压表设计。
MSP430F44X系列单片机片内集成了8路12位A/D串行通信接口、看门狗定时器、比较器、硬件乘法器等外围设备模块,从而降低了应用电路的复杂程度,提高了系统的可靠性。
单片机原理及系统课程设计专业:电气工程及其自动化班级:电气1103姓名:张飞学号:201109347指导教师:董昱兰州交通大学自动化与电气工程学院2014 年 1 月 13 日基于单片机的数字电压表设计1 设计题目本次单片机课程设计的题目是基于单片机的数字电压表设计,基本要求是利用ADC0808测量电路电压,并通过数码管显示一位小数,能输出0~5V电压。
扩展要求是能使ADC0808能测量-5V~+5V电压,并将基本要求中测量电路的输出范围扩展成-5V~+5V,精确到两位小数。
2设计目的随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。
数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。
由各种单片A/D转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力理。
本设计AT89C51单片机的一种电压测量电路,该电路采用ADC0808A/D转换电路,测量范围直流正负5V的单路输入电压值,并在四位LED数码管上显示。
测量最小分辨率为0.019V,测量误差约为正负0.02V。
3设计方案及原理3.1 设计总体方案根据设计要求,选择AT89C51单片机为核心控制器件。
A/D转换采用ADC0808实现,与单片机的接口为P1口和P2口的高四位引脚。
电压显示采用4位一体的LED数码管。
并行端口P0产生LED数码的段码:并行端口P2高四位产生位码。
数字电压表主要设计分为测量部分和显示部分两大部分,测量部分主要实现电压的采集,显示部分结合程序便可以在数码管上实现正确显示。
基于51单片机数字电压表设计实验报告一、设计要求用51单片机控制AD0808进行数模转换,当调节滑动变阻器RV1时,在数码管上显示当前数值,并用电压表测的此时电压与数码管显示电压对比,计算数字电压表的精度二、方案设计数字电压表设计框图 模拟信号可以通过改变滑动变阻器阻值以改变输入电压;A/D 转换将模拟量转换数字量,再送给单片机处理,处理的结果由数码管显示。
三、硬件设计模拟信号 51单片机 A/D 转换数码管显示proteus硬件仿真电路图四、软件设计(1)设计数码管显示电压2.50v程序设计如下(数码显示2.5)#include<reg51.h>void delayms(int x){int i,j;for(i=x;i>0;i--)for(j=110;j>0;j--);}void main(){while(1){P1=0x00;P2=0xfb;P1=0xdb;delayms(10);P1=0x00;P2=0xfd;P1=0x6d;delayms(10);P1=0x00;P2=0xfe;P1=0x3f;delayms(10);}}运行结果如下:(2)设计采集总程序老师参考程序如下:/******************************************************#include <reg51.h>int AD_Result=187;sbit AD_Start=P3^0;sbit AD_EOC=P3^1;sbit AD_OE=P3^2;Unsigned char DisCode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void DelayTime10ms(unsigned int DelayValue){unsigned int x,y;for(x=0;x<DelayValue;x++)for(y=0;y<1827;y++);}void Display(){char one,ten,hundred;AD_Result=AD_Result*5.0/255*100;one=AD_Result%10;ten=AD_Result/10%10;hundred=AD_Result/100;P2=0xfb;P1=DisCode[hundred]|0x80;DelayTime10ms(1);P2=0xfd;P1=DisCode[ten];DelayTime10ms(1);P2=0xfe;P1=DisCode[one];DelayTime10ms(1);}void AD_Test(){if(AD_EOC==1){AD_OE=1;AD_Result=P0;AD_OE=0;AD_Start=0;AD_Start=1;AD_Start=0;}}void main(){AD_OE=0;AD_Start=0;AD_Start=1;AD_Start=0;while(1){Display();AD_Test();}}************************************************************************/ 自己编写程序如下:#include <reg51.h>#include <intrins.h>#define uint unsigned int#define uchar unsigned charuchar A1=5,A2,A3;uchar adval;sbit ST=P3^0; //定义AD的启动start端口;sbit EOC=P3^1; //定义EOC引脚,EOC转换完成sbit OE=P3^2; //定义AD允许数据输出端uchar code table[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void delayms(int x){ int i,j;for(i=x;i>0;i--)for(j=110;j>0;j--);}void display(){P2=0xff;P2=0xfb;P1=table[A1];delayms(2);P2=0xff;P2=0xfd;P1=table[A2];delayms(2);P2=0xff;P2=0xfe;P1=table[A3];delayms(2);}void AD_measure(){if(EOC==1){OE=1;adval=P0;OE=0;A1=adval/100;A2=adval%100/10;A3=adval%10;ST=0;ST=1;ST=0;}}void main(){OE=0;ST=0;ST=1;ST=0;while(1){AD_measure();display();}}五、总结在此次实验中遇到以下问题,首先是写显示程序,画原理图时把数码管接口顺序接反了导致显示结果出现乱码;其次在编写A/D转换程序时容易出错A/D0808引脚功能不会用;最后是显示整个量程数据时不容易理解,在这里要特别注意。
单片机课程设课题名称:数字电压表课程原理:1、模数转换原理:试验中,我们选用ADC0809作为模数转换的芯片,其为逐次逼近式AD转换式芯片,其工作时需要一个稳定的时钟输入,根据查找资料,得到ADC0809的时钟频率在10KHZ~1200KHZ,我们选择典型值640KHZ。
课题要求测量电压范围是0到5V,又ADC0809的要求:V ref+<=Vcc,V ref->=GND,故我们取V ref+=+5V,V ref-=0V。
由于ADC0809有8个输入通道可供选择,我们选择IN0通道,直接使ADC0809的A、B、C接地便可以了,在当ADC0809启动时ALE引脚电平正跳变时变可以锁存A、B、C 上的地址信息。
ADC0809可以将从IN0得到的模拟数据转换为相应的二进制数,由于ADC0809输出为8位的二进制数,转换时将0到5V分为255等分,所以我们可以得到转换公式为x/255*5化简为:x/51,x为得到的模拟数据量,也就是直接得到的电压量。
在AD转换完成后,ADC0809将在EOC引脚上产生一个8倍于自身时钟周期的正脉冲,以此来作为转换结束的标志。
然后当OE引脚上产生高电平时,ADC0809将允许转换完的二进制数据输出。
2、数据处理原理:由ADC0809的转换原理可以知道我们从其得到数据还只是二进制数据,我们还需要进一步处理来的到x的十进制数,并且对其进行精度处理,也就是课题要求的的精确到小数点后两位,在这里我们用51单片机对数据进行处理。
我们处理数据的思路是:首先将得到的二进制数直接除以十进制数51,然后取整为x的整数部分,然后就是将得到的余数乘以10,然后再除以51,再取整为x的十分位,最后将得到的余数除以5得到x的百分位。
3、数据显示原理:试验中我们用到四位一体的七段数码管,所以我们只能考扫描显示来完成数码管对x的显示,我们用的是四位数码显示管,但是x只是三位的,故我们将将第四位显示为单位U,通过程序的延时,实现四位数码管的稳定显示。
实验五数字电压表设计报告一、设计目的通过电子技术的综合设计,熟悉一般电子电路综合设计过程、设计要求、应完成的工作内容和具体的设计方法。
通过设计有助于复习、巩固以往的学习内容,达到灵活应用的目的。
设计完成后在实验室进行自行安装、调试,从而加强学生的动手能力。
在该过程中培养从事设计工作的整体概念。
二、设计要求1、利用所学的知识,通过上网或到图书馆查阅资料,设计三个实现数字万用表的方案;只要求写出实验原理,画出原理功能框图,描述其功能。
2、其中对将要实验方案3 1/2数字电压表,需采用中、小规模集成电路、MC14433 A/D转换器等电路进行设计,写出已确定方案详细工作原理,计算出参数。
3、技术指标:Ⅰ、测量直流电压1999-1V;199.9-0.1V;19.99-0.01V;1.999-0.001V;Ⅱ、测量交流电压1999-199V;Ⅲ、三位半显示;Ⅳ、比较设计方案与总体设计;Ⅴ、根据设计过程写出详细的课程设计报告;三、设计方案及原理数字显示电压表将被测模拟量转换为数字量,并进行实时数字显示。
该系统(如图1 所示)可采用MC14433—三位半A/D 转换器、MC1413七路达林顿驱动器阵列、CD4511 BCD到七段锁存-译码-驱动器、能隙基准电源MC1403和共阴极LED发光数码管组成。
本系统是三位半数字电压表,三位半是指十进制数0000~1999。
所谓3位是指个位、十位、百位,其数字范围均为0~9,而所谓半位是指千位数,它不能从0变化到9,而只能由0变到l,即二值状态,所以称为半位。
各部分的功能如下:三位半A/D转换器(MC14433):将输入的模拟信号转换成数字信号。
基准电源(MC1403):提供精密电压,供A/D 转换器作参考电压。
译码器(MC4511):将二—十进制(BCD)码转换成七段信号。
驱动器(MC1413):驱动显示器的a,b,c,d,e,f,g七个发光段,驱动发光数码管(LED)进行显示。