单片机课程设计报告数字电压表
单片机课程设计报告报告——数字电压表
数字电压表单片机课程设计报告班级:姓名:学号:指导教师: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)电压采集及显示精度至少到2位小数;其中,通用要求为1、人机接口:可选择开关、按键、发光管、LED数码管、点阵字符LCD、图形字符LCD等;2、模拟器件:可选择A/D、D/A、运放、模拟开关等,其中A/D、D/A要求是串行接口类;3、传感器:要求是模拟量输出。
经分析,该设计可分为以下部分:一、A/D采样,并满足精确度要求二、单片机与A/D采样芯片通信三、将采集到的信息经处理后进行显示四、报警系统为完成该任务,需要选择A/D芯片,选择显示模块,选择报警系统。
本设计产品的适用人群是学生,供学生进行课外训练、实验,所以,本产品要留出足够的资源便于今后功能扩展。
用户可自行对产品部分功能更改、调试,选材方面要选用较为通用、易于操作的器件。
一、整体方案论证方案一:以8086作为主控芯片,自行搭建外围电路,接定时器8253、并行口8255,中断控制器8259。
8086市场价8元,8255市场价4.6元,8253市场价3.80元,8259市场价5元。
而除去外围电路。
51最小系统板大概8元,且性能更为稳定齐全,所以,相比之下,本方案经济性较差。
方案二:以51单片机作为主控芯片。
AT89C51有8位CPU,128BRAM,4KB程序存储器,4个8位可编程并行I/O口(P0口、P1口、P2口和P3口),一个全双工的异步串行口,两个可编程的16位定时器/计数器,一个看门狗定时器。
中断系统具有5个中断源、5个中断向量,低功耗节电模式有空闲模式和掉电模式,且具有掉电模式下的中断恢复模式。
这些硬件资源,足够做一个电压表,并可以方便的扩展外部功能,供用户自由发挥。
此外,我们现已有功能较为齐全的51开发板,无需搭建复杂的外围电路,取材十分方便。
单片机课程设计报告:电压表(附程序)
——电压表【课题】电压表【设计要求】设计一个量程可变的数字电压表,用3个LED数码管显示,电压表量程为0~200mV(显示0~200mV)、200mV~2V(显示0.2V~2V)。
【设计原理】一、实验电路图二、工作原理如上图所示,实验中主要用到的芯片有运算放大器、继电器、ADC0832、8951单片机及其外围设备。
电压表的量程为两档,0~200mV 和200mV~2V。
其相对应的运放的放大增益是25倍和2.4倍,这样即使是最大的输入其通过运放后的输出电压都会小于5V,其通过限幅电路后电压均为其真实值。
然后模拟输入电压由AD0832输入,经过模数转换后送给单片机。
由p0口输出字形,同时由p1.4的电平控制74LS573的锁存和直通状态。
P1.5、p1.6、p1.7控制字位。
P1.2控制继电器的工作状态,当P1.2低电平时,三极管工作在截止状态,继电器线圈无电流通过,继电器处于常闭状态,那么相对应的运放的放大增益为25倍。
而当P1.2为高电平时,三极管工作在饱和状态,继电器线圈有电流通过,产生电磁力将继电器的开关吸到常开状态,其对应的放大增益即变为2.4倍。
对于一个模拟输入,现将其放大2.4倍,然后由AD 输入并相应转化,如果它的输出要是小于0.5V ,也就是19H ,则选择此档位是不精确的,也说明此时的输入电压介于0~200mV 之间。
那么我们就需要让P1.2置低电平,将相应的放大倍数改成25以提高转换精度。
若其满足相应的条件则直接将其转换成BCD 码并直接送数显示即可。
实验中用到了模数转换器ADC0832,其引脚图如右图所示,ADC0832是8位逐次逼近型A /D 转换器, 单一正5V 电源供电,CS 为片选, CLK 提供串行输入/输出时钟信号,DO用于串行数字输出,CHO 和CHl 为双通道模拟输入端, 它可用软件设定为单端或差分输人。
在差分方式中,通道口地址的选择由DI 逐位输入,GND 是数字、模拟公共地,cc V (REP V )为芯片电源、参考电压公共端。
单片机课程设计实验报告数字电压表
哈尔滨理工大学课程设计报告书课程名称单片机课程设计题目数字电压表院(系)自动化学院班级电技12-3学号1212020301学生姓名蔡成灼指导教师王宏民辅导教师王宏民2014 年12 月25 日课程设计(论文)任务书自动化学院电子信息科学与技术专业12-3班一、课程设计(论文)题目:数字电压表二、课程设计(论文)工作自20 14 年 12 月 26 日起至 20 14 年 12 月 27 日止三、课程设计(论文) 地点: B302四、课程设计(论文)内容要求:1. 本课程设计的目的(1)进一步巩固和加深对“单片机原理及应用”课程基本知识的理解和掌握,了解51系列单片机在项目开发中的应用。
(2)学习单片机硬件和软件设计开发的一般方法,了解和掌握项目开发过程及方式,培养正确的设计思想和分析问题、解决问题的能力,特别是项目设计能力。
(3)通过对标准化、规范化文档的掌握并查阅有关技术资料等,培养项目设计开发能力,同时提倡团队合作精神。
2. 课程设计的任务及要求1) 基本要求:(1)对系统功能进行需求分析;(2)提出系统的设计方案;(3)完成硬件设计和编写源程序代码并进行必要的调试。
2) 创新要求ADC0832是双通道,由程序可以任意的选取通道进行显示。
3) 课程设计报告撰写及装订要求课程设计报告的撰写要求表述简明,图表准确。
报告按如下内容和顺序用A4纸进行打印并装订成册。
(1)封面采用统一的课程设计封面,并按要求填写好封面要求的个人信息和选题。
(2)设计任务书(3)评阅书(4)目录(5)正文(6)主要参考文献4) 课程设计完成标准要求:每人按指定题目进行设计,严禁抄袭,要求每人自己动手编写程序,采取同一组同时检查程序及运行结果,检查时同组成员每人陈述自己的分工,同一选题不同组如发现代码完全一样,则双方都作不及格处理。
(1)达到课程设计的目的与要求,程序的可读性较好,并调试正确;(2)能正确回答设计的中老师所提问题;(3)课程设计报告书写规范整齐;(4)心得体会认真总结;(5)程序有创新性;成绩评定实行优秀、良好、中等、及格和不及格五个等级。
单片机课程设计——数字电压表
单片机预习报告--------------电压表一.题目分析根据题目要求,系统设计需要基于自动控制原理,实现电压量程的自动切换、数据采样、电压显示等功能。
主要来说,系统由信号调理电路、A/D转换电路、单片机控制系统、数码显示系统等几个模块组成。
二.系统总体设计与框图系统框图如图下图所示。
该过程是:首先通过系列比较器检测输入电压的极性与范围,单片机根据电压极性与范围对继电器阵列进行相应的动作,实现了输入量程的全自动转换。
经过调理后的电压信号由AD转换后送出数码显示。
系统总体设计与框图三.各模块方案1)A/D采样系统采用ADC08322)自动量程切换量程切换电路包括电压衰减变换电路和无零漂小信号放大电路。
智能数字电压表中关键技术之一为自动量程转换问题。
用单片机控制多组继电器进行量程切换。
特点是简单实用,缺点是机械噪声大。
3)电压检测为了实现对输入的微小信号或大信号进行精确测量,我们拟采用信号放大或衰减预处理电路,即需要对被测量电压的极性、范围进行判断和确定,从而将被测电压的基本信息传递给单片机系统。
用多组比较器进行电压范围的分段检测,实现对输入电压的粗略测量。
为了粗略地得到被测量的电压范围采用多组比较器的方式,通过阶梯式比较的方法确定输入电压的范围。
4)显示部分采用LED数码管动态扫描显示。
采用3个位LED动态扫描显示的优点是能改善外部信号对显示的干扰,但单片机在工作时要求CPU不停地对LED更新,这将会降低系统的运行速度,且占用资源比较多。
5)信号调理模块该部分主要实现的功能是自动量程切换和电压变换,模块主要由电压极性检测电路、电压范围粗测电路、电压变换电路、继电器模块四部分组成。
7)继电器模块单片机是一个弱电器件,一般情况下它们大都工作在5V甚至更低.驱动电流在mA级以下.而要把它用于一些大功率场合,比如控制电动机,显然是不行的.所以,就要有一个环节来衔接,这个环节就是所谓的"功率驱动".继电器驱动就是一个典型的、简单的功率驱动环节.在这里,继电器驱动含有两个意思:一是对继电器进行驱动,因为继电器本身对于单片机来说就是一个功率器件;还有就是继电器去驱动其他负载,比如继电器可以驱动中间继电器,可以直接驱动接触器,所以,继电器驱动就是单片机与其他大功率负载接口.四.元件清单五.程序设计程序流程图如下。
单片机实验报告-数字电压表
当CS为低电平时,ADC0831 开始模数转换,从第二个时钟下降沿开始传输转换后的数字 量,一次传输 8 位。
五、 程序
#include <reg51.h> #include <intrins.h> unsigned char Character[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; sbit CC1=P3^1; sbit CC2=P3^0; sbit CS=P3^2; sbit CLK=P3^3; sbit DO=P3^4; unsigned char ConversionValue=0; unsigned char DisplayValue=0; void delayms(unsigned int x); void Read_ADC0831(void); void main(void) { while(1) { Read_ADC0831(); DisplayValue=(unsigned char)(((float)ConversionValue)/255*50); P1=Character[DisplayValue%10]; CC1=0;CC2=1; delayms(1); CC1=1; P1=Character[DisplayValue/10]|0x80; CC1=1;CC2=0; delayms(1); CC2=1; } } void delayms(unsigned int x)//延时函数,单位 ms { unsigned int i,j; for(i=x;i>0;i--) for(j=110;j>0;j--); } void Read_ADC0831(void) { unsigned char i,temp=0;
单片机课程设计报告数字电压表
单片机课程设课题名称:数字电压表课程原理: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数字电压表的概述数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。
目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。
与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。
重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。
数字电压表的诞生打破了传统电子测量仪器的模式和格局。
它显示清晰直观、读数准确,采用了先进的数显技术,大大地减少了因人为因素所造成的测量误差事件。
数字电压表是把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式,并加以显示的仪表。
数字电压表把电子技术、计算技术、自动化技术的成果与精密电测量技术密切的结合在一起,成为仪器、仪表领域中独立而完整的一个分支,数字电压表标志着电子仪器领域的一场革命,也开创了现代电子测量技术的先河。
本设计采用了以单片机为开发平台,控制系采用AT89C52单片机,A/D转换采用ADC0809。
系统除能确保实现要求的功能外,还可以方便进行8路其它A/D转换量的测量、远程测量结果传送等扩展功能。
简易数字电压测量电路由A/D转换、数据处理、显示控制等组成。
模拟式电压表具有电路简单、成本低、测量方便等特点,但测量精度较差,特别是受表头精度的限制,即使采用0.5级的高灵敏度表头,读测时的分辨力也只能达到半格。
再者,模拟式电压表的输入阻抗不高,测高内阻源时精度明显下降。
单片机数字电压表课程设计报告
单片机数字电压表课程设计报告单片机数字电压表课程设计报告摘要:本次课程设计采用单片机来实现数字电压表的设计,通过对市场上常见单片机的选型和开发工具的使用,实现了数字电压表的硬件和软件设计。
该数字电压表具有分辨率高、测量精度高、响应速度快等特点,可广泛应用于测量高压、低压、直流电压等领域。
关键词:单片机、数字电压表、驱动电路、计数器一、课程设计目的本次课程设计旨在让学生了解数字电压表的设计方法和原理,通过使用单片机来实现数字电压表的设计,提高学生的实践能力和创新能力。
同时,通过本次课程设计,还可以让学生了解单片机的使用方法和开发工具的使用,加深对单片机应用的理解。
二、课程设计内容本次课程设计采用单片机来实现数字电压表的设计,具体包括以下内容:1. 对市场上常见单片机的选型和开发工具的使用。
2. 设计数字电压表的硬件电路,包括驱动电路、计数器、计数器清零电路等。
3. 设计数字电压表的软件电路,包括计数器清零程序、计数器累加程序、显示程序等。
4. 将数字电压表与单片机连接,进行测试和调试。
三、课程设计原理数字电压表的设计原理是利用单片机的计数器来实现对电压值的计数和显示。
单片机通过外部时钟信号来控制计数器的计数频率,将计数器的计数值累加到显示寄存器中,从而实现对电压值的显示。
同时,通过对电压值的测量和计算,可以实现对高压、低压、直流电压的测量和显示。
四、课程设计步骤1. 对市场上常见单片机的选型和开发工具的使用。
2. 设计数字电压表的硬件电路,包括驱动电路、计数器、计数器清零电路等。
3. 设计数字电压表的软件电路,包括计数器清零程序、计数器累加程序、显示程序等。
4. 将数字电压表与单片机连接,进行测试和调试。
五、课程设计成果通过本次课程设计,学生可以独立完成数字电压表的硬件和软件设计,掌握单片机的应用和开发技巧,提高实践能力和创新能力。
同时,学生还可以根据实际应用需求,对数字电压表进行改进和创新,提高其实用性和市场竞争力。
单片机课程设计数字电压表
目录1 引言 (1)2设计原理及要求 (2)2.1数字电压表的实现原理 (2)2.2数字电压表的设计要求 (2)3软件仿真电路设计 (3)3.1设计思路 (3)3.2仿真电路图 (3)3.3设计过程 (3)3.4 AT89C51的功能介绍 (4)3.4.1简单概述 (4)3.4.2主要功能特性 (4)3.4.3 AT89C51的引脚介绍 (5)3.5 ADC0808的引脚及功能介绍 (6)3.5.1芯片概述 (6)3.5.2 引脚简介 (7)3.5.3 ADC0808的转换原理 (7)3.6 74LS373芯片的引脚及功能 (7)3.6.1芯片概述 (7)3.6.2引脚介绍 (8)3.7 LED数码管的控制显示 (8)3.7.1 LED数码管的模型 (8)3.7.2 LED数码管的接口简介 (8)4系统软件程序的设计 (10)4.1 主程序 (10)4.2 A/D转换子程序 (10)4.3 中断显示程序 (11)5电压表的调试及性能分析 (13)5.1 调试与测试 (13)5.2 性能分析 (13)6电路仿真图 (14)7总结 (15)参考文献 (16)附录1 源程序 (17)附录2 仿真原理电路 (23)1 引言随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。
数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。
本章重点介绍单片机A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力理。
单片机课程设计数字电压表设计
目录摘要 (2)1.设计目的与功能要求 (3)1.1设计目的 (3)1.2功能要求 (3)2.总体设计 (3)2.1系统设计 (3)2.2设计方案 (3)2.3总体设计框图 (4)3.硬件电路设计 (5)3.1核心元器件介绍 (5)3.1.1芯片介绍 (5)3.1.2其它部分简介 (11)1.模拟电压输入部分 (11)2.四位八段共阴极数码管 (12)3.报警装置 (13)4.软件设计 (13)4.1 C语言流程图 (13)4.2 C语言程序清单 (15)5.调试仿真 (18)6.设计总结 (20)<参考文献> (21)摘要数字电压表的诞生打破了传统电子测量仪器的模式和格局。
它显示清晰直观、读数准确,采用了先进的数显技术,大大减少了因人为因素所造成的误差事件。
数字电压表是把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式,并加以显示的仪表。
数字电压表把电子技术、计算技术、自动化技术的成果与精密电测量技术密切的结合在一起,成为仪器、仪表领域中独立而完整的一个分支,数字电压表标志着电子仪器领域的一场革命,也开创了现代电子测量技术的先河。
本设计采用了以单片机为开发平台,控制系采用AT89C52单片机,A/D转换采用ADC0808,系统除能保确实现要求的功能以外,还能方便进行8路其他A/D转换量得测量、远程测量结果传送等扩展功能。
简易数字电压测量电路由A/D转换、数据处理、显示控制等组成。
关键词:单片机;AT98C52;A/D转换;ADC0808;数据处理AbstractThe birth of the digital voltmeter broken the traditional electronic surveyinginstrument patterns and structure.It shows clear intuitive, readings accurate, use of advanced digital display technology, greatly reducing the caused by human factors error of events. Digital voltmeter is the continuous analogue (dc input voltage) convert discontinuous, discrete digital form, and to display appearance.The digital voltmeter electronic technology, computing technology, automation technology results with the precision electric measurement technology closely together,become instrument and meter field independent and complete a branch, digital voltmeter electronic instruments field marks a revolution, also started the modern electronic measurement technology precedent. This design USES A USES singlechip development platform, and control department AT89C52 microcontroller, A/D conversion using ADC0808, except that the system realized required functions,but also can facilitate assessment of no.8 other A/D conversion amount must measurement, remote measurement results delivery etc function expansion. Simple digital voltage measurement circuit by the A/D conversion, data processing, display and control etc.Keywords: SCM;AT89C52;A/D conversion;ADC0808;data processing1.设计目的与功能要求1.1 设计目的利用单片机AT89C52及ADC0808制作3位数字电压表,更好地学习掌握单片机AT89C52的工作原理及A/D的转换编程方法。
数字电压表课程设计报告
数字电压表课程设计报告一、实验目的本实验旨在使学生掌握数字电压表的基本原理、构成和使用方法,通过实践锻炼学生的动手操作能力和实际问题解决能力。
二、实验器材数字电压表、直流稳压电源、电阻箱、待测电路板等。
三、实验内容1.数字电压表的基本原理、构成和使用方法的介绍;2.根据实验要求搭建待测电路;3.调节直流稳压电源输出电压为所需值;4.连接数字电压表到待测电路上并测量电压值;5.对测得的电压值进行分析、处理和讨论。
四、实验流程及步骤1.实验器材准备:数字电压表、直流稳压电源、电阻箱、待测电路板等器材;2.理解数字电压表的基本原理与构成,并熟练掌握使用方法;3.根据实验所需,找到相应的电路板,搭建待测电路,并连接好直流稳压电源;4.调节直流稳压电源的输出电压为所需值,并连接数字电压表到待测电路上;5.测量待测电路的电压值,并在数字电压表上进行记录;6.对测得的电压值进行分析、处理和讨论,并得出实验结论。
五、实验注意事项1.在操作实验器材时,务必严格按照使用说明书和教师的要求进行操作;2.实验器材保持完好无损,任何破损的器材均不能使用;3.实验前需仔细了解实验内容,规划实验流程;4.在操作实验时,要认真记录实验数据,并进行及时分析处理;5.实验结束后,将实验器材妥善归位,保持实验室整洁干净。
六、实验结果及结论通过实验,我们得到了待测电路的电压值,并对其进行了分析、处理和讨论。
根据实验结果和所给数据,我们得出了结论:数字电压表可准确测量待测电路的电压值,为后续研究和实践提供重要依据。
七、实验心得体会通过本次实验,我对数字电压表的原理及其使用方法有了更深入的了解,并通过实践掌握了一定的动手操作能力和实际问题解决能力。
同时,我认识到在实验中必须注重细节和注意安全,仔细完成每一个实验步骤,及时记录和分析实验数据,才能使实验结果更加准确和可靠。
单片机课程设计 数字电压表 程序和电路图
功能:电压报警5V直流测量0.02V 误差LCD显示名字程序COM EQU 50H ;指令寄存器DAT EQU 51H ;数据寄存器RS EQU P2.1 ;LCD寄存器选择信号RW EQU P2.2 ;LCD读/写选择信号E EQU P2.3 ;LCD使能信号ORG 0000HLJMP MAIN ;主程序入口地址ORG 000BHLJMP BT0 ;T0中断入口ORG 0030H ;主程序,初始化MAIN:MOV SP,#60HLCALL INTMOV 30H,#30H ;电压整数位MOV 31H,#0A5H ;小数点位MOV 32H,#30H ;小数个位MOV 33H,#30H ;小数十位MOV 34H,#30H ;小数百位MOV 35H,#56H ;字符"V"MOV R7,#30HLCALL STR0 ;显示字符串0LCALL DELAYLCALL STR1 ;显示字符串1LCALL DELAYLCALL N2 ;显示V oltage=0.000V;***********定时器初始化程序***********MOV TMOD,#00H ;定时器T0设为方式0MOV TH0,#00H ;装入定时常数定时100usMOV TL0,#00HSETB TR0 ;启动T0MOV 24H,#08H;装入T0中断次数MOV IE,#82H ;开中断LP:MOV R7,#30H ;显示缓冲区首地址LCALL DISPL YSJMP LP ;循环显示LED1:CLR P3.0RET;********************************************************************;定时器T0中断服务子程序,读取ADC0809第0通道的A/D转换结果并化为显示值* ;********************************************************************BT0:PUSH ACCPUSH PSWMOV PSW,#08HCLR TR0MOV TH0,#00H ;重新装入初值MOV TL0,#00HDEC 24HMOV A,24HJNZ RTN1MOV 24H,#08HLCALL ADCRTN1: SETB TR0POP PSWPOP ACCRETIADC:MOV DPTR,#0F6FFHMOV A,#0 ;选择通道0MOVX @DPTR,A ;启动AD转换MOV A,#40HDJNZ ACC,$MOVX A,@DPTRMOV 22H,AMOV 21H,#0CCHCJNE A,21H,BJ0BJ0:JNC LEDSJMP LL0LL0:SETB P3.0SJMP LLLED:LCALL LED1LL: MOV A,22HMOV B,#05H ;A/D转换结果化为显示值MUL AB ;(AD*5)/256MOV 30H,B ;AD*5的高字节为整数部分MOV B,#0AHMUL AB ;AD*5的低字节为/256的结果,为小数部分MOV 32H,B ;二进制小数换为10进制数MOV B,#0AHMUL ABMOV 33H,BMOV B,#0AHMUL ABMOV 34H,BMOV A,30HMOV DPTR,#TABMOVC A,@A+DPTRMOV 30H,AMOV A,32HMOVC A,@A+DPTRMOV 32H,AMOV A,33HMOVC A,@A+DPTRMOV 33H,AMOV A,34HMOVC A,@A+DPTRMOV 34H,ARETDISPL Y: ;LCD显示子程序MOV COM,#0CAHLCALL PR1MOV DAT,30HLCALL PR2MOV DAT,31HLCALL PR2MOV DAT,32HLCALL PR2MOV DAT,33HLCALL PR2MOV DAT,34HLCALL PR2MOV DAT,35HLCALL PR2RETSTR0:MOV COM,#01HLCALL PR1MOV COM,#06HLCALL PR1MOV COM,#090H ;设置DDRAM地址LCALL PR1 ;调写指令代码子程序MOV DPTR,#TAB4MOV R2,#16MOV R3,#00HWRIN0:MOV A,R3MOVC A,@A+DPTRMOV DAT,ALCALL PR2INC R3DJNZ R2,WRIN0MOV COM,#0D0HLCALL PR1MOV DPTR,#TAB5MOV R2,#16MOV R3,#00HWRIN1:MOV A,R3MOVC A,@A+DPTRMOV DAT,ALCALL PR2INC R3DJNZ R2,WRIN1MOV R3,#10HZUOYI:MOV COM,#18HLCALL PR0DJNZ R3,ZUOYILCALL DELAY00LCALL DELAY00LCALL DELAY00LCALL DELAY00RETRETSTR1:MOV COM,#01H ;LCD清0命令LCALL PR1 ;调写指令代码子程序MOV COM,#06H ;输入方式命令,光标右移LCALL PR1 ;调写指令代码子程序MOV COM,#40HLCALL PR1MOV R5,#20HMOV DPTR,#ZIMOV R4,#0LOOP1:MOV A,R4MOVC A,@A+DPTRMOV DAT,ALCALL PR2INC R4DJNZ R5,LOOP1MOV COM,#80HLCALL PR1MOV DPTR,#TAB2MOV A,#00HMOVC A,@A+DPTR MOV DAT,ALCALL PR2MOV A,#01HMOV DPTR,#TAB2 MOVC A,@A+DPTR MOV DAT,ALCALL PR2MOV A,#02HMOV DPTR,#TAB2 MOVC A,@A+DPTR MOV DAT,ALCALL PR2MOV A,#03HMOV DPTR,#TAB2 MOVC A,@A+DPTR MOV DAT,ALCALL PR2MOV R1,#00HMOV R0,#0dHMOV DPTR,#TAB3 LOOP2:MOV A,R1MOVC A,@A+DPTRMOV DAT,ALCALL PR2INC R1DJNZ R0,LOOP2RETN2: MOV COM,#0C0HLCALL PR1MOV DPTR,#TAB1MOV R2,#10MOV R3,#00HWRIN:MOV A,R3MOVC A,@A+DPTRMOV DAT,ALCALL PR2INC R3DJNZ R2,WRINRETTAB: DB "0123456789"TAB1: DB "VOLTAGE = "TAB2: DB 00HDB 01HDB 02HDB 03HDB 04HDB 05HZI: DB 01FH,008H,00EH,00AH,00AH,00AH,012H,000H DB 00EH,00EH,019H,00EH,01DH,00DH,00FH,000H DB 00FH,01EH,00EH,01DH,01DH,00EH,014H,000H;*****************************************;****LCD间接控制方式下的初始化子程序******;*****************************************INT:LCALL DELAYMOV COM,#38H ;设置工作方式LCALL PR1MOV COM,#01HLCALL PR1MOV COM,#06HLCALL PR1MOV COM,#0EHLCALL PR1RETDELAY: ;延时子程序MOV R6,#0FHMOV R7,#00HDELAY1:NOPDJNZ R7,DELAY1DJNZ R6,DELAY1RETDELAY00: ;延时子程序MOV R6,#0FFHMOV R7,#0FFHDELAY0:NOPDJNZ R7,DELAY1DJNZ R6,DELAY1RET;1 读BF和AC值PR0: PUSH ACCMOV P0,#0FFH ; P0置位, 准备读CLR RS ; RS=0SETB RW ; R/W=1SETB E ; E=1LCALL DELAYMOV COM,P0 ; 读BF和AC6-4值CLR E ; E=0POP ACCRET;********************************************* ;*******LCD间接控制方式下的驱动子程序********* ;********************************************* ;2 写指令代码子程序PR1:PUSH ACCCLR RSSETB RWPR11:MOV P0,#0FFHSETB ELCALL DELAYNOPMOV A,P0CLR EJB ACC.7,PR11CLR RWMOV P0,COMSETB ECLR EPOP ACCRET;3 写显示数据子程序PR2:PUSH ACCCLR RSSETB RWPR21:MOV P0,#0FFHSETB ELCALL DELAYMOV A,P0CLR EJB ACC.7,PR21SETB RSCLR RWMOV P0,DATSETB ECLR EPOP ACCRET;4 读显示数据子程序PR3: PUSH ACCCLR RS ; RS=0SETB RW ; R/W=1PR31: MOV P0,#0FFH ; P0置位, 准备读SETB E ; E=1LCALL DELAYMOV A,P0 ; 读BF和AC6-4值CLR E ; E=0JB ACC.7,PR31SETB RS ; E=1SETB RW ; R/W=1MOV P0,#0FFH ; 读数据SETB E ; E=1MOV DA T,P0CLR E ; E=0POP ACCRETEND。
单片机课设 简易数字电压表
1.总体设计方案选择与说明要实现电压的测量有多种方案,其中两种比较简单的且精度比较高的方法,分别采用并行ADC0808芯片和和TLC1543/TLC2543芯片。
方案一:用ADC0808芯片做模数转换采样芯片,占用的单片机I/O口线多,占用的板子面积较大,但是可以循环采样8路模拟通道,编程相对简单。
方案二:用TLC1543/TLC2543芯片做模数转换采样芯片,占用的单片机I/O口线少,且占用电路面积小,但是编程比较复杂。
我采用方案一,因为方案一所用到的芯片我们都比较熟悉,采用常用的51单片机作为控制芯片,ADC0808芯片的CLOCK脚(时钟脉冲输入端)接单片机的P2.4脚,DATA OUT接单片机的P0.0-P0.7脚;ADD A-ADD C脚(3位地址输入线)接单片机的P1.0-P1.2;ALE脚(地址锁存允许信号)接单片机的P2.5;OE脚(数据输出允许信号)接单片机的P2.7;IN0-INT7接输入电压(及测试电压),ADC0808通过采样进来的数据信号送给单片机,通过计算再送入显示电路将其电压值显示出来。
电压的范围是0-5V。
2.系统结构框图与工作原理2图1.1 系统结构框图 2.2系统工作原理数字电压表工作原理:这里主要是利用ADC0808并行接口芯片,ADC0808芯片的基准电压脚外接电压为+5V ,则最大可以测得的电压为5V ,ADC0808芯片的模拟输入脚通过电位器接+5V 电压,进行模拟采样,通过调整电位器的值改变模拟量。
输入的模拟量经ADC0808芯片的内部8位开关电路逐次逼近A/D 转换器,转换成8位二进制数,其最小的分辨率为0.0196(V R E F =0.0196V),D 为转化的数字量,再通过 255/V V REF IN D ⨯=可以求得模拟电压,最后输入四位LED 显示器就可将所测得电压显示出来。
3.硬件电路设计及说明3.1键盘接口电路独立式键盘:独立式键盘中,每个按键占用一根I/O口线,每个按键电路相对独立。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
University of South China单片机课程设计报告设计课题:基于单片机的数字电压表设计专业班级:电卓103班学生姓名:李文帅指导教师:朱卫华设计时间:2012年1月10日内容摘要电压表是测量仪器中不可缺少的设备,目前广泛应用的是采用专用集成电路实现的数字电压表。
本系统以8051单片机为核心,以逐次逼近式A/D转换器ADC0809、数码管显示器为主体,设计了一款简易的数字电压表,能够测量0~5V的直流电压,最小分辨率为0.02V。
该设计大体分为以下几个部分,同时,各部分选择使用的主要元器件确定如下:1、单片机部分。
使用常见的8051单片机,同时根据需要设计单片机电路。
2、测量部分。
该部分是实验的重点,要求将外部采集的模拟信号转换成数字信号,通过单片机的处理显示在显示器上,该部分决定了数字电压表的精度等主要技术指标。
根据需要本设计采用逐次逼近型A∕D转换器ADC0809进行模数转换。
3、数码管显示部分。
其中一位为整数部分,其余位小数部分。
索引关键词:8051 模数转换数码管显示Contents AbstractThe voltmeter is indispensable in measuring instruments and equipment, is widely used digital voltmeter ASIC implementation. 8051, successive approximation type A / D converter ADC0809 digital tube display as the main design of a simple digital voltmeter capable of measuring 0 to 5V DC voltage, minimum resolution of 0.02V .The design is divided into several parts, each part of the main components selected for use are determined as follows:1, microcontroller part. Using a common 8051, according to the need to design a microcontroller circuit.2, the measurement section. This part is the focus of the experiment, require external acquisition of the analog signal is converted into a digital signal through the microcontroller of the processing and display on the display, the portion determines the main technical indicators such as the precision of the digital voltmeter. According to the needs of the design using successive approximation type A / D converter ADC0809 analog-to-digital conversion.3, the digital display section. One for the integer part, the remaining bits of the fractional part.Index Keywords: 8051 Analog-to-digital Conversion digital display.目录内容摘要 (2)Contents Abstract (3)一概述 (5)1.1概述 (5)二、设计题目及要求 (6)2.1、题目及设计要求 (6)2.2、主要技术指标 (6)三、方案论证及选择 (7)3.1主要设计方框图如下 (7)3.2方案论证: (7)四、电路设计原理 (8)4.1设计原理介绍: (8)4.2、模数转换 (9)4.3、数据处理及控制 (10)五、主要元器件的介绍 (11)5.1、AT89C51单片机简介 (11)5.2、ADC0808模数转换芯片简介 (12)5.3、四位共阴极数码管简介 (13)六、部分电路介绍 (14)6.1、晶振电路 (14)6.2、复位电路 (14)6.3模拟输入电路 (14)6.4、显示电路 (15)6.5总电路如下: (15)6.6仿真结果如下: (16)七、程序设计 (17)八、硬件制作与测试 (21)8.1、主要仪器及使用方法: (21)8.2、硬件制作步骤: (21)九、设计过程中的问题及解决方案 (22)十、心得体会 (23)一、概述1.1概述:数字电压表的基本工作原理是利用A/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来的一种电压表。
较之于一般的模拟电压表,数字电压表具有精度高、测量准确、读数直观、使用方便等优点。
电压表的数字化测量,关键在于如何把随时连续变化的模拟量转化成数字量,完成这种转换的电路叫模数转换器(A/D)。
数字电压表的核心部件就是A/D 转换器,由于各种不同的A/D转换原理构成了各种不同类型的DVM。
一般说来,A/D转换的方式可分为两类:积分式和逐次逼近式。
积分式A/D转换器是先用积分器将输入的模拟电压转换成时间或频率,再将其数字化。
根据转化的中间量不同,它又分为U-T(电压-时间)式和U-F(电压-频率)式两种。
逐次逼近式A/D转换器分为比较式和斜坡电压式,根据不同的工作原理,比较式又分为逐次比较式及零平衡式等。
斜坡电压式又分为线性斜坡式和阶梯斜坡式两种。
在高精度数字电压表中,常采用由积分式和比较式相结合起来的复合式A/D 转换器。
本设计以8051单片机为核心,以逐次比较型A/D转换器ADC0809、数码管显示为主体,构造了一款简易的数字电压表,能够测量1路0~5V直流电压,最小分辨率0.02V。
二、设计题目及要求2.1、题目及设计要求采用51系列单片机和ADC设计一个数字电压表,输入为0~5V线性模拟信号,输出通过数码管显示,要求显示两位小数。
2.2、主要技术指标1、数字芯片A/D转换技术2、单片机控制的数码管显示技术3、单片机的数据处理技术三、方案论证及选择3.1主要设计方框图如下:3.2方案论证:1、主控芯片方案1:选用专用转化芯片INC7107实现电压的测量和实现,用四位数码管显示出最后的转换电压结果。
缺点是精度比较低,内部电压转换和控制部分不可控制。
优点是价格低廉。
方案2:选用单片机AT89C51和A/D转换芯片ADC0809实现电压的转换和控制,用四位数码管显示出最后的转换电压结果。
缺点是价格稍贵;优点是转换京都高,且转换的过程和控制、显示部分可以控制。
基于课程设计的要求,我选用了:方案2。
2、显示部分方案1:选用4个单体的共阴极数码管。
优点是价格比较便宜;缺点是焊接时比较麻烦,容易出错。
方案2:选用一个四联的共阴极数码管,外加四个三极管驱动。
这个电路几乎没有缺点;优点是便于控制,价格低廉,焊接简单。
基于课程设计的要求和美观性,我选用了:方案2。
四、电路设计原理4.1设计原理介绍: 模拟电压经过档位切换到不同的分压电路筛减后,经隔离干扰送到A/D 转换器进行A/D 转换。
然后送到单片机中进行数据处理。
处理后的数据送到LED 中显示。
同时通过串行通讯与上位通信。
硬件电路及软件程序。
而硬件电路又大体可分为A/D 转换电路、数码管显示电路,各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用C 语言编程,利用Keil 和PROTEUS 软件对其编译和仿真。
一般I/O 接口芯片的驱动能力是很有限的,在数码管显示器接口电路中,输出口所能提供的驱动电流一般是不够的尤其是设计中需要用到多位LED ,此时选择数码管显示便有了极大的优点。
本实验采用AT89C51单片机芯片配合ADC0809模/数转换芯片构成一个简易的数字电压表,原理电路如图1所示。
该电路通过ADC0809芯片采样输入口IN0输入的0~5 V 的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道D0~D7传送给AT89C51芯片的P0和P2.1口。
AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过其P1和P2口传送给数码管。
同时它还通过其三位I/O 口产生位选信号,控制数码管的亮灭。
另外,AT89C51还控制着ADC0809的工作。
其P2.4口为ADC0809提供了100KHz 工作的时钟脉冲;P2.3控制ADC0808的地址锁存端(ALE);P2.3控制ADC0809的启动端(START);P2.0控制ADC0809的输出允许端(OE);P2.2控制ADC0809的转换结束信号(EOC)。
4.2、模数转换电路原理图如下所示,三个地址位ADDA,ADDB,ADDC均接低电平,因而所需测量的外部电压可由ADC0809的IN0端口输入。
由于ADC0809在进行A/D转换时需要有CLK信,本设计中利用A T89C51的定时中断产生一个100KHZ的脉冲,由P2.4口送给ADC0809的时钟端,通过软件给其输入一个正脉冲,可立即启动A/D转换。
在软件设计中,由于我们对单片机知识还没能很熟练的掌握,用中断方式较复杂,且这个程序CPU工作量不大,查询方式对速度不会产生影响,所以我们采用查询方式,确保仿真的进度和准确度。
系统原理图在A/D转换开始之前,逐次逼近寄存器的SAR的内容为0,在A/D转换过程中,SAR存放“试探”数字量,在转换完毕后,它的内容即为A/D转换的结果数字量。
逻辑控制与定时电路在START正脉冲启动后工作,没来一个CLK脉冲,该电路就可能告知向SAR中传送一次试探值,对应输出U0与U1比较,确定一次逼近值,经过8次逼近,即可获得最后转换的结果数字量。
此处,EOC端口的信号显示ADC0808的状态,开始A/D转换时,EOC为低电平,转换结束后,输出高电平。
4.3、数据处理及控制A/D转换完毕后,单片机的P2.3口接收到一高电平,立马通过P2.0将OE置1,ADC0809的三态输出锁存器被打开,转换完的数字信号经过与D0~D7相连的P0口进入AT89C51。
AT89C51根据公式1-1将数字信号转换为模拟量,然后利用程序获取模拟量的每一位,分别通过P1口输出到LED上。