数字电压表的设计与制作
数字电压表的设计毕业论文
数字电压表的设计毕业论文数字电压表的设计摘要:本文主要介绍了数字电压表的设计。
首先介绍了数字电压表的基本原理和功能,然后详细讲解了数字电压表的硬件设计和软件设计。
硬件设计包括电路设计和元器件选择,软件设计包括程序设计和界面设计。
最后对数字电压表进行了实验验证,并总结了设计过程中的经验和教训。
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
数字电压表的设计
目录一、设计方案 (2)(一)、设计要求 (2)(二)、设计方案 (2)1、由数字电路及芯片构建 (2)2、由单片机系统及A/D转换芯片构建 (2)(三)、系统设计的组成框图 (3)二、单元电路器件的选择 (3)(一)、单片机AT89C51 (3)(二)、A/D芯片的选择 (5)(三)、LED显示器件简介 (6)三、硬件电路系统的设计 (7)(一)、硬件电路系统的接口设计 (7)1、 AT89C51单片机和数码管显示电路的接口设计 (7)2、 A/D转换电路的接口设计 (7)(二)、硬件电路系统模块的设计 (7)1、单片机系统 (7)2、时钟电路 (8)3、复位电路 (8)4、显示电路设计 (9)(三)、总电路图 (10)四、系统软件程序的设计 (10)五、系统调试 (13)六、心得体会 (15)参考文献: (15)数字电压表的设计(电子信息工程技术专业电信09(1)班,xxx)摘要:设计采用AT89C51单片机、A/D转换器ADC0808和共阳极数码管为主要硬件,分析了数字压表Proteus软件仿真电路设计及编程方法。
将单片机应用于测量技术中,采用ADC0808将模拟信号转化为数字信号,用AT89C51实现数据的处理,通过数码管以扫描的方式完成显示。
设计的数字电压表可以测量0~5 V的电压值,AT89C51为8位单片机,当ADC0808的输入电压为5 V时,输出数字量值为+4.99 V。
本设计电路简单、成本低、性能稳定。
关键字:AT89C51单片机;A/D转换器ADC0808;数字电压表;Proteus仿真软件一、设计方案(一)、设计要求利用单片机AT89C51与ADC0808设计一个数字电压表,将模拟信号0~5 V之间的电压值转换成数字量信号,以两位数码管显示,并通过虚拟电压表观察ADC0808模拟量输入信号的电压值,LED数码管实时显示相应的数值量。
(二)、设计方案设计数字电压表有多种的设计方法,方案是多种多样的,由于大规模集成电路数字芯片的高速发展,各种数字芯片品种多样,导致对模拟数据的采集部分的不一致性,进而又使对数据的处理及显示的方式的多样性。
数字电压表设计与制作报告
江阴职业技术学院项目设计报告项目:数字电压表设计与制作摘要本文介绍了一种基于单片机的简易数字电压表的设计。
该设计主要由三个模块组成: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 课题的应用场合在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。
数字电压表的设计毕业设计
数字电压表的设计毕业设计1000字数字电压表是一种常见的测试仪器,用于测量电路中的电压值。
本文将介绍数字电压表的设计。
一、功能需求数字电压表需要能够测量 0~30V 的电压,并以数字形式显示。
为了保证精确度和稳定性,需要实现自动调零和自动校准功能。
同时,还需要设计一个电源电路,用于提供适当的电压和电流。
二、硬件设计数字电压表由三个主要部分组成:信号采集部分、处理器部分和显示部分。
1. 信号采集部分该部分负责采集输入电路的电压信号,并将其转换为数字信号。
通常采用差分放大器、反相输入基准电压和模数转换器(ADC)进行电压信号的采集和转换。
需要注意的是,差分放大器的增益要合适,以确保在输入信号变化时输出的电压范围不会超过 ADC 的输入范围。
为了提高精度,还需要使用低温漂(LTC)和高精度电阻。
2. 处理器部分该部分负责对采集到的数字信号进行处理,并将结果存储在内存中,以便后续的显示。
通常采用单片微处理器(MCU)进行实现。
需要注意的是,为了提高精度,需要使用高倍频的系统时钟,并对 ADC 的参考电压进行精细调整。
3. 显示部分该部分负责将数字结果转换为以数码管形式显示。
可以使用驱动 IC 和共阴极的数码管来实现。
需要注意的是,为了消除闪烁现象,需要以高速刷新数码管的方式来显示结果。
三、软件设计数字电压表的软件设计主要涉及到 ADC 的驱动、信号处理、数码管控制和定时器中断等方面。
1. ADC 的驱动通过配置 ADC 控制寄存器,可以实现 ADC 的开始、停止和中断等功能。
在 ADC 采样结束后,需要将转换结果从 ADC 的数据寄存器中读取出来,并进行后续的信号处理。
2. 信号处理采集到的电压信号需要进行比例转换、补偿和滤波等处理,以提高精度和稳定性。
通常采用移位运算、插值算法和卡尔曼滤波等方法进行处理。
3. 数码管控制通过配置端口控制寄存器,可以实现数码管的亮度、颜色和控制模式等功能。
通常采用高速刷新数码管的方式来消除闪烁现象。
数字电压表的设计与制作【范本模板】
毕业设计(论文)题目:数字电压表的设计与制作年级专业:电气自动化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 显示系统、测量电压输入电路。
硬件电路设计框
此电路的工作原理是:+5v 模拟电压信号通过变阻器vr1 分压后由
adc08008 的in0 通道进入(由于使用的in0 通道,所以adda,addb,addc 均接低电平),经过模/数转换后,产生相应的数字量经过其输出通道d0-d7 传送给
at89c51 芯片的p0 口,at89c51 负责把接收到的数字量经过数据处理,产生正确的7 段数码管的显示段码传送给四位led,同时它还通过其四位i/o 口p2.0、
p2.1、p2.2、p2.3 产生位选信号控制数码管的亮灭。
简易数字直流电压表的硬件电路已经设计完成,就可以选取相应的芯片
和元器件,利用proteus 软件绘制出硬件的原理,并仔细地检查修改,直至形
成完善的硬件原理3.软件设计
根据模块的划分原则,将该程序划分初始化模块,a/d 转换子程序和显
示子程序,这三个程序模块构成了整个系统软件的主程序,如
整个程序设计的核心在于对a/d 转换的数据进行处理,包括数字滤波处。
- 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点左右;乐的是在付出过程中,我学到了许多的东西。
在整个设计过程中,经常经常出现这样那样的问题,但是最后还是都得以解决,这个过程是值得我回味的,尤其是当看到自己的设计课题成功时,心中有一种成就感。