数字电压表设计与制作
数字电压表的设计毕业论文
数字电压表的设计毕业论文数字电压表的设计摘要:本文主要介绍了数字电压表的设计。
首先介绍了数字电压表的基本原理和功能,然后详细讲解了数字电压表的硬件设计和软件设计。
硬件设计包括电路设计和元器件选择,软件设计包括程序设计和界面设计。
最后对数字电压表进行了实验验证,并总结了设计过程中的经验和教训。
1. 引言数字电压表是一种常用的电子测量仪器,广泛应用于工业控制、科研实验和电子维修等领域。
本文将介绍一种基于单片机的数字电压表的设计方案。
2. 基本原理和功能数字电压表的基本原理是通过采集电压信号并将其转换成数字信号,然后通过显示器显示出来。
数字电压表的功能包括测量电压值、显示电压值、单位切换、数据保存等。
3. 硬件设计3.1 电路设计数字电压表的电路设计主要包括信号采集电路、信号转换电路和显示电路。
信号采集电路负责将待测电压信号转换成电压信号,信号转换电路负责将电压信号转换成数字信号,显示电路负责将数字信号显示出来。
3.2 元器件选择在数字电压表的设计中,元器件的选择非常重要。
需要选择合适的电阻、电容、集成电路等元器件,以确保电路的稳定性和精确度。
4. 软件设计4.1 程序设计数字电压表的程序设计主要包括信号采集程序、信号转换程序和显示程序。
信号采集程序负责采集电压信号,信号转换程序负责将电压信号转换成数字信号,显示程序负责将数字信号显示出来。
4.2 界面设计数字电压表的界面设计主要包括显示界面和操作界面。
显示界面负责将数字信号以合适的格式显示出来,操作界面负责提供操作按钮和设置选项。
5. 实验验证为了验证数字电压表的设计方案的准确性和可靠性,进行了一系列实验。
实验结果表明,设计方案能够准确测量电压值并显示出来。
6. 经验总结在数字电压表的设计过程中,我们遇到了一些问题和挑战。
通过实践和总结,我们得出了一些经验和教训。
例如,在硬件设计中,需要注意电路的稳定性和精确度;在软件设计中,需要考虑程序的效率和界面的友好性。
基于单片机的数字电压表设计
基于单片机的数字电压表设计一、引言在电子测量领域中,电压表是一种常用的测量仪器,用于测量电路中的电压值。
传统的模拟电压表由于精度低、读数不便等缺点,逐渐被数字电压表所取代。
数字电压表具有精度高、读数直观、抗干扰能力强等优点,广泛应用于工业自动化、电子设备检测、实验室测量等领域。
本文将介绍一种基于单片机的数字电压表设计方案,详细阐述其硬件电路设计、软件编程实现以及系统性能测试。
二、系统总体设计方案(一)设计要求设计一款基于单片机的数字电压表,能够测量 0 5V 的直流电压,测量精度为 001V,具有实时显示测量结果的功能。
(二)系统组成本数字电压表系统主要由以下几个部分组成:1、传感器模块:用于将输入的电压信号转换为适合单片机处理的电信号。
2、单片机模块:作为系统的核心,负责对传感器采集到的数据进行处理和计算,并控制显示模块显示测量结果。
3、显示模块:用于实时显示测量的电压值。
三、硬件电路设计(一)传感器模块选用 ADC0809 作为模数转换芯片,它具有 8 个模拟输入通道,可以将 0 5V 的模拟电压转换为 8 位数字量输出。
(二)单片机模块选择 AT89C51 单片机作为控制核心,它具有 4K 字节的 Flash 程序存储器和 128 字节的随机存取数据存储器。
(三)显示模块采用液晶显示屏(LCD1602)作为显示器件,它能够清晰地显示数字和字符信息。
四、软件编程实现(一)编程语言选择使用 C 语言进行编程,C 语言具有语法简洁、可移植性强等优点。
(二)主程序流程主程序首先进行系统初始化,包括单片机端口初始化、LCD1602 初始化、ADC0809 初始化等。
然后启动 ADC0809 进行模数转换,读取转换结果并进行数据处理,计算出实际的电压值。
最后将电压值发送到 LCD1602 进行显示。
(三)模数转换子程序ADC0809 的转换过程通过控制其启动转换引脚(START)和读取转换结束引脚(EOC)来实现。
简易数字电压表的设计与制作毕业设计论文
目录第一部分设计任务与调研 (1)1、毕业设计的主要任务 (1)2、设计的思路、方法 (1)3、调研相关的资料 (2)4、调研的目的和总结 (2)第二部分设计说明 (3)1、理论分析 (3)1.1 AT89C51单片机概述 (3)1.2 AD转换器工作原理 (5)1.3 ADC0809介绍 (7)1.4 四位LED数码管介绍 (9)2、系统硬件设计 (10)2.1单片机晶振电路 (10)2.2单片机复位电路 (10)2.3 LED显示电路 (11)2.4数字电压表硬件接线 (12)2.5焊接元件元件介绍 (13)3、系统软件设计 (14)3.1程序流程图 (14)3.2 A/D转换子程序 (14)3.3 显示子程序 (15)第三部分设计成果 (16)1、数字电压表仿真程序 (16)2、软件调试 (18)2.1 Keil软件调试程序 (18)2.2 Proteus软件仿真调试 (19)3、硬件调试 (20)第四部分结束语 (21)第五部分致谢 (22)第六部分参考文献 (23)第一部分设计任务与调研1、毕业设计的主要任务本课题要求设计一个能正确测量模拟电压0-5v,误差<1%,利用ADC 0809采样输入的模拟量,转换后的电压值显示在4位数码管上。
具体要求如下。
(1)采用51单片机进行控制,显示采用LED显示,设计硬件电路。
(2)设计硬件结构框图,在proteus仿真系统上搭建设计平台。
(3)下载程序至设计平台,调试程序,实现程序功能。
(4)购买元器件焊接制作电路板。
(5)下载烧录程序至电路板中进行测试。
(6)撰写毕业设计成果报告,进行毕业答辩。
2、设计的思路、方法用ADC0809作为采样输入,经过模数转换后送到单片机,然后有单片机给数码管输入数字信号,控制数码管显示。
通过优化程序、提高硬件精度等级、校正基准电压等方法使得测量误差<1%。
进行根据设计任务的要求,选用合适的单片机型号和其他元件,然后在proteus仿真软件上画出电路原理图,利用keil软件编写控制程序后下载程序到仿真软件进行调试,通过调试结果反馈信息再修改调整控制程序和硬件电路,最后制作基于单片机控制的数字电压表电路板,电路板制作完成后进行测试和测量。
数字电压表实验报告
简易数字电压表设计报告姓名:***班级:自动化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软件进行编程。
数字电压表头的设计与制作毕业设计
目录
摘 要.................................................................................................................................. 1
第 1 章 引 言..................................................................................................................... 1 1.1 设计概述..................................................................................................................... 1 1.2 设计目标与意义......................................................................................................... 2 1.3 章节安排..................................................................................................................... 3
第 4 章 软件设计...............................................................................................................20 4.1 软件总体设计...........................................................................................................20 4.2 软件模块说明...........................................................................................................21 4.2.1 显示子程序模块说明....................................................................................... 21 4.2.2 A/D 转换子程序........................................................ 22 4.3 小结...........................................................................................................................24
数字电压表的设计方案
数字电压表的设计方案1. 引言数字电压表(Digital Voltmeter,简称DVM)是一种能够直接显示电压值的测量仪器。
它与传统的模拟电压表相比,具有精确度高、稳定性好、便于读取等优势。
本文将介绍一种基于集成电路的数字电压表的设计方案。
2. 设计原理数字电压表的设计基于模数转换技术,通过将输入的模拟电压信号转换为数字形式,并经过一系列处理后显示在数码管上。
通常的设计流程包括采样、量化、编码和显示四个步骤。
2.1 采样采样是将连续的模拟信号转换为离散的数字信号的过程。
在数字电压表中,采样过程通过使用一个模拟-数字转换器(ADC)来完成。
常见的ADC电路有逐次逼近型和闩锁型等,根据需求选择合适的ADC器件。
2.2 量化量化是将采样得到的模拟信号分为若干个不同电平的过程。
量化过程中,转换器将模拟信号映射到一个有限数量的离散值,通常为二进制数。
量化级别的选择会影响数字电压表的精度和分辨率。
2.3 编码编码是将量化后的模拟信号转换为与数码管对应的数字形式的过程。
常用的编码方式有二进制编码、格雷码等。
编码器可以是硬件电路,也可以是通过程序实现的软件算法。
2.4 显示显示是将编码后的数字信号以可读的形式呈现出来的过程。
在数字电压表中,常用的显示器件是七段数码管。
数码管的控制可以通过驱动电路来实现,同时需要考虑亮度控制和多位数显示的问题。
3. 系统组成数字电压表的系统组成主要包括模拟前端、模数转换、显示部分等。
3.1 模拟前端模拟前端是将待测电压信号处理成可以输入到模数转换器的范围内。
模拟前端通常包括电阻分压器、跨导放大器、滤波器等模块,其目的是将输入信号的幅度范围缩放到ADC的输入电压范围内。
3.2 模数转换模数转换是将模拟电压信号转换为数字信号的过程。
在数字电压表中,常用的模数转换器有逐次逼近型和闩锁型。
模数转换器的选择要考虑精度、速度、功耗等因素。
3.3 显示部分显示部分是将数字信号以可读的形式显示出来。
数字电压表设计与制作报告
江阴职业技术学院项目设计报告项目:数字电压表设计与制作摘要本文介绍了一种基于单片机的简易数字电压表的设计。
该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。
A/D转换主要由芯片ADC0832来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。
数据处理则由芯片AT89C51来完成,其负责把ADC0832传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0832芯片工作。
该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。
此数字电压表可以测量0-5V的1路模拟直流输入电压值,并通过一个四位一体的7段数码管显示出来。
关键词单片机;数字电压表;A/D转换;AT89C51;ADC0832.AbstractThis paper which introduces a kind of simple digital voltmeter is based on single-chip microcontroller design. The circuit of the voltage meter is mainly consisted of three mould pieces: A/D converting mould piece, A/D converting is mainly completed by the ADC0832, it converts the collected analog data into the digital data and transmits the outcome to the manifestation controlling mould piece. Data processing is mainly completed by the AT89C51 chip, it processes the data produced by the ADC0832 chip and generates the right manifestation codes, also transmits the codes to the manifestation controlling mould piece. Also, the AT89C51 chip controls the ADC0832 chip to work.The voltmeter features in simple electrical circuit, lower use of elements, low cost, moreover, its measuring precision and reliability. The voltmeter is capable of measuring voltage inputs from 1 route ranging from 0 to 5 volt, and displaying the measurements though a digital code tube of 7 pieces of LED.Keywords Single-chip microcontroller; Digital voltmeter; A/Dconverter; AT89C51; ADC0832目录摘要 (II)Abstract (II)目录 (III)第一章绪论 (1)1.1 课题的应用场合 (1)1.2 系统的功能和性能指标 (1)第二章总体方案 (2)2.1 方案设计与选择 (2)2.2 系统的总体结构 (3)第三章硬件电路设计 (5)3.1 硬件电路框图 (5)3.2 主要器件选择与应用 (5)3.3 单片机小系统设计 (5)3.4 键盘与显示电路设计 (6)第四章软件设计 (9)4.1 软件组成框图 (9)4.2 软件流程图设计 (9)4.3 主要程序设计 (10)第五章系统调试 (12)5.1 调试的方法与工具 (13)5.2 Proteus仿真调试及效果 (13)5.3 软硬件联合调试 (13)5.4 系统运行 (14)5.5 调试心得 (14)第六章展望与拓展 (16)致谢 (16)参考资料 (16)附录 (17)附录Ⅰ系统电原理图 (17)附录Ⅱ系统仿真效果图 (18)附录Ⅲ样机实物图 (18)附录Ⅳ软件流程图 (19)附录Ⅴ源程序清单 (20)第一章绪论1.1 课题的应用场合在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。
数字电压表的设计与制作【范本模板】
毕业设计(论文)题目:数字电压表的设计与制作年级专业:电气自动化14321班学生姓名:秦小钧指导教师:杨海蓉2016年10 月13 日毕业设计任务书毕业设计题目:数字电压表的设计与制作题目类型工程设计题目来源学生自选题毕业设计时间从 2016/09/25 至 2016/10/131.毕业设计内容要求:采用AT89S52作MCU,ADC0809(或其他芯片)进行AD转换,测量电压的范围为直流0-5V电压,四位数码管显示.2。
主要参考资料[1]万福君,潘松峰.单片微机原理系统设计与应用[M],中国科学技术大学出版社,01年8月第2版[2]周责魁。
控制仪表与计算机控制装置[M] ,化学工业出版社,02年9月第1版[3]李青。
电路与电子技术基础[L],浙江科学技术出版社,05年2月第1版[4]陈乐. 过程控制与仪表[M],中国计量学院出版社,07年3月[5]孙育才. 新型AT89S52系列单片机及其应用[M],清华大学出版社,05年5月第1版3.摘要本设计由A/D转换、数据处理及显示控制等组成,测量0~5V范围内的输入电压值,由4位共阳8段数码管扫描显示,最大分辨率0.1V,误差±0。
05V。
数字电压表的核心为AT89S52单片机和ADC0832 A/D转换集成芯片.关键词:数字电压表;单片机;AT89S52; ADC0832第一章设计方案的选择1。
1功能要求及设计目标采用AT89S52作MCU,ADC0809(或其他芯片)进行AD转换,测量电压的范围为直流0—5V电压,四位数码管显示。
(设计并制作出实物为优).1。
2 系统设计方案AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器AT89C52可以按照常规方法进行编程,也可以在线编程。
数字电压表设计与制作
知识点1 模拟信号与数字信号 知识点2 IAP15W4K58S4内部自带A/D与D/A转换器介绍
知识点1 模拟信号与数字信号
• 1、模拟信号与数字信号 • 模拟信号是指用连续变化的物理量所表达的信息,如温度、湿度、压力、长度、电流、电压等,我们
通常又把模拟信号称为连续信号。 • 数字信号是指自变量和因变量都是离散的信号。在电路中,数字信号是在模拟信号的基础上经过采样、
• (2)模数转换控制寄存器---ADC_CONTR • ADC模块的上电、转换速度、模拟输入通道的选择、启动模数转换及转换状态等都可通过
此寄存器进行配置。
• ADC_POWER : ADC电源控制位。置1时,打开ADC电源;置0时,关闭ADC电压。 • ADC_FLAG : 模数转换完成标志位。当A/D转换完成时,该位置1。ADC_FLAG只能由软件清零。 • ADC_START : 模数转换启动控制位。该位置1时,启动A/D转换;A/D转换完成时,该位自动清零。
知识点2 IAP15W4K58S4内部自带A/D与D/A转换器介绍
• 1、IAP15W4K58S4内部ADC的结构
知识点2 IAP15W4K58S4内部自带A/D与D/A转换器介绍
• 2、ADC相关寄存器 • IAR15W4K58S4内部A/D转换的相关寄存器有P1ASF、ADC_CONTR、ADC_RES和
知识点1 模拟信号与数字信号
• 2、A/D转换原理 • A/D转换的基本过程:采样与保持、 量化与编码。 • 为了实现输出数字信号近似于输入模拟信号的指标,必须有足够大的采样频率和转换位数。
采样频率越大,采样后的信号越接近输入信号,一般选择采样频率大于5~10倍模拟信号的 最高频率。A/D转换器的位数越多,转换后的数字量也越接近于模拟量。 • A/D转换器主要有三种类型:逐次逼近式A/D转换器、双积分式A/D转换器、V/F变换式A/D 转换器。
数字电压表的设计与制作报告
1课题名称数字电压表的设计与制作2设计指标及要求3位的数字电压表电路,技术指标要求是:设计并制作一个通用液晶显示211)直流电压测量范围(0-200V):共分5档200mV、2V、20V、200V;2)基本量程:200mV,测量速率(2-5)次任选;3)分辨率0.1mV;γ4)测量误差:%1.0±≤5)具有正、负电压极性显示,小数点显示和超量程显示。
3方案论证方案一:采用AT89S52单片机为核心、以AD0809数模转换芯片采样、以1602液晶屏显示制作具有电压测量功能的具有一定精度的数字电压表。
AT89S52是一个低功耗,高性能CMOS 8位单片机;8位AD转换器ADC0809,编程简单方便,价格便宜;采用液晶1602做为显示电路,功能强大,适合做各类扩展。
但该方案涉及的编程复杂,同时硬件电路也颇复杂。
方案二:采用ICL7106A/D转换器,液晶显示器EDS801A配以外围电路进行设计。
ICL7106是美国Intersil公司专为数字仪表生产的数字仪,满幅输入电压一般取200mV或2V。
该芯片集成度高,转换精度高,抗干扰能力强,输出可直接驱动LCD液晶数码管,只需要很少的外部元件,就可以构成数字仪表模块,硬件电路简单,而且精度高,完全可以实现要求。
综合分析,同时结合到软硬件实际,选择方案二,原理简单,仅涉及硬件电路。
4系统框图4.1 系统框图5单元电路设计及参数计算5.1AD转换器及外围电路设计电路图如下图5.1所示。
图5.1 AD转换器及外围电路图其中液晶显示采用EDS801,将其各数码的字段及公共端与ICL7106相应端联接。
OSC1、OSC2和OSC3是内部时钟的外接电阻和电容引脚;TEST是数字逻辑地端;VRH和VRL是参考电压的输入端,参考电压决定着AD转换器的灵敏度,它是由U DD分压而来,调节P R分压比可调节灵敏度(调满);两个CR脚是基准电容的外接引脚;COM端是模拟信号公共端;AZ、BUF和INT分别是自动调零端、缓冲控制端和积分器输出端;U+和U-为电源端;IN+和IN-为待测信号输入端。
数字电压表的设计与制作
应用电子技术专业项目化课程《EDA技术》项目四总结报告数字电压表的设计与制作班 级: 09应用电子一姓 名:沈伟学 号: 20090876指导老师:陆冬明张新亮完成时间: 2011-5-24项目四:数字电压表的设计与制作1.工作任务描述。
设计一个能正确测量模拟电压,误差《1%的数字电压表,数字电压值分别由带驱动四个数码显示管显示。
ADC0809完成模拟数字转换,FPGA芯片产生ADC0809控制信号和七段显示器段码和位码等。
利用Protel DXP软件完成原理图设计和PCB板图设计,最后完成数字电压表的安装、焊接和调试。
二.使用设备。
EDA技术试验箱,电脑;万用表,信号发生器;多媒体教学设备等。
3.工作任务。
1.能正确测量0-5V模拟电压,误差《1%,数字电压值分别由四个数码管显示。
2.模拟数字信号转换由ADC0809实现。
3.FPGA芯片产生ADC0809控制信号和七段显示器段码和位码等。
4.用EDA实训系统下载验证。
5.制作PCB电路板。
6.进行电路焊接与调试,实现其功能。
7.完成工作页和项目总结。
四.训练目标。
专业能力目标:1. 训练VHDL语言编程能力,如二进制转换为百十个位电路;2. ADC0809集成电路使用能力;3. 电路模块化设计能力;4. 数字电压表电路安装、调试与故障排查能力。
方法能力和社会能力目标:1.具有查阅资料能力、自学能力、观察能力和解决问题的能力。
2.具有团队协作能力、交流与表达能力、计划组织能力、安全文明生产等职业素养。
五.模块化电路设计。
(频率计)1.总体电路图设计:2.FELX10K10芯片及外接电路:六.内部电路编程。
(实现模数转换,数码管显示,控制位信号等功能)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY shzdyb ISPORT(CLK:IN STD_LOGIC;A:IN STD_LOGIC_VECTOR(7 DOWNTO 0);DA:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);W:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);RD,WR,CS:OUT STD_LOGIC);END shzdyb;ARCHITECTURE WEI OF shzdyb ISSIGNAL DAA: STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL P: STD_LOGIC;SIGNAL WEI: STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL Q: INTEGER RANGE 0 TO 9;SIGNAL WQIA: INTEGER RANGE 0 TO 5;SIGNAL WBAI: INTEGER RANGE 0 TO 9;SIGNAL WSHI: INTEGER RANGE 0 TO 9;SIGNAL WGE : INTEGER RANGE 0 TO 9;BEGINPROCESS(CLK,A)VARIABLE QQ: INTEGER RANGE 0 TO 600000;VARIABLE QIA: INTEGER RANGE 0 TO 5;VARIABLE BAI: INTEGER RANGE 0 TO 9;VARIABLE SHI: INTEGER RANGE 0 TO 9;VARIABLE GE: INTEGER RANGE 0 TO 9;VARIABLE BAII: INTEGER RANGE 0 TO 100000;VARIABLE SHII: INTEGER RANGE 0 TO 10000;VARIABLE GEE: INTEGER RANGE 0 TO 1000;BEGINQQ:=CONV_INTEGER(A)*1961;IF QQ>=0 AND QQ<=99999 THEN QIA:=0;ELSIF QQ>=100000 AND QQ<=199999 THEN QIA:=1; ELSIF QQ>=200000 AND QQ<=299999 THEN QIA:=2; ELSIF QQ>=300000 AND QQ<=399999 THEN QIA:=3; ELSIF QQ>=400000 AND QQ<=499999 THEN QIA:=4; ELSIF QQ>=500000 AND QQ<=599999 THEN QIA:=5; ELSE QIA:=0;END IF;BAII:=(QQ-QIA*100000);IF BAII>=0 AND BAII<=9999 THEN BAI:=0;ELSIF BAII>=10000 AND BAII<=19999 THEN BAI:=1; ELSIF BAII>=20000 AND BAII<=29999 THEN BAI:=2; ELSIF BAII>=30000 AND BAII<=39999 THEN BAI:=3; ELSIF BAII>=40000 AND BAII<=49999 THEN BAI:=4; ELSIF BAII>=50000 AND BAII<=59999 THEN BAI:=5; ELSIF BAII>=60000 AND BAII<=69999 THEN BAI:=6; ELSIF BAII>=70000 AND BAII<=79999 THEN BAI:=7; ELSIF BAII>=80000 AND BAII<=89999 THEN BAI:=8; ELSIF BAII>=90000 AND BAII<=99999 THEN BAI:=9; ELSE BAI:=0;END IF;SHII:=((QQ-QIA*100000)-(BAI*10000));IF SHII>=0 AND SHII<=999 THEN SHI:=0;ELSIF SHII>=1000 AND SHII<=1999 THEN SHI:=1;ELSIF SHII>=2000 AND SHII<=2999 THEN SHI:=2;ELSIF SHII>=3000 AND SHII<=3999 THEN SHI:=3;ELSIF SHII>=4000 AND SHII<=4999 THEN SHI:=4;ELSIF SHII>=5000 AND SHII<=5999 THEN SHI:=5;ELSIF SHII>=6000 AND SHII<=6999 THEN SHI:=6;ELSIF SHII>=7000 AND SHII<=7999 THEN SHI:=7;ELSIF SHII>=8000 AND SHII<=8999 THEN SHI:=8;ELSIF SHII>=9000 AND SHII<=9999 THEN SHI:=9;ELSE SHI:=0;END IF;GEE:=((QQ-QIA*100000)-(BAI*10000)-(SHI*1000));IF GEE>=0 AND GEE<=99 THEN GE:=0;ELSIF GEE>=100 AND GEE<=199 THEN GE:=1;ELSIF GEE>=200 AND GEE<=299 THEN GE:=2;ELSIF GEE>=300 AND GEE<=399 THEN GE:=3;ELSIF GEE>=400 AND GEE<=499 THEN GE:=4;ELSIF GEE>=500 AND GEE<=599 THEN GE:=5;ELSIF GEE>=600 AND GEE<=699 THEN GE:=6;ELSIF GEE>=700 AND GEE<=799 THEN GE:=7;ELSIF GEE>=800 AND GEE<=899 THEN GE:=8;ELSIF GEE>=900 AND GEE<=999 THEN GE:=9;ELSE GE:=0;END IF;WQIA<=QIA; WBAI<=BAI; WSHI<=SHI; WGE<=GE;END PROCESS;PROCESS(CLK)VARIABLE CNT:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINIF CLK'EVENT AND CLK='1' THENIF CNT<2 THEN CNT:=CNT+1;ELSE CNT:="000"; P<=NOT P;END IF;WEI<=CNT;CASE CNT ISWHEN "000"=>Q<=WQIA;WHEN "001"=>Q<=WBAI;WHEN "010"=>Q<=WSHI;WHEN "011"=>Q<=WGE;WHEN OTHERS=>NULL;END CASE;END IF;WR<=P; RD<=‘1’; CS<='0';END PROCESS;PROCESS(Q)BEGINCASE Q ISWHEN 0=>DAA<="11111100";WHEN 1=>DAA<="01100000";WHEN 2=>DAA<="11011010";WHEN 3=>DAA<="11110010";WHEN 4=>DAA<="01100110";WHEN 5=>DAA<="10110110";WHEN 6=>DAA<="10111110";WHEN 7=>DAA<="11100000";WHEN 8=>DAA<="11111110";WHEN 9=>DAA<="11110110";END CASE;END PROCESS;PROCESS(WEI,DAA)BEGINIF WEI="000" THENW<=WEI; DA<=DAA OR "00000001";ELSEW<=WEI; DA<=DAA;END IF;END PROCESS;END WEI;七.调试及故障处理。
数字电压表的设计与制作
数字电压表的设计与制作摘要设计了以 ICL7107 为核心的数字电压表,实现对 0~1000V 电压的测量。
采用 四位数码管显示,具有显示亮度高,读数方便等特点。
本系统设计了自动切换量 程功能,能实现 0~200mV,0~2V,0~20V,0~200V,0~1000V,共 5 个量程电压 值的测量。
关键词:ICL7107,电压表,多量程AbstractICL7107 as the core digital voltmeter, 0 ~ 1000V voltage measurement. Four digital display and high brightness display, easy reading. System design automatically switch range features can achieve 0 ~ 200mV, 0 ~ 2V, 0 ~ 20V, 0 ~ 200V 0 ~ 1000V, 5 scale voltage value measurement. Keyword:ICL7107 , voltmeter, multi-range1 方案设计与论证1.1 方案设计本文设计的电压表是一个三位半直流电压测量数字式电压表,采用 ICL7107 集成芯片,该芯片集成了 A/D 转换及锁存和译码模块,使得电路具有设计简单, 集成度及可靠性高的特点。
本系统可分为测试电压转换、模拟电压通道、A/D 转 换及译码锁存、显示、超欠量程识别和量程切换及小数点驱动 6 部分。
1.2 双积分测量原理双积分型 A/D 转换器 ICL7107 是一种间接 A/D 转换器。
它通过对输入模拟 电压和参考电压分别进行两次积分, 将输入电压平均值变换成与之成正比的时间 间隔,然后利用脉冲时间间隔,进而得出相应的数字性输出。
它的原理性框图如图 1 所示,它包括积分器、比较器、计数器,控制逻辑和 时钟信号源。
设计制作一个简易数字电压表.doc
设计制作一个简易数字电压表目录一、设计要求................................................................................................... 错误!未定义书签。
二、设计方案、电路图和工作原理............................................................... 错误!未定义书签。
三、软件仿真................................................................................................... 错误!未定义书签。
四、PCB设计.................................................................................................. 错误!未定义书签。
五、元器件清单表........................................................................................... 错误!未定义书签。
五、焊接和调试............................................................................................... 错误!未定义书签。
六、过程照片................................................................................................... 错误!未定义书签。
七、总结、心得及其他................................................................................... 错误!未定义书签。
一种简易数字电压表的设计与制作
一种简易数字电压表的设计与制作
1引言
在电量的测量中,电压、电流和频率是最基本的三个被测量,而电压的测量最为常见,现在学生使用的数字万用表能够测量多种电量,并且具有一定的精度,使用方便。
为了让学生更好地了解数字电压表的工作原理,从而激发他们对单片机课程的学习兴趣,本文从软硬件设计、proteus仿真、制作实物、误差分析几个方面着手,阐述数字电压表的工作原理、数据的程序处理方法、数字信号软件滤波原理。
2.硬件设计
硬件电路设计由4个部分组成:a/d转换电路,at89c51单片机系统,led显示系统、测量电压输入电路。
硬件电路设计框图如图1所示。
其总设计框图如下:。
简易数字电压表的设计
一、简易数字电压表的设计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)显示子程序 显示子程序采用动态扫描法实现四位数码管的数值显示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业设计(论文)题目:数字电压表的设计及制作年级专业:电气自动化14321班学生姓名: 秦小钧指导教师:杨海蓉2016年10 月13 日毕业设计任务书毕业设计题目:数字电压表的设计及制作题目类型工程设计题目来源学生自选题毕业设计时间从 2016/09/25 至 2016/10/131.毕业设计内容要求:采用AT89S52作MCU,ADC0809(或其他芯片)进行AD转换,测量电压的范围为直流0—5V电压,四位数码管显示。
2.主要参考资料[1]万福君,潘松峰.单片微机原理系统设计及应用[M],中国科学技术大学出版社,01年8月第2版[2]周责魁。
控制仪表及计算机控制装置[M] ,化学工业出版社,02年9月第1版[3]李青。
电路及电子技术基础[L] ,浙江科学技术出版社,05年2月第1版[4]陈乐。
过程控制及仪表[M],中国计量学院出版社,07年3月[5]孙育才。
新型AT89S52系列单片机及其应用[M] ,清华大学出版社,05年5月第1版3.摘要本设计由A/D转换、数据处理及显示控制等组成,测量0~5V范围内的输入电压值,由4位共阳8段数码管扫描显示,最大分辨率0。
1V,误差±0。
05V.数字电压表的核心为AT89S52单片机和ADC0832 A/D转换集成芯片。
关键词:数字电压表;单片机;AT89S52; ADC0832第一章设计方案的选择1。
1功能要求及设计目标采用AT89S52作MCU,ADC0809(或其他芯片)进行AD转换,测量电压的范围为直流0-5V 电压,四位数码管显示。
(设计并制作出实物为优)。
1.2 系统设计方案AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器AT89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash 存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。
AT89S5及AT89c52相比,前者的性能比后者高,所以本设计采用AT89S52芯片。
数模转换芯片:ADC0809是采样分辨率为8位的、以逐次逼近原理进行模—数转换的器件.其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换,转换时间为100μs。
ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。
其内部电源输入及参考电压的复用,使得芯片的模拟电压输入在0~5V之间。
芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强.由于ADC0832芯片的转换时间短,并且性能比较高,所以采用ADC0832作为数模转换芯片.1 选择AT89S52 作为控制芯片2 选择ADC0832芯片来进行模数转换3 选择GEM5461GE 四位一体的共阳数码管来显示数字4 用9012三极管来作为驱动电路,使GEM5461GE 四位一体的共阳数码工作.5 用SW1按键作为复位按键,实现复位电路的功能.第二章数字电压表系统设计2。
1 硬件系统的设计2。
1.1 硬件原理框图图2-1硬件原理框图2.1。
2硬件系统设计原理硬件设计原理:电阻R11上的电压经过ADC0832芯片进行模数转换后,由AT89S52芯片的P1口连接到驱动电路,当驱动电路工作使数码管显示前面转换过来的数字。
复位电路和晶振电路的设计在接通电源后,当按下SW1后AT89S52不工作,使数码管全部变暗,当SW1一松开后AT89S52工作,数码管又变亮.晶振电路中的两个30pF的电容具有微调的作用.2.2软件系统设计2。
2.1程序流程图图2—3程序流程图2。
2.2编写程序1 1,0选通道0bADcl=1;bADcl=0;// 3 downbADda=1;bADcl=1;bADcl=0; // 4 down数码管显示程序//数字电压表#include<reg51.h>#define uchar unsigned char#define uint unsigned int#include 〈intrins。
h>code uchar TAB[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //定义数码管显示数值uchar str_TME[4]={0,0,0,0,}; //定义数码管显示初始值unsigned char data1; //data1用来存放转换以后的数据void delay(uchar ms) //定义ms延迟程序{uchar j;while(ms—-)for(j=0;j〈125;j++);}uchar tmel=0;bit sim=1;/***********************计数器中断函数,用于控制电压转****************************************时间间隔,此程序设定间隔为1S电压转换一次***************/void tme_tr0(void) interrupt 1{TL0=0x58;TH0=0x9e; //设置25ms 延时的初值if(++tmel==40){tmel=0;sim=1;}2 AD0832AD转换子程序/***************************************************************************AD0832AD转换子程序***************************************************************************/sbit bADcs=P2^2; //片选位sbit bADcl=P2^1; //时钟位sbit bADda=P2^0; //数据位void ad(void){ uchar i;bADcs = 0;//当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,开始工作CS为低电平bADcl=0; //第一个时钟下降沿前da为1,第二个及第三时钟下降沿前的数据为通道选择bADda=1; //选置起始位bADcl=1;bADcl=0; // 1downbADda=1; //通道选择第1位bADcl=1;bADcl=0;// 2 downbADda=0; //通道选择第2位,通道选择为for(i=8;i〉0;i——){data1<<=1; //从第7位开始,要左移data1=data1<<1bADcl=0;bADcl=1;if(bADda==1) data1|=0x01; //如果输出1,data1最后一位补1}bADcs=1; //转换完后CS置1}void changs() //转换程序{double sum;uchar val_Integer; //定义整数变量unsigned int val_Decimal; //定义小数变量sum=data1*0.0196078 ;val_Integer=(uchar)sum;val_Decimal=(unsigned int)((sum-val_Integer)*1000);str_TME[3]=val_Decimal%10;str_TME[2]=val_Decimal/10%10;str_TME[1]=val_Decimal/100;str_TME[0]=val_Integer;}}/*****************定义数码管显示(共阳数码管)***************************/sbit g1=P1^0; //第一位sbit g2=P1^1; //第二位sbit g3=P1^2; //第三位sbit g4=P1^3; //第四位void VAL_xs(){P3=(TAB[str_TME[0]])&0x7f; //显示小数点g1=0; //第一位显示delay(4);g1=1;P3=TAB[str_TME[1]];g2=0; //第二位显示delay(4);g2=1;P3=TAB[str_TME[2]];g3=0; //第三位显示delay(4);g3=1;P3=TAB[str_TME[3]];g4=0; //第四位显示delay(4);g4=1;}3 主程序/*****************************************************主程序*******************************************************/main(){P1=0xc0;IE=0x82; //中断请求TMOD=0x01;IP=0x01;TL0=0x58;TH0=0x9e;TR0=1; //运行控制位while(1){VAL_xs();if(sim==1){ad(); //电压转换changs(); //数据转换sim=0;}}}2。
2.3用KEIL 软件编译和生成hex文件图2-4 KEIL 软件编译图2。
3 用protues 进行仿真1 安装protues 软件2 画出原理图3 在AT89S52芯片中写入 hex 文件单击确定图2—5写入hex文件图 4仿真和调试图2-6 仿真当调节R11电阻时显示数字也发生变化,说明程序正确!第三章制作PCB 板和实物的调试3.1制作PCB 板由于开始在北院制版时间太短,所以走了两根飞线.图3-1 PCB 板PCB板制作流程:打印PCB图A纸,热转印发打印,腐蚀,打孔,插件,焊接,检测实物。
3.2 实物的检测功能及调试把前面仿真通过的程序烧制到AT89S52芯片中,接上5V 的电源,观察效果。
实物图3—2。
图3—2 实物效果图现象:数码管最后两位每隔1 秒数字有点变化,这是由于外界的干扰造成的,属于正常现象.调节R11 显示的数字有变化,按下SW1按键显示器变暗,松开SW1又显示数字.结论:正确,设计成功!设计总结在这次课程设计中,完成了简易数字电压表的制作工作。
其中有苦也有乐。
苦的是这个月太累了,好几个晚上忙到凌晨2点左右;乐的是在付出过程中,我学到了许多的东西。
在整个设计过程中,经常经常出现这样那样的问题,但是最后还是都得以解决,这个过程是值得我回味的,尤其是当看到自己的设计课题成功时,心中有一种成就感。
挫折是一份财富,经历是一份拥有。