“基于单片机的数字电压表设计”开题报告
- 格式:doc
- 大小:54.00 KB
- 文档页数:5
单片机原理及系统课程设计专业:电气工程及其自动化班级:姓名:学号:指导教师:兰州交通大学自动化与电气工程学院2010 年 3 月 7 日基于单片机的数字电压表设计摘要显示电路输入电路图2.2系统组成框图3.硬件设计3.1系统硬件设计原理通过变量设置选择八路通道中的第三路,将该路模拟电压送入ADC0808相应通道,单片机软件设置ADC0808开始A/D转换,转换结束ADC0808的EOC 端口产生高电平,同时将ADC0808的OE端口置为高电平,单片机将ADC0809转换后的数字量存到片内RAM。
系统调出数据处理子程序,将测量结果转化为0.00~5.00V,最后通过查表将每一位数据输出到LED显示电路,将相应电压显示出来,程序进入下一个循环。
单片机的P0.0~P0.7作为4位动态数码显示管的段显示控制。
P2.1~P2.3作为4位动态显示管的位显示控制。
3.2硬件设计原理图在Proteus仿真环境下所搭建的系统硬件电路图如图3.2所示。
图3.2系统原理图图4.2 程序流程图(a)主程序流程图(b)AD转换流程图5.系统调试及仿真结果6.总结两周的课程设计结束了,在这过程中,我学到了很多东西。
首先,我学会了单片机设计的基本过程有哪些,每一过程有哪些基本的步骤,怎样通过查资料去完成这每一步。
其次我巩固了上学期所学的一些单片机知识,从而加深了对ADC0809芯片的功能的了解。
在编程过程中,遇到了许多困难,通过与同学之间的交流和咨询,最后解决了这些困难。
所谓实践出真知,学到的东西只有运用到实践当中,才能真正体会到知识的力量。
最后,通过这次课程设计,让我明白了想法和实践还是有差距的,当你真正去做一件事的时候,你会发现你的想法可能不适用,随时都需要调整,另外扎实的理论知识也是完成设计任何设计必不可少的要素,一切想法离开了理论知识都是空想。
参考文献[1]彭为,黄科,雷道仲.单片机典型系统设计实例精讲[M].电子工业出版社.2009:22-54.[2] 谭浩强.C程序设计(第三版)[M].清华大学出版社.2009:32-46.[3] 王思明,张金敏,张鑫等.单片机原理及应用系统设计(第一版)[M].科学出版社.2012:70-292.附录A源程序代码#include<reg52.h>#include<intrins.h>#define uchar unsigned charsbit p21=P2^1;sbit p22=P2^2;sbit p23=P2^3;sbit EOC=P3^1;sbit OE=P3^0;sbit ST=P3^2;sbit p34=P3^4;sbit p35=P3^5;sbit p36=P3^6;uchar code tab[]={0x40,0x79,0x24,0x30,0x19,0x12};uchar code led[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; uchar code led_[]={0xC0,0xf9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; void delay(uchar n){uchar i,j;for(i=0;i<n;i++)for(j=0;j<125;j++);}void convert(uchar volt_data){unsigned int temp;temp=100*volt_data/51;P0=led[temp/100]; //个位上的数字显示p21=1; //选通个位delay(3); //延时p21=0; //不选通个位P0=led_[temp%100/10]; // 十分位的数字显示p22=1; //选通十分位delay(3); //延时p22=0; //不选通十分位P0=led_[temp%10]; //百分位的数字显示p23=1; //选通百分位delay(3); //延时p23=0; //不选通百分位}void main(){uchar volt_data;p34=1;p35=1;p36=0; //选通ADC0808的IN3通道while(1){ST=0;_nop_();ST=1;_nop_();ST=0; //开始转换if(EOC==0) //如果EOC为0,则继续转换delay(100);while(EOC==0); //当EOC为1时,转换完毕OE=1; //数据允许输出标志volt_data=P1; //讲P1口的数据送volt_dataOE=0;convert(volt_data);}}。
数字电压表单片机课程设计报告班级:姓名:学号:指导教师: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. 软件开发:使用适当的编程语言和开发工具,编写单片机的程序代码,实现电压的采集、处理和显示功能。
3. 测试和验证:对设计的电路板和程序进行测试和验证,确保其功能和性能达到预期要求。
四、研究内容本研究的主要内容包括以下几个方面:1. 单片机选择:根据实际需求和性能要求,选择合适的单片机芯片,并对其进行详细的介绍和比较。
2. 电路设计:根据电压测量的原理和要求,设计相应的电路板,包括电源电路、信号采集电路和显示电路等。
3. 程序开发:使用适当的编程语言和开发工具,编写单片机的程序代码,实现电压的采集、处理和显示功能。
4. 功能测试:对设计的电路板和程序进行测试,验证其功能和性能是否达到预期要求。
5. 实际应用:将设计好的单片机数字电压表应用于实际场景中,检验其在实际使用中的可行性和实用性。
五、预期成果通过本研究,预期可以实现以下几个方面的成果:1. 设计和开发一个基于单片机的数字电压表,能够准确测量电压并以数字形式显示。
2. 确定合适的单片机芯片,并对其进行详细的介绍和比较,为后续研究提供参考。
3. 设计和实现相应的电路板,包括电源电路、信号采集电路和显示电路等,为电压测量提供可靠的硬件支持。
目录第1章引言 (1)1.1设计要求 (1)1.2 设计思路 (2)1.3 设计方案 (2)第2章硬件电路设计 (1)2.1 A/D转换模块 (1)2.2 单片机系统 (5)2.3 复位电路和时钟电路 (7)2.4 LED显示系统设计 (8)2.5 总体电路设计 (10)第3章程序设计 (1)3.1 程序设计总方案 (1)3.2 系统子程序设计 (1)第4章仿真与调试 (1)4.1 软件调试 (1)4.2 显示结果及误差分析 (1)结论 (1)参考文献 (1)致谢 (1)附录:程序代码 (1)第1章引言在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。
而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。
数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。
由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用。
传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。
采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。
数字电压表是诸多数字化仪表的核心与基础[2]。
以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。
目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。
最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型。
数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC 化),另一方面,精度也从0.01%-0.005%。
开题报告基于单片机的数字电压表的设计研究现状电压表指固定安装在电力、电信、电子设备面板上使用的仪表,用来测量交、直流电路中的电压。
传统的指针式电压表功能单一、精准度低,不能满足数字化时代的需求,并且传统的电压表在测量电压时需要手动切换量程,不仅不方便,而且要求不超过该量程。
目前,由各种单片A/D转换器构成的数字电压表,已经被广泛用于电子及电工测量领域,并且由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量技术提高到崭新水平。
选题意义数字电压表是诸多数字化仪表的核心与基础,电压表的数字化是将连续的模拟信量如直流电压转换成不连续的离散的数字形式并加以显示,具有清晰直观,读数准确、扩展功能强等特点,这有别与传统的指针加刻度盘进行读数的方法,避免了读数的视觉差和视觉疲劳。
随着微机测量与控制技术的发展,以单片机为核心的电压表已占有很大的优势,设计主要是研制二路输入直流数字电压表,以单片机AT89C51为核心部件,具有实时显示测量值的功能,单片机体积小、重量轻、价格便宜,电路外围器件少,大大降低了成本。
研究方法硬件设计方面采用AT89C51单片机,A/D转换器采用ADC0809对输入模拟信号进行转换,最后在LED屏显示出来。
软件部分主要有:主程序:在A/D模块启动子程序中,主要根据A/D转换模块的时序图设置单片机的各引脚电平来启动ADC0809。
判断部分主要是通过A/D转换模拟采集到的电压值与档位值进行比较来选择数字电压表的档位,再通过档位处理子程序对A/D转换模块换后的电压值进行处理,然后在数码显示器上显示出来。
LED送显子程序:LED送显子程序主要完成4个LED数码显示器的动态显示功能,显示字型通过查表方式实现。
在显示过程中调用了延时子程序DELAY,使数码显示器能够稳定显示。
自动切换测量程序:档位自动切换子程序的软件设计主要对A/D转换模块转换得到数据和该档位的数据进行比较进行档位的选择,再通过计算将十六进制数转换为十进制数,存储在50H~53H四个单元中,然后再通过调用送显子程序将其显示在数码显示器上显示出来。
电子线路硬件课程设计开题报告课题:数字电压表设计班级:作者:学号:指导老师:摘要数字电压表是利用模拟/数字变换器原理,以十进制数字形式显示被测电压值的仪表,用途十分广泛。
本次课程设计计划用单片机实现。
以单片机芯片AT89C51为核心,在芯片上拓展AD转换、显示部分,然后外接一个衰减电路完成整个数字电压表设计。
目标测量量程0-200V,分为4档:200mV、2V、20V、和200V,分辨率0.1mV,测量误差 < 0.1%。
关键字:数字电压表; AT89C51单片机AbstractA digital voltmeter is an instrument displaying the voltage in decimal system, which is based on simulation to digit. It’s widely used. The design is planned to be finished by using a one-chip computer named AT89C51. An analog to digital converter, a display section, and a voltage attenuation are attached to the chip and they make up the design. The measuring range is 0 to 200 volt. It’s divided into four gears as 200 millivolt, 2 volt, 20volt, and 200volt. The voltage resolution of the voltmeter is 0.1 millivolt and it’s measuring error is less than 0.1 percent.key words: digital voltmeter, one-chip computer, AT89C51一、项目设计目标(1) 项目综合描述本项目要求设计并实现一个数字电压表的装置,该装置能够对0~200V 范围的直流电压进行测量。
单片机课程设课题名称:数字电压表课程原理: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. 引言单片机(Microcontroller)是一种集成了微处理器核心、存储器和各种输入输出接口的微型计算机系统。
它广泛应用于嵌入式系统开发中。
本文将介绍如何使用单片机制作一个数字电压表。
2. 设计思路2.1 硬件选择为了制作数字电压表,我们需要选择合适的硬件组件。
以下是选用的组件列表:- 单片机:选择一款功能强大、易于编程的单片机,如Arduino Uno。
- 模数转换器(ADC):用于将模拟电压信号转换为数字信号的芯片。
- 显示器:选择一个合适的数字显示器,如7段LED显示器。
2.2 连接电路将选定的硬件组件按照电路图连接起来。
首先,将输入电压接入ADC引脚,然后将ADC输出连接到单片机的输入引脚。
最后,将单片机的输出引脚连接到显示器。
2.3 编程使用合适的编程语言(如C语言)编写单片机的程序。
程序的主要功能包括读取ADC的输入值,并将其转换为对应的电压值,然后将该值显示在数字显示器上。
3. 实施步骤3.1 搭建电路按照2.2节提供的电路图连接硬件组件。
确保连接正确并稳定。
3.2 编写程序使用Arduino IDE或其他适用的开发工具,编写程序。
程序的主要功能包括以下步骤: - 配置单片机的引脚和ADC模块。
- 循环读取ADC的数值。
- 根据ADC的数值计算电压值。
- 将计算得到的电压值显示在数字显示器上。
3.3 调试和测试上传程序到单片机,并通过串口监视器或其他方式查看输出结果。
确保程序能够正常读取和显示电压值。
4. 总结本文介绍了如何使用单片机制作一个数字电压表。
通过选择合适的硬件组件,搭建电路并编写相应的程序,我们可以实现将模拟电压信号转换为数字信号,并在数字显示器上显示对应的电压值。
这个数字电压表可以在实验室、工程项目等领域中发挥重要作用。
希望本文能为有兴趣制作数字电压表的读者提供一些指导和帮助。
接下来,我们将深入研究硬件和软件细节,并进行更详细的说明和实验。