基于单片机的数字电压表设计毕业设计论文.docx
- 文档编号:26558998
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:42
- 大小:1.03MB
基于单片机的数字电压表设计毕业设计论文.docx
《基于单片机的数字电压表设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字电压表设计毕业设计论文.docx(42页珍藏版)》请在冰豆网上搜索。
基于单片机的数字电压表设计毕业设计论文
基于单片机的数字电压表设计
设计总说明
本文详细介绍了一种基于单片机的数字电压表设计方案。
该设计方案主要由四个模块组成:
模拟输入模块,A/D转换模块,数据处理模块及显示模块。
模拟输入模块会根据待测电压的大小自动选择不同的转换通道,A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量,然后传送到单片机的数据处理模块。
数据处理则由芯片AT89C51来完成,其负责把ADC0809传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示,此外,它还控制着ADC0809芯片工作。
采用该方案设计的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。
此数字电压表可以测量0-20V的1路模拟直流输入电压值,并通过一个四位一体的七段数码管显示出来,具有量程自动转换功能。
关键字:
单片机;A/D转换;数据处理;量程自动转换
DesignofDigitalVoltageMeter
basedonSingle-chipMicrocomputer
DesignDescription
Thispaperwhichintroducesakindofsimpledigitalvoltmeterisbasedonsingle-chipmicrocontrollerdesign.Thecircuitofthevoltagemeterismainlyconsistedoffourmouldpieces:
Anologinputmouldpiece,Anologinputismainlyconvertautomaticallyselectdifferentchannelsaccordingtothesizeofthetestvoltage.A/Dconvertingmouldpiece,A/DconvertingismainlycompletedbytheADC0809,itconvertsthecollectedanalogdataintothedigitaldataandtransmitstheoutcometothemanifestationcontrollingmouldpiece.DataprocessingismainlycompletedbytheAT89C51chip,itprocessesthedataproducedbytheADC0809chipandgeneratestherightmanifestationcodes,alsotransmitsthecodestothemanifestationcontrollingmouldpiece.Also,theAT89C51chipcontrolstheADC0809chiptowork.
Thevoltmeterfeaturesinsimpleelectricalcircuit,loweruseofelements,lowcost,moreover,itsmeasuringprecisionandreliability.Thevoltmeteriscapableofmeasuringvoltageinputsfrom1routerangingfrom0to20volt,anddisplayingthemeasurementsthoughadigitalcodetubeof7piecesofLED,andithasaautomaticrangeconversionfunction.
Keywords:
Single-chipmicrocontroller;Digitalvoltmeter;A/Dconverter;Automaticconversionrange
1绪论
数字电压表简介
在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。
而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。
数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表精度高、抗干扰能力强,可扩展性强,集成方便,还可与PC进行实时通信。
目前,由各种单片机和A/D转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,显示出强大的生命力。
与此同时,由DVM扩展而成的各种通用及专用数字仪器,仪表,也把电量及非电量测量技术提高到崭新水平。
数字电压表是诸多数字化仪表的核心与基础,电压表的数字化是将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,这有别于传统的从指针加刻度盘进行读数的方法,避免了读数的视差和视觉疲劳。
目前数字电压表的内部核心部件是A/D转换器,转换器的精度很大程度上影响着数字电压表的准确度,本文A/D转换器采用ADC0809对输入模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算和处理,最后驱动输出装置显示数字电压信号[1]。
数字电压表是当前电子、电工、仪器、仪表和测量领域大量使用的一种基本测量工具。
数字电压表的主要技术指标有:
测量范围、输入阻抗、显示位数、测量速度、分辨率。
1)新技术的广泛应用
20世纪90年代初,世界各国相继研发了新的A/D转换技术。
例如:
四斜率A/D转换技术(美国)、余数再循环技术(美国)、自动校准技术(英国)、固态真有效值转换技术(英国)、约瑟夫森效应基准源、智能化专用芯片(80C51系列,荷兰)等,这些新技术使数字电压表向高准确度、高可靠性及智能化、低成本方向发展。
2)智能化、复合型仪表
由CMOS数字IC、模拟IC及微处理器集成在一个超大规模集成电路内,只须外围配置少量元器件,即可构成完整的智能仪表,可以完成存储、计算、比较、控制等多项功能。
实际上数字电压表并不能完全取代指针式电压表,在反映电压的连续变化和变化趋势方面不如指针表直观。
为克服这种缺憾,20世纪90年代初“一种数字/光柱”的双重显示仪表开始出现,并成功地应用于生产实践[2]。
课题意义和目的
数字电压表是诸多数字化仪表的核心与基础。
以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表(如:
温度计,湿度计,酸度计,重量,厚度仪等),几乎覆盖了电子电工测量,工业测量,自动化仪表等各个领域。
除此之外,数字电压还有着传统指针电压表无可比拟的优点:
读数直观、准确,显示范围宽、分辨力高,转入阻抗高,功耗小、抗干扰强等。
因此对数字电压表作全面深入的了解是很有必要的。
但是传统的数字电压表设计通常以大规模ASIC(专用集成电路)为核心器件,并辅以少量中规模集成电路及显示器件构成,可是这种设计方法灵活性差,系统功能固定,难以更新扩展,不能满足日益发展的电子工业要求。
而应用微处理器(单片机)为核心单元的数字电压表,其灵活性高、系统功能扩展简单,性能稳定可靠。
在这些背景下,设计一种以单片机为基础、结构简单、工作可靠、灵活性好的数字电压表是很有意义的。
2基于单片机的数字电压表的整体设计
设计指标
本课题需要以单片机为基础设计出一种能测量0-20V电压的数字电压表,数字电压表分为0-5V和5-20V两档,档位可以根据待测电压的大小自动切换,分辨率达到0.05V。
系统概述
本课题所设计的数字电压表主要包括两部分:
硬件电路及软件程序。
而硬件电路采用AT公司的AT89C51作为主处理器,系统主要由信号采集、A/D转换、数据处理输出、驱动显示等几个功能模块组成,整个硬件电路的软仿真在Proteus环境下完成,各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用C语言编程,利用Keil软件对其编译和仿真,详细的设计算法将会在程序设计部分介绍。
图21数字电压表系统框图
系统框图如下:
图2-1系统框图
被测直流电压先经过量程选择电路选择合适的量程,再由A/D转换单元通过相应的通道采集和量化,接着由单片机对A/D转换的结果进行标度变换,得到被测电压的数值,通过单片机串行数据接口把所得数值输出给显示驱动单元,由该单元完成译码,并驱动数码管显示。
硬件电路图如下:
图22硬件电路图
在电路设计和软件设计中都采用了分模块设计,这种设计方法为以后的调试和维修带来了极大的方便。
特别是在软件设计中,这种方法增强了程序的可移植性,为以后的功能扩展奠定了基础。
3基于单片机数字电压表的硬件设计
器件的选择
单片机AT89C511块
模数转换器ADC08091块
显示驱动74HC2451块
AD转换时钟信号74HC741块
四位一体数码管HS420561K-321块
继电器模块SRD-05VDC-SL-C1块
升压模块
12M晶振1个
30pF电容2个
10uF电解电容1个
按键开关1个
300Ω电阻1个
100Ω电阻3个
200Ω电阻1个
1KΩ电阻1个
10KΩ电阻1个
量程选择电路
量程选择电路是本课题的核心环节,由于ADC0809只能转换0V-5V的电压,要达到对20V待测电压的测量,就必须进行降压,但不能对任何输入电压都降压处理,因为如果待测电压过小,再进行降压处理,最后得到的电压必然精度降低。
因此,将待测信号分为0V-5V,5V-20V两档,0V-5V将直接进入A/D转换进行测量,5V-20V信号通过分压网络进行分压,使其范围落在0V-5V,然后进入A/D转换进行测量。
3.1.1重要元器件介绍
LM393介绍
LM393是双电压比较器集成电路。
主要性能参数:
比较器数:
2
工作电源电压范围宽,单电源、双电源均可工作,单电源:
2~36V,双电源:
±1~±18V;
消耗电流小,ICC=0.8mA;
输入失调电压小,VIO=±2mV;
共模输入电压范围宽,VIC=0~VCC-1.5V;
图31LM393引脚图
其引脚图(内部结构图)如下:
3.1.2量程选择电路
R2和R3对输入信号进行分压,R5、R6和R18产生1.25V的基准源,LM393构成比较器,当正端大于负端输入时将输出高电平(+5V),当正端小于负端输入时将输出低电平(0V);RL1为常闭继电器,NPN三极管组成开关电路,当LM393输出高电平时,三极管导通,电流经R17和三极管流向继电器源绕组从而关断继电器。
通过上述分析,不难得出:
当输入信号小于5V时,电阻R3端电压小于1.25V,LM393输出低电平,三极管截止,继电器导通,信号直接传递至A/D转换器的通道0;当输入信号大于5V而小于20V时,电阻R3端电压大于1.25V,LM393输出高电平,三极管导通,继电器截止,跳转到常开端口,信号经R2和R3分压后,转变为0V-5V信号传递至A/D转换器的通道1。
同时单片机引脚P3.3和ADC0809引脚ADDA变为高电平。
A/D转换电路
3.1.3A/D转换芯片的选择
A/D转换电路是模拟量输入通道中的一个环节,单片机通过A/D转换器把输入模拟量变成数字量再处理。
随着大规模集成电路的发展,目前不同厂家已经生产出了多种型号的A/D转换器,以满足不同应用场合的需要。
如果按照转换原理划分,主要有3种类型,即双积分式A/D转换器、逐次逼近式A/D转换器和并行式A/D转换器。
目前最常用的是双积分和逐次逼近式。
双积分式A/D转换器具有抗干扰能力强、转换精度高、价格便宜等优点,比如ICL71XX系列等,它们通常带有自动校零、七段码输出等功能。
与双积分相比,逐次逼近式A/D转换的转换速度更快,而且精度更高,比如ADC0808、ADC0809等,它们通常具有8路模拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送单片机进行分析和显示[3]。
本设计中,要求精度小于0.5%,则选用分辨率为8位的芯片,如ADC0809,ADC0801,ADC0808就能满足设计要求。
本电路采用ADC0809。
3.1.4重要元器件介绍
(1)ADC0809介绍
ADC0809是一种8位逐次逼近型A/D转换器。
带8个模拟量输入通道,芯片内有通道地址译码锁存器,有输出三态数据锁存器,启动信号为脉冲启动方式,每个通道的转换时间大约为100μs,可以和单片机直接接口[4]。
ADC0809的引脚图和内部逻辑结构如图所示:
图32ADC0809引脚图与内部逻辑结构图
由图3-2(b)可知,ADC0809由一个8路模拟开关,一个地址锁存与译码器、一个8位A/D转换器和一个三态输出锁存器组成。
多路开关可选通8个模拟通道IN0—IN7,允许8路模拟分量输入,共用A/D转换器进行转换。
三态输出锁存器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
主要引脚简介:
1)IN0—IN7:
8条模拟量输入通道。
ADC0809对输入模拟量的要求是信号单极性,电压范围是0—5V,若信号太小,必须进行放大。
输入的模拟量在转换过程中应保持不变,如若模拟信号变化太快,则需在输入前增加采样保持电路。
2)地址输入和控制线:
4条,ALE为地址锁存允许输入线,高电平有效。
当ALE线为高电平时,地址锁存与译码器将A、B、C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转化器进行转换。
A、B、C为地址输入线,用于选通IN0—IN7上的一路模拟量输入。
通道选择如表所示:
表31AD0809通道选择表
地址码
对应输入通道
C
B
A
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
IN0
IN1
IN2
IN3
IN4
IN5
IN6
IN7
3)数字量输出及控制线:
11条。
START为上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换:
在转换期间,START应保持底电平。
EOC为转换结束信号。
当EOC为高电平时,表明转换结束:
否则,表明正在进行A/D转换。
OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。
OE=1,输出转换得到的数据。
OE=0,输出数据线呈高阻状态。
D7—D0为数字量输出线。
4)CLK为时钟输入信号线。
由于ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHz,最大不能超过1280KHz。
5)VREF(+),VREF(-)为参考电压输入,决定了输入模拟量的范围。
一般情况VREF(-)接地,VREF(+)接+5V电源。
ADC0809的工作方式:
首先输入三位地址,并使ALE=1,将地址存入地址锁存器中。
此地址经译码选通1路通道输入到内部的比较器。
START上升沿将逐次逼近寄存器复位。
下降沿启动A/D转换,然后EOC输出信号将为低电平,表明正在进行转换,直到A/D转换完成,EOC变为高电平,结果数据存入锁存器中。
当OE输入高电平时,输出三态门打开,转换结果输出到数据总线上。
(注意:
ALE信号常与START信号连在一起,这样连接可以在信号前沿写入地址信号,在其后沿启动A/D转换)[4]
(2)74HC74介绍
74HC74为带预置和清除端的两组D型触发器,具有四分频作用。
其封装图如下:
图3374HC74引脚图
74HC74分频工作原理:
74HC74是个双D触发器,把其中的一个D触发器的Q非输出端接到D输入端,时钟信号输入端CLOCK接时钟输入信号,这样每来一次CLOCK脉冲,D触发器的状态就会翻转一次,每两次CLOCK脉冲就会使D触发器输出一个完整的正方波,这就实现了2分频。
把同一片74HC74上的两路D触发器串联起来,其中一个D触发器的输出作为另一个D触发器的时钟信号,可以实现4分频。
由于AD转换器的最佳工作频率为10KHz~1280KHz,常用为500KHz,单片机的ALE端输出频率为晶振频率的1/6,为2MHz,因此ADC0809的时钟信号可以通过单片机ALE管脚经74HC74四分频后接入。
3.1.5A/D转换电路
图34A/D转换电路图
ADC0809的ALE和START端由单片机P3.6口控制,转换结束信号EOC由单片机P3.4口控制,使能端OE由单片机P3.7口控制,时钟信号由单片机ALE管脚经过74HC74四分频后接入。
ADDA、IN0和IN1信号由量程选择电路接入。
数据处理模块
数据处理模块主要是通过单片机来完成的。
单片机从A/D转换器接收到的是8位二进制的数字量,但最终通过数码管显示的是0-20V的十进制电压值,因此,必须将得到的0-255的数,进行标度变换,最终输出相应的电压值,送到显示模块。
3.1.6单片机的选择
在众多的51系列单片机中,要属ATMEL公司的AT89C51更实用。
它是由北京集成电路设计中心在MSC-51单片机的基础上精心设计,由美国生产的至今为止世界上最新型的高性能八位单片机。
它不但和8051指令、管脚完全兼容,而且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器用户可以用电的方式瞬间擦除、改写,一般专为ATMELAT89Cx做的编程器均带有这些功能。
显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短[5]。
3.1.7重要元器件介绍
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通道;片内震荡器和掉电模式。
图36AT89C51引脚图
AT89C51芯片为40引脚双列直插式封装,实物图和引脚图如下:
图35AT89C51实物图
主要引脚介绍:
VCC:
电源
GND:
电源地
P0口:
P0口是一组8位漏极开路双向I/O口,也既地址/数据总线复用口。
在本设计中,P0口接收来自ADC0809转换的结果。
P1口:
P1口是一个带内部上拉电阻的8位双向I/O口,在设计中P1口用作LED数码管段码的输出。
P2口:
P2口是一个带有内部上拉电阻的8位双向I/O口,在设计中P2口控制数码管的位选信号。
P3口:
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示:
表3-2P3口第二功能表
端口引脚
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
INT0(外部中断0)
P3.3
INT1(外部中断1)
P3.4
T0(定时/记数器0)
P3.5
T1(定时/记数器1)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器读选通)
在设计中P3口的部分引脚用作ADC0809的控制信号。
P3.0与P3.1口在烧写程序代码时与USBtoTTL相连。
RST:
复位输入。
当振荡器工作时,RET引脚出现两个机器周期以上高电平将使单片机复位。
ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的底8位字节。
即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外部输出时钟或用于定时目的。
本设计中ALE管脚主要给A/D转换器提供时钟信号。
EA:
外部访问允许。
本设计中EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。
XTAL1:
振荡器反相放大器的及内部时钟发生器的输入端。
XTAL2:
振荡器反相放大器的输出端。
3.1.8单片机复位电路设计
单片机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。
MCS-51单片机有一个复位引脚RST,采用施密特触发输入。
当震荡器起振后,只要该引脚上出现2个机器周期以上的高电平即可确保时器件复位。
复位完成后,如果RST端继续保持高电平,MCS-51就一直处于复位状态,只有RST恢复低电平后,单片机才能进入其他工作状态。
单片机的复位方式有上电自动复位和手动复位两种,图3-7是51系列单片机统常用的复位电路[6]。
图37单片机复位电路
3.1.9单片机时钟电路设计
单片机中CPU每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个时钟脉冲是单片机控制中的时序电路发出的。
CPU执行一条指令的各个微操作所对应时间顺序称为单片机的时序。
MCS-51单片机芯片内部有一个高增益反相放大器,用于构成震荡器,XTAL1为该放大器的输入端,XTAL2为该放大器输出端,但形成时钟电路还需附加其他电路。
本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简单,只需要一个晶振和2个电容即可,如图3-8所示。
图38单片机时钟电路
电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数,电路中,电容器C1和C2对震荡频率有微调作用,通常的取值范围是30±10pF,在这个系统中选择了30pF;石英晶振选择范围最高可选24MHz,它决定了单片机电路产生的时钟信号震荡频率,在本系统中选择的是12MHz,因而时钟信号的震荡频率为12MHz。
3.1.10电源电路
电源电路是将220V电压转换成需要的5V电压的装置,需要进行交流电压调理、整流、直流电压调理3个步骤。
交流电压调理是将较高的交流电压变成较低的交流电压的过程。
由于外部交流电压通常为220V,为了得到51单片机需要得电压,需要通过变压器来实现。
整流是将交流电压转化为直流电压的过程,一般使用整流桥来实现。
采用的是在变压器后面连接4个二极管组成一个桥式整流电路,整流后就得到一个电压波动很大的直流电源。
变压器输出端的9V电压经桥式整流并经电容滤波,在电容C1两端大约会有11V多一点的电压,假如从电容两端直接接一个负载,当负载变化或交流电源有少许波动都会使C1两端的电压发生较大幅度的变化,因此要得到一个比较稳定的电压,在这里接一个三端稳压器的元件。
直流电压调理采用的是稳压器。
三端稳压器是一种集成电路元件,内部由一些三极管和电阻等组成,可认为是一个能自动调节电阻的元件,当负载电
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 数字 电压表 设计 毕业设计 论文