简易数字直流电压表的设计
- 格式:doc
- 大小:391.50 KB
- 文档页数:23
1、前言数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。
目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。
与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。
本章重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。
2 、系统原理及基本框图如图2.1所示,模拟电压经过档位Array切换到不同的分压电路衰减后,经隔离干扰送到A/D转换器进行A/D转换,然后送到单片机中进行数据处理。
处理后的数据送到LED中显示。
图2.1系统基本方框图3、硬件设计3.1 、电源电路图 3.1 电源电路原理图3.2 、A/D 转换电路A/D 转换器的转换精度对测量电路极其重要,它的参数关系到测量电路性能。
本设计采用A/D 转换器,它的性能比较稳定,转换精度高,具有很高的抗干扰能力,电路结构简单,其缺点是工作速度较低。
在对转换精度要求较高,而对转换速度要求不高的场合如电压测量有广泛的应用。
图3.2.1 A/D 转换器图3.2.2双积A/D 转换器的波形图如图所示:对输入模拟电压和基准电压进行两次积分,先对输入模拟电压进行积分,将其变换成与输入模拟电压成正比的时间间隔 T1,再利用计数器测出此时间间隔,则计数器所计的数字量就正比于输入的模拟电压;接着对基准电压进行同样的处理。
在常用的A/D转换芯片(如ADC -0809、ICL7135、ICL7109 等)中,ICL7135与其余几种有所不同,它是一种四位半的A/D转换器,具有精度高(精度相当于14位二进制数)、价格低廉、抗干扰能力强等优点。
电子测量结课作业简易数字电压表指导教师:学院:专业班级:姓名:学号:摘要本文介绍了一种基于单片机的简易数字电压表的设计。
该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。
A/D转换主要由芯片ADC0832来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。
数据处理则由芯片AT89C52来完成,其负责把ADC0832传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0832芯片工作。
该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。
此数字电压表可以测量0-5V的1路模拟直流输入电压值,并通过一个LCD1602液晶屏显示出来。
关键词: 单片机;数字电压表;A/D转换;AT89C52;ADC0832目录1 数字电压表的简介 01.1数字电压表简介 01.2数字电压表的的背景与意义 02 设计总体方案 (2)2.1 设计要求 (2)2.2 设计思路 (2)2.3 设计方案 (2)3 硬件电路设计 (4)3.1 A/D转换模块 (4)3.2 单片机系统 (6)3.3 复位电路和时钟电路 (9)3.4 LCD显示系统设计 (10)3.5 总体电路设计 (12)4 程序设计 (13)4.1 程序设计总方案 (13)4.2 系统子程序设计 (13)5 仿真 (15)5.1软件调试 (15)5.2显示结果及误差分析 (15)5.2.1 显示结果 (15)5.2.2 误差分析 (17)结论 (19)参考文献 (20)附录............................................................................................... 错误!未定义书签。
1 数字电压表的简介1.1数字电压表简介在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。
(最新版)简易数字直流电压表的设计毕业毕业课程设计目录第1章绪论 (3)第2章设计总体方案 (4)2.1设计要求 (4)2.2 设计思路 (4)2.3 设计方案 (4)第3章硬件电路设计 (5)3.1 AD转换模块 (5)3.1.1 逐次逼近型AD转换器原理 (5)3.1.2 ADC0808 主要特性 (6)3.1.3ADC0808的外部引脚特征 (6)3.1.4 ADC0808的内部结构及工作流程 (7)3.2 单片机系统 (9)3.2.1 AT89C51性能 (9)3.2.2 AT89C51各引脚功能 (9)3.3 复位电路和时钟电路 (10)3.3.1 复位电路设计 (10)3.3.2 时钟电路设计 (11)3.4 LED显示系统设计 (12)3.4.1 LED基本结构 (12)3.4.2 LED显示器的选择 (12)3.4.3 LED译码方式 (13)3.4.4 LED显示器与单片机接口设计 (14)3.5 总体电路设计 (14)第4章程序设计 (16)4.1 程序设计总方案 (16)4.2 系统子程序设计 (16)4.2.1 初始化程序 (16)4.2.2 AD转换子程序 (16)4.2.3 显示子程序 (17)4.2.4程序代码 (17)第5章总结 (20)参考文献 (21)致谢 (22)第1章绪论什么是数字电压表?数字电压表就是采用数字化技术,把需要测量的直流电压转换成数字形式,并显示出来。
通过单片机技术,设计出来的数字电压表具有精度高,抗干扰能力强的特点。
通过网上资料显示,目前由各种AD转换器构成的数字电压表已经广泛的应用于电工测量,工业自动化仪表等各个领域。
在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。
而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。
数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。
简易数字电压表设计一、设计要求1、利用ADC0809设计一简易数字电压表,要求可以测量0—5V之间8路输入电压值、电压值由四位LED数码管显示,并在数码管上轮流显示或单路选择显示;2、测量最小分辨率为0.019V,测量误差为±0.02V。
二、设计作用与目的利用AT89S51与ADC0809设计制作一个数字表,能够测量直流电压值。
三、所用设备及软件单片机AT89S51、ADC0809芯片、PC设计台四、系统设计方案本设计采用AT89S51单片机芯片配合ADC0809模/数转换芯片构成一个简易的数字电压表,原理框图如图1所示。
该电路通过ADC0809芯片采样输入口IN0输入的0~5 V的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道D0~D7传送给AT89S51芯片的P0口。
AT89S51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过其P1口经三极管驱动,再传送给数码管。
同时它还通过其三位I/O口P3.0、P3.1、P3.2产生位选信号,控制数码管的亮灭。
另外,AT89S51还控制着ADC0809的工作。
其ALE管脚为ADC0809提供了1MHz工作的时钟脉冲;P2.3控制ADC0809的地址锁存端(ALE);P2.4控制ADC0809的启动端(START);P2.5控制ADC0809的输出允许端(OE);P3.7控制ADC0809的转换结束信号(EOC)。
图1 系统原理框图本设计与其它方法实现主要区别在于元器件上例如:AT89C51与AT89C51、AT89S51在AT89C51的基础上,又增加了许多功能,性能有了较大提升。
1.ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。
是一个强大易用的功能。
2.工作频率为33MHz,大家都知道89C51的极限工作频率只有24M,就是说S51具有更高工作频率,从而具有了更快的计算速度。
电子系统实验报告实验三简易数字电压表设计姓名张巧玲指导教师贾立新课程电子系统设计与实践专业班级自动化1004班学院信息工程学院一、设计题目采用C8051F360单片机最小系统设计一简易数字电压表,实现对0~2.4V直流电压的测量,原理框图如图1所示。
模拟输入电压通过一只1 kΩ电位器产生,采用C8051F360 单片机内部的A/D 转换器将模拟电压转换成数字量后换算成电压值,用十进制的形式在LCD 上显示。
A/D 转换的输入模拟信号由实验板PR3 电位器产生的0~3.3V 的直流电压信号,用一根杜邦实验线将J8 的0~3.3V 输出插针与J7 口的P2.0 插针相连。
注意A/D 转换器模拟输入电压的范围取决于其所选择的参考电压,如果A/D 转换器选择内部参考电压源,其模拟电压的范围为0~2.4V,如果选择外部电源作为参考电压,则其模拟输入电压范围为0~3.3V。
测试时,A/D转换器的模拟输入信号可通过一个电位器产生。
图1 简易数字电压表实验示意框图二.设计方案(1)简易数字电压表设计程序流程图如图2所示。
图2 简易数字电压表设计程序中A/D转换和计时流程图(2)简易数字电压表实验板连接图如图3所示。
此外,还需用一根杜邦实验线将J8 的0~3.3V 输出插针与J7 口的P2.0 插针相连。
图3简易数字电压表设计实验板接线图三、详细设计1.简易数字电压表设计相应C8051F360和LCD初始化程序⑴内部振荡器初始化:OscInit()⑵ I/O端口初始化:PortIoInit()⑶外部数据存储器接口初始化:XramInit()⑷定时器初始化:TimerInit()⑸中断系统初始化:Int0Init()⑹ ADC0初始化:void ADC_Init()⑺ PCA初始化:Int0Init()2.电压转换方式将电压转换成十进制:AT=ADC0H*256+ADC0L;volt=AT*3.31/1024;voltage=volt*1000;for(i=0;i<4;i++){v[i]=voltage%10;voltage=voltage/10;}3. LCD显示接口的设计当时间到达设定值,即0.5s后,执行以下程序将所测的电压值在LCD屏幕上第三排显示出来。
摘要数字电压表是对电子电路进行现场检测的常用仪表,本文讨论了一种基于单片机的设计方式,将检测到的数据送入微计算机系统,完成计算、存储、控制和显示等功能。
本文中数字电压表的控制系统采用AT89C51单片机,A/D转换器采用ADC0809为主要硬件,实现简易数字式直流电压表的硬件电路与软件设计。
该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。
数字电压表可以测量0~5V的1路模拟直流输入电压值,并通过一个四位一体的7段数码管显示出来。
关键词:单片机、数字电压表、A/D转换、AT89C51、ADC0808ABSTRACTIn modern measuring technology,it is ofen required to conduct site measuring with a digital voltmeter,The data measured will then be input into the micro-computer system to execute such functions like calculating,storing,controlling and displaying.The simple digital voltmeter control system described in this paper makes use of AT89c51 SC computer and ADC0808 A/D converter to fulfill the designing of the software as well as the electrical circuit.The voitmeter features in simple electrical circuit,lower use of elements,low cost ,moreover,its measuring precision and reliability.The meter is capable of measuring voltage inputs from 1 routes ranging from 0 to 5 volt,and displaying the measurements though an digital code tube of 7 pieces of LED.Keywords: Microcontroller Unit、digital voltmeter、A/D converter、AT89C51、ADC0808目录第一章引言 (2)1.1 概述 (2)1.1.1 课题选择的背景和意义 (2)1.1.2 课题研究的现状和发展趋势 (2)1.2 课题研究的重点 (3)第二章系统总体方案设计 (4)2.1 设计功能要求 (4)2.2 设计思路 (4)2.3 总体设计方案 (4)第3章系统硬件设计 (5)3.1 单片机的选择 (5)3.1.1 AT89C51的结构与性能 (5)3.1.2 AT89C51功能性能 (6)3.1.3 AT89C51功能特性概述 (6)3.1.4 AT89C51的引脚功能说明 (6)3.2 A/D转换器ADC0808 (9)3.2.1 逐次逼近型A/D转换器原理 (9)3.2.2 ADC0808 主要特性 (10)3.2.3 ADC0808的外部引脚特性 (10)3.2.4 ADC0808的内部结构及工作流程 (12)3.3 时钟与复位电路 (13)3.3.1 时钟电路设计 (13)3.3.2 复位电路设计 (14)3.4 LED显示系统设计 (14)3.4.1 LED工作原理及基本结构 (15)3.4.2 LED显示器的选择 (16)3.4.3 LED的显示方式 (16)3.4.4 LED显示器与单片机接口设计 (17)3.4.5 LED译码方式 (17)3.5 系统硬件电路设计 (18)第4章软件设计 (21)4.1 软件设计方案 (21)4.1.1 系统软件设计方案框图 (21)4.2 系统应用程序设计 (22)4.2.1 初始化程序 (22)4.2.2 A/D转换子程序 (22)4.2.3 LED显示子程序 (23)第5章系统的仿真实现 (25)5.1 软件调试 (25)5.2 调试中的问题及解决方法 (25)5.3 显示结果分析 (25)第6章结论 (29)参考文献 (30)致谢 .............................................. 错误!未定义书签。
简易直流数字电压表的设计-毕业论文<<简易直流数字电压表的设计>>课程设计报告题目:简易直流电压表的设计专业:电子信息科学与与技术年级:学号:学生姓名:联系电话:完成日期:2013年 07月06 日摘要本文介绍了一种基于单片机的简易数字电压表的设计,设计主要由三部分组成:A/D转换模块,数字处理模块和显示模块。
A/D转换芯片主要由ADC0808来完成。
它的主要功能是把采集到的模拟量转换成数字量并传送到数据处理模块。
数据处理则由AT89C51来完成,其负责把ADC0808传送来的数据量经过一定的数据处理,产生相应的显示码送到显示模块去显示;此外它还控制ADC0808的工作。
该系统的数字电压表设计简单,所用的原件少,成本低,且测量精度和可靠行较高。
此数字电压表可以测量0—5V的1路模拟直流输入电压值,并通过一个四位一体的7端数码管显示出来。
关键字:ADC0808 数字电压表ABSTRACTThis article describes a simple digital voltage meter Based on Single - Chip Microcomputer design, design is mainly composed of three parts : A/D Conversion module, digital processing module, and display module.A/D conversion chips mainly done by the ADC0808. Its main function is to capture to convert analog to digital and delivered to the data processing module.Data processing is done by AT89C51, they are responsible for ADC0808 after a certain amount of data transmitted to data processing, display a corresponding code sent to the display module to display ; in addition it also controls ADC0808 work.The system design of digital voltmeter simple, using the original less, low cost and high measuring accuracy and reliability of rows. This digital 1 - channel analog voltage meter can measure 0-5v DC input voltage values, and through a 7 end of the four - in - one digital display.Keywords : ADC0808 digital voltage meter目录摘要 (3)ABSTRACT (4)1 设计要求及方案选择 (7)1.1设计要求 (7)1.2设计思路 (8)2 理论分析与设计 (8)2.1数码显示电路的设计 (8)2.2数据处理电路的设计 (9)2.3软件处理流程的设计 (9)3 电路设计 (10)3.1 硬件电路的设计 (10)3.2 软件的设计 (12)4 系统测试 (15)4.1调试所用的基本仪器清单 (15)表1 简易数字电压表原件清单 (15)4.2调试结果 (16)4.3 测试结果分析 (17)5 总结 (17)参考文献 (18)1 设计要求及方案选择1.1设计要求(一)任务利用单片机设计并简易的直流数字电压表,能够测出0~5V的直流电压,电路组成框图如图所示。
基于MCS-51单片机的简易数字直流电压表设计设计一个简易数字直流电压表。
(量程0V-2V、测量速度为大于等于2 次/秒、测量误差在±0.05V以内,有超限报警、数码管显示。
)1:系统设计(1)分析任务要求,写出系统整体设计思路从试题的要求分析,主要包括的内容为ADC 转换电路的控制、采用定时器定时读取ADC 转换器的数据、将ADC 转换器的数据计算为对应的电压值,最后在数码管上显示出来。
整体设计思路:硬件采用单片机的P0 输出数码管的7 段码,P2 口输出数码管的位控信号。
用P1 的三个I/O 管脚连接ADC 转换器的接口,通过查询定时器T0 中断标志是否有效来启动ADC 转换器的工作,并读取ADC 转换器的转换结果。
然后,根据ADC 转换器的参考电压将ADC 转换器的转换结果计算为对应的电压值,并在数码管上显示出来。
(2)选择单片机型号和所需外围器件型号,设计单片机硬件电路原理图采用MCS51 系列单片机At89S51 作为主控制器,外围电路器件包括数码管驱动、AD 转换器TLC549、基准电压TL431 等。
数码管驱动采用2 个四联共阴极数码管显示,由于单片机驱动能力有限,采用74HC244 作为数码管的驱动。
在74HC244 的7 段码输出线上串联100 欧姆电阻起限流作用。
AD 转换器的参考电压由精密基准电源TL431 提供,标准参考电压Vref+为2.5 伏, Vref-为0 伏。
由于0V-2V 内的测量误差控制在±0.05V 内,因此8 位A/D 转换器即可满足要求。
AD 转换器TLC549是以8 位开关电容逐次逼近A/D 转换器为基础而构造的CMOS A/D 转换器。
它们设计成能通过3态数据输出和模拟输入与微处理器或外围设备串行接口。
TLC549 仅用输入/输出时钟(I/O CLOCK)和芯片选择(CS)输入作数据控制。
TLC549 的IO CLOCK 输入频率最高可达1.1MHz。
目录1技术要求.............................................................. - 1 -2基本原理.............................................................. - 1 -2.1设计的具体思想................................................... - 1 -2.2主要芯片介绍..................................................... - 2 -2.2.1 89c51系列芯片介绍......................................... - 2 -2.2.2 ADC0809芯片介绍........................................... - 5 -2.2.3 LED基本结构............................................... - 7 -2.2.4 LED显示器的选择........................................... - 8 -3建立模型描述.......................................................... - 9 -3.1方案一........................................................... - 9 -3.2方案二.......................................................... - 11 -4模块功能分析或源程序代码............................................. - 14 -4.1方案一代码...................................................... - 14 -4.2方案二代码...................................................... - 19 -5调试过程及结论....................................................... - 21 -6心得体会............................................................. - 23 -7参考文献............................................................. - 24 -简易直流电压表的设计1技术要求以89s51单片机为核心芯片,设计一个简易直流电压表,要求如下:A、能够对直流电压进行相应的采集和转换;B、利用led对电压值进行显示,精确到小数点后一位。
数字直流电压表的设计实验报告要求:设计一个能测量直流电压并显示的数字电压表。
直流电压输入范围:0V~5V,最小分辨率0.5V,准确率>80%,偏差<30%。
数码显示至少3位。
对于ad采样我们采取的是PCF8591,PCF8591是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。
PCF8591具有4个模拟输入、1个模拟输出和1个串行I2C总线接口。
PCF8591的3个地址引脚A0, A1和A2可用于硬件地址编程,允许在同个I2C总线上接入8个PCF8591器件,而无需额外的硬件。
在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。
PCF8591的功能包括多路模拟输入、内置跟踪保持、8-bit模数转换和8-bit数模转换。
PCF8591的最大转化速率由I2C总线的最大速率决定。
具有以下特性:【1】单独供电【2】PCF8591的操作电压范围2.5V-6V【3】低待机电流【4】通过I2C总线串行输入/输出【5】PCF8591通过3个硬件地址引脚寻址【6】PCF8591的采样率由I2C总线速率决定【7】4个模拟输入可编程为单端型或差分输入【8】自动增量频道选择【9】PCF8591的模拟电压范围从VSS到VDD【10】PCF8591内置跟踪保持电路【11】8-bit逐次逼近A/D转换器【12】通过1路模拟输出实现DAC增益该电路的电路图如下图所示,由于proteus比较理想,单片机最小系统没有画出,实际中缺少,单片机是不能运行的。
PCF8591是八位的ad采样,最小分辨率可以达到0.02V。
配套实验程序:Ad_da.c/*-----------------------------------------------名称:IIC协议PCF8591ADDA转换内容:此程序通过IIC协议对DAAD芯片操作,读取电位器的电压通过液晶显示,并输出模拟量,用LED 亮度渐变指示------------------------------------------------*/#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#include <intrins.h> //包含NOP空指令函数_nop_();#include<LCD1602.h>#define AddWr 0x90 //写数据地址#define AddRd 0x91 //读数据地址sbit Sda=P1^2; //定义总线连接端口sbit Scl=P1^1;bit ADFlag; //定义AD采样标志位//unsigned char code Datatab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//7段数共阴码管段码表//data unsigned char Display[8];//定义临时存放数码管数值/*------------------------------------------------延时程序------------------------------------------------*/void mDelay(unsigned char j){unsigned int i;for(;j>0;j--){for(i=0;i<125;i++){;}}}/*------------------------------------------------初始化定时器1------------------------------------------------*/void Init_Timer1(void){TMOD |= 0x10;TH1=0xff;/* Init value */TL1=0x00;//PT1=1; /* 优先级*/EA=1; /* interupt enable */ET1=1; /* enable timer1 interrupt */TR1=1;}/*------------------------------------------------启动IIC总线------------------------------------------------*/void Start(void){Sda=1;_nop_();Scl=1;_nop_();_nop_();Scl=0;}/*------------------------------------------------停止IIC总线------------------------------------------------*/ void Stop(void){Sda=0;_nop_();Scl=1;_nop_();Sda=1;_nop_();Scl=0;}/*------------------------------------------------应答IIC总线------------------------------------------------*/ void Ack(void){Sda=0;_nop_();Scl=1;_nop_();Scl=0;_nop_();}/*------------------------------------------------非应答IIC总线------------------------------------------------*/ void NoAck(void){Sda=1;_nop_();Scl=1;_nop_();_nop_();}/*------------------------------------------------发送一个字节------------------------------------------------*/ void Send(unsigned char Data){unsigned char BitCounter=8;unsigned char temp;do{temp=Data;Scl=0;_nop_();if((temp&0x80)==0x80)Sda=1;elseSda=0;Scl=1;temp=Data<<1;Data=temp;BitCounter--;}while(BitCounter);Scl=0;}/*------------------------------------------------读入一个字节并返回------------------------------------------------*/unsigned char Read(void){unsigned char temp=0;unsigned char temp1=0;unsigned char BitCounter=8;Sda=1;doScl=0;_nop_();Scl=1;_nop_();if(Sda)temp=temp|0x01;elsetemp=temp&0xfe;if(BitCounter-1){temp1=temp<<1;temp=temp1;}BitCounter--;}while(BitCounter);return(temp);}/*------------------------------------------------写入DA数模转换值------------------------------------------------*/void DAC(unsigned char Data){Start();Send(AddWr); //写入芯片地址Ack();Send(0x40); //写入控制位,使能DAC输出Ack();Send(Data); //写数据Ack();Stop();}/*------------------------------------------------读取AD模数转换的值,有返回值------------------------------------------------*/unsigned int ReadADC(unsigned char Chl){unsigned int Data;Start(); //写入芯片地址Send(AddWr);Ack();Send(0x40|Chl);//写入选择的通道,本程序只用单端输入,差分部分需要自行添加//Chl的值分别为0、1、2、3,分别代表1-4通道Ack();Start();Send(AddRd); //读入地址Ack();Data=Read(); //读数据Data=Data*196;//还原电压值近似Data=Data/100;Scl=0;NoAck();Stop();return Data; //返回值}/*------------------------------------------------主程序------------------------------------------------*/void main(){unsigned char num; //DA数模输出变量unsigned char ADtemp; //定义中间变量InitLcd();mDelay(20);Init_Timer1();while(1){DAC(num); //DA输出,可以用LED模拟电压变化num++; //累加,到256后溢出变为0,往复循环。
电子设计竞赛设计报告摘要:设计的任务为制作一台简易直流数字电压表,其中AD转换器模块使用分立元件制作双积分型AD转换器。
利用运算放大器和比较器搭建积分电路,由四位数码管构成显示电路,AT89C52单片机构成控制模块。
本设计完成了基本功能和一部分扩展功能,具有较高的精度和稳定性。
关键词:AD转换器单片机四位数码一、总体方案设计1. 自行设计制作系统供电电源,输入为220VAC,禁止使用任何成品电源。
2. AD部分禁止使用成品AD芯片。
要求仅使用运算放大器、电子开关、基准源、阻容元件等分立元件设计一个双积分型AD转换器。
3. 直流电压测量范围为0~2V,要求分辨率达到0.01V,满量程测量精度优于3%。
4. 电压采样周期小于1s。
5. 显示器必须使用LED数码管显示器制作,禁止使用LCD。
6. 结构设计合理,外表整洁美观。
二、原理描述双积分式AD转换器又称双斜式AD转换器,其原理框图和工作波形图如下图所示。
整个逻辑转换过程在控制器的控制下按一下三个阶段进行:图2-1 双积分AD转换器原理图图2-2 双积分型AD转换器波形1.预备阶段逻辑控制电路发出复位指令,使积分器的输出为零。
2. 定时积分阶段T1定时积分阶段,电子开关接通输入端和待测电压,同时打开定时器,当定时器计满时,进入定时器中断。
3. 定值积分阶段T2定时积分阶段结束后,打开电子开关使输入端接通基准电压,开始反向积分,积分器的输出在比较器的输入端与地电压进行比较,当积分器的输出为正值时积分器产生下降沿,触发单片机外部中断,同时记录T2值。
积分器输出电压有以下公式120111T T x R T U dt U dt RC RC=⎰⎰ 推导可得21x R T U U T =因此只要记录T2值即可求得输入电压Ux 的值。
三、 模块设计本设计分为三大模块:控制模块、显示模块、AD 转换模块。
图3-1 设计总框图1. AD 转换模块:图3-2 AD转换模块AD转换模块由基准电压源、电子开关、运放、比较器组成。
设计制作一个简易数字电压表目录一、设计要求................................................................................................... 错误!未定义书签。
二、设计方案、电路图和工作原理............................................................... 错误!未定义书签。
三、软件仿真................................................................................................... 错误!未定义书签。
四、PCB设计.................................................................................................. 错误!未定义书签。
五、元器件清单表........................................................................................... 错误!未定义书签。
五、焊接和调试............................................................................................... 错误!未定义书签。
六、过程照片................................................................................................... 错误!未定义书签。
七、总结、心得及其他................................................................................... 错误!未定义书签。
简易数字电压表的设计中文摘要伴随着集成电路(IC)技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,己经广泛应用于模拟与数子电路系统等许多领域。
数字电压表简称DVM,是一种用数字显示的电压测量仪表。
其基本原理是采用数字化测量技术,对直流电压进行模数转换,转换成不连续、离散的数字形式并加以显示。
系统主要分为如下几个模块:作为电压采集端口的模数转换单元、数据处理单元、以及电压值显示单元。
其中利用ADC0809作为模数转换器,FPGA作为数据处理的核心器件,用LED数码管进行电压值的显示。
本次所设计的电压表的测量范围是0~5V,精度为0.01V。
此电压表的设计特点为:通过软件编程下载到硬件实现,设计周期短,开发效率高。
关键字:FPGA;A/D;VHDL;电子设计自动化(EDA);数字电压表Design of the Summary Digital V oltmeterABSTRACTWith the development of integrated circuit(IC) technology, Electronic Design Automation(EDA) technology has become an important design method of analog and digital circuit system as.Digital V oltmeter,short for DVM,is used to measure voltage with digital display.The basic principle is to use the digital measurement techniques to convert the DC voltage into discontinuous,discrete digital form and display them.The system can be mainly divide into the following several modules:voltage acquisition as port of anolog-to-digital conversion unit,data processing unit and votage display unit.The ADC0809 is used as AD converter ,FPGA as the core of data processing devices,LED digital tube is to display voltage value.This system’s range is 0v to +5v and precision is 0.01v.The features of this electric voltage watch are :Pass the software program to download the hardware o realize , design the period is short ,development the efficiency is high.KEY WORD: FPGA;A/D;VHDL;Electronic Design Automation (EDA );Digital voltage目录第一章绪论 (11)1.1 课题的研究背景及意义 (1)1.2 课题任务、目标及方法 (1)1.3 论文内容和结构 (2)第二章基础知识介绍 (3)2.1 A/D转换器简介 (3)2.2 ADC0809A/D转换器 (3)2.2.1 ADC0809结构 (3)2.2.2 ADC0809主要特性 (4)2.2.3 ADC0809时序图 (4)2.3 FPGA知识介绍 (5)2.4 VHDL硬件描述语言 (6)2.5 Quartus II开发平台简介 (7)第三章系统设计与实现 (8)3.1系统设计的基本原理 (8)3.2 FPGA功能模块的设计 (8)3.3 转换控制模块 (9)3.3.1 转换模块的工作原理 (9)3.3.2 转换模块元件例化 (11)3.3.3 转换控制模块仿真 (12)3.4 数据处理模块 (12)3.4.1 数据处理模块的工作原理 (12)3.4.2 转换模块的元件例 (13)3.4.3 数据处理模块仿真 (14)3.5 显示模块 (14)3.5.1 显示模块的工作原理 (14)3.5.2 转换模块的元件例 (14)3.5.3 扫描显示模块仿真 (15)3.6 顶层文件设计 (15)3.6.1 顶层文件的设计流程 (15)3.6.2 总体例化的仿真 (16)3.7限幅输入保护电路 (17)第四章硬件测试及说明 (18)4.1 康芯实验箱简介 (18)4.2 实验电路模式5(NO.5)介绍 (18)4.3 引脚锁定 (19)4.3.1 引脚锁定方法 (19)4.3.2 引脚锁定步骤 (19)4.4 配置文件下载 (20)4.5误差对比 (21)第五章结论 (23)参考文献 (24)致谢 (25)附录................................................................. 错误!未定义书签。
一、简易数字电压表的设计l.功能要求简易数字电压表可以测量0~5V的8路输入电压值,并在四位LED数码管上轮流显示或单路选择显示。
测量最小分辨率为0.019 V,测量误差约为土0.02V。
2.方案论证按系统功能实现要求,决定控制系统采用AT89C52单片机,A/D转换采用ADC0809。
系统除能确保实现要求的功能外,还可以方便地进行8路其它A/D转换量的测量、远程测量结果传送等扩展功能。
数字电压表系统设计方案框图如图1-1。
图1-1 数字电压表系统设计方案3.系统硬件电路的设计简易数字电压测量电路由A/D转换、数据处理及显示控制等组成,电路原理图如图1-2所示。
A/D转换由集成电路0809完成。
0809具有8路模拟输人端口,地址线(23~25脚)可决定对哪一路模拟输入作A/D转换,22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存,6脚为测试控制,当输入一个2us宽高电平脉冲时,就开始A/D 转换,7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平,9脚为A/D 转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从该端口输出,10脚为0809的时钟输入端,利用单片机30脚的六分频晶振频率再通过14024二分频得到1 MHz时钟。
单片机的P1、P3.0~P3.3端口作为四位LED数码管显示控制。
P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择通道。
P0端口作A/D转换数据读入用,P2端口用作0809的A/D转换控制。
4.系统程序的设计(1)初始化程序系统上电时,初始化程序将70H~77H内存单元清0,P2口置0。
(2)主程序在刚上电时,系统默认为循环显示8个通道的电压值状态。
当进行一次测量后,将显示每一通道的A /D 转换值,每个通道的数据显示时间为1s 左右。
主程序在调用显示子程序和测试子程序之间循环,主程序流程图见图1-3。
(3)显示子程序 显示子程序采用动态扫描法实现四位数码管的数值显示。
电子制作课程考核报告课程名称简易数字直流电压表的设计学生姓名贾晋学号**********所在院(系)物理与电信工程专业班级电子信息工程1302 指导教师秦伟完成地点 PC PROTEUS2015年 6 月 13 日简易数字直流电压表的设计简易数字直流电压表的设计摘要本文介绍一种基于AT89C51单片机的简易数字电压表的设计。
该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。
A/D转换芯片为ADC0808,它主要负责把采集到的模拟量转换为数字量再传送到数据处理模块。
数据处理则是由芯片AT89C51来完成,主要负责把ADC0808传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;并且,它还控制着ADC0808芯片工作。
该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。
此数字电压表可以测量0-200V的模拟直流输入电压值,并通过数码管显示。
关键词单片机;数字电压表;AT89C51;ADC0808目录1 引言...............................................................................................2 总体设计方案...............................................................................2.1设计要求 ...............................................................................2.2 设计思路 ..............................................................................2.3 设计方案 ..............................................................................3 详细设计.......................................................................................3.1 A/D转换模块 ....................................................................3.2 单片机系统 ........................................................................3.3 时钟电路 ............................................................................3.4 LED显示系统设计 ...........................................................3.5 总体电路设计 ....................................................................4 程序设计.......................................................................................4.1 程序设计总方案 ................................................................4.2 系统子程序设计 ................................................................5 仿真.............................................................................................5.1 软件调试 (11)5.2 显示结果及误差分析 ........................................................ 结论................................................................................................. 参考文献........................................................................................... 附录...................................................................................................1 引言数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。
由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用[1]。
最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型[4]。
数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC化),另一方面,精度也从0.01%-0.005%。
目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面[3]。
本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。
其中,A/D转换采用ADC0804对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LCD显示数字电压信号[11]。
【关键词】数字电压表;单片机;AT89C51; ADC08082 设计总体方案2.1设计要求⑴以AT89C51单片机为核心器件,组成一个简单的直流数字电压表。
⑵采用1路模拟量输入,能够测量0-200V之间的直流电压值。
⑶电压显示用7SEG-MPX4-CC-BLUE,至少能够显示一位小数。
2.2 设计思路⑴根据设计要求,选择AT89C51单片机为核心控制器件。
⑵A/D转换采用ADC0808实现,与单片机的接口为P1口和P2口的高四位引脚。
⑶电压显示采用7SEG-MPX4-CC-BLUE数码管显示。
⑷LED数码的段码输入,由并行端口P0产生:位码输入,用并行端口P2低四位产生。
2.3 设计方案硬件电路设计由6个部分组成; A/D转换电路,AT89C51单片机系统,LED显示系统、时钟电路、复位电路以及测量电压输入电路。
硬件电路设计框图如图1所示。
图1 数字电压表系统硬件设计框图3 硬件电路设计3.1 A/D转换模块现实世界的物理量都是模拟量,能把模拟量转化成数字量的器件称为模/数转换器(A/D转换器),A/D转换器是单片机数据采集系统的关键接口电路,按照各种A/D 芯片的转化原理可分为逐次逼近型,双重积分型等等。
双积分式A/D转换器具有抗干扰能力强、转换精度高、价格便宜等优点。
与双积分相比,逐次逼近式A/D转换的转换速度更快,而且精度更高,比如ADC0809、ADC0808等,它们通常具有8路模拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送到单片机进行分析和显示。
一个n位的逐次逼近型A/D转换器只需要比较n次,转换时间只取决于位数和时钟周期,逐次逼近型A/D转换器转换速度快,因而在实际中广泛使用[1]。
3.1.1 逐次逼近型A/D转换器原理逐次逼近型A/D转换器是由一个比较器、A/D转换器、存储器及控制电路组成。
它利用内部的寄存器从高位到低位一次开始逐位试探比较。
转换过程如下:开始时,寄存器各位清零,转换时,先将最高位置1,把数据送入A/D转换器转换,转换结果与输入的模拟量比较,如果转换的模拟量比输入的模拟量小,则1保留,如果转换的模拟量比输入的模拟量大,则1不保留,然后从第二位依次重复上述过程直至最低位,最后寄存器中的内容就是输入模拟量对应的二进制数字量[5]。
其原理框图如图2所示:图2 逐次逼近式A/D转换器原理图3.1.2 ADC0808主要特性ADC0808是CMOS单片型逐次逼近式A/D转换器,带有使能控制端,与微机直接接口,片内带有锁存功能的8路模拟多路开关,可以对8路0-5V输入模拟电压信号分时进行转换,由于ADC0808设计时考虑到若干种模/数变换技术的长处,所以该芯片非常适应于过程控制,微控制器输入通道的接口电路,智能仪器和机床控制等领域。
ADC0808主要特性:8路8位A/D转换器,即分辨率8位;具有锁存控制的8路模拟开关;易与各种微控制器接口;可锁存三态输出,输出与TTL兼容;转换时间:128μs;转换精度:0.2%;单个+5V电源供电;模拟输入电压范围0- +5V,无需外部零点和满度调整;低功耗,约15MwADC0808的内部结构3.2单片机系统3.2.1 AT89C51性能AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含有4KB的可反复擦写的只读程序存储器和128字节的随机存储器。
该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容,由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,它为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51功能性能:与MCS-51成品指令系统完全兼容;4KB可编程闪速存储器;寿命:1000次写/擦循环;数据保留时间:10年;全静态工作:0-24MHz;三级程序存储器锁定;128*8B内部RAM;32个可编程I/O口线;2个16位定时/计数器;5个中断源;可编程串行UART通道;片内震荡器和掉电模式[6]。
3.2.2 AT89C51各引脚功能AT89C51提供以下标准功能:4KB的Flash闪速存储器,128B内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路,同时,AT89C51可降至0Hz静态逻辑操作,并支持两种软件可选的节电工作模式。