数字电压表设计.docx

上传人:b****2 文档编号:2546053 上传时间:2023-05-04 格式:DOCX 页数:20 大小:247.58KB
下载 相关 举报
数字电压表设计.docx_第1页
第1页 / 共20页
数字电压表设计.docx_第2页
第2页 / 共20页
数字电压表设计.docx_第3页
第3页 / 共20页
数字电压表设计.docx_第4页
第4页 / 共20页
数字电压表设计.docx_第5页
第5页 / 共20页
数字电压表设计.docx_第6页
第6页 / 共20页
数字电压表设计.docx_第7页
第7页 / 共20页
数字电压表设计.docx_第8页
第8页 / 共20页
数字电压表设计.docx_第9页
第9页 / 共20页
数字电压表设计.docx_第10页
第10页 / 共20页
数字电压表设计.docx_第11页
第11页 / 共20页
数字电压表设计.docx_第12页
第12页 / 共20页
数字电压表设计.docx_第13页
第13页 / 共20页
数字电压表设计.docx_第14页
第14页 / 共20页
数字电压表设计.docx_第15页
第15页 / 共20页
数字电压表设计.docx_第16页
第16页 / 共20页
数字电压表设计.docx_第17页
第17页 / 共20页
数字电压表设计.docx_第18页
第18页 / 共20页
数字电压表设计.docx_第19页
第19页 / 共20页
数字电压表设计.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数字电压表设计.docx

《数字电压表设计.docx》由会员分享,可在线阅读,更多相关《数字电压表设计.docx(20页珍藏版)》请在冰点文库上搜索。

数字电压表设计.docx

数字电压表设计

单片机系统

课程设计

成绩评定表

设计课题:

数字电压表设计

学院名称:

电气工程学院

****************

设计地点:

31-630

设计时间:

2013-12-16~2012-12-27

指导教师意见:

 

成绩:

签名:

年月日

单片机系统

课程设计

 

课程设计名称:

数字电压表设计

 

********

课程设计地点:

31-630

课程设计时间:

2012-12-16~2012-12-27

 

单片机系统课程设计任务书

学生姓名

专业班级

学号

题目

数字电压表设计

课题性质

工程设计

课题来源

自拟

指导教师

臧海河

主要内容

(参数)

利用89C51设计一个数字电压表,实现以下功能:

1.测量0-5V的直流输入电压值;

2.测量值通过数码管直接显示出来;

任务要求

(进度)

第1-2天:

熟悉课程设计任务及要求,查阅技术资料,确定设计方案。

第3-4天:

按照确定的方案设计单元电路。

要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。

第5-6天:

软件设计,编写程序。

第7-8天:

实验室调试。

第9-10天:

撰写课程设计报告。

要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计正确,篇幅合理。

主要参考

资料

[1]张迎新.单片微型计算机原理、应用及接口技术(第2版)[M].北京:

国防工业出版社,2004

[2]伟福LAB6000系列单片机仿真实验系统使用说明书

[3]阎石.数字电路技术基础(第五版).北京:

高等教育出版社,2006

[4]夏路易石宗义.Protel99se电路原理图与电路板设计教程.北京:

北京希望电子出版社,2004

审查意见

 

系(教研室)主任签字:

年月日

1概述

什么是数字电压表?

数字电压表就是采用数字化技术,把需要测量的直流电压转换成数字形式,并显示出来。

通过单片机技术,设计出来的数字电压表具有精度高,抗干扰能力强的特点。

通过网上资料显示,目前由各种A/D转换器构成的数字电压表已经广泛的应用于电工测量,工业自动化仪表等各个领域。

在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。

而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。

数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。

由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用。

目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面。

本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:

转换模块、数据处理模块及显示模块。

其中,A/D转换采用ADC0808对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号。

2设计总体方案

2.1设计要求

⑴在MCS-51系列单片机的基础上,组成一个直流数字电压表。

⑵采用1路模拟量输入,能够测量0-5V之间的直流电压值。

⑶电压显示用4位一体的LED数码管显示,至少能够显示两位小数。

2.2设计思路

⑴基于AT89C51单片机来设计。

⑵用ADC0808芯片做为A/D转换器,与单片机的接口为P1口和P2口的高四位引脚。

电压的输出显示采用4位一体的LED数码管。

LED数码的段码输入,由并行端口P0产生:

位码输入,用并行端口P2低四位产生。

2.3设计方案

电路由以下六个部分组成;1.A/D转换电路,2.AT89C51单片机系统,3.LED显示系统、4.时钟电路、5.复位电路以及测量电压输入电路。

硬件电路设计框图如图1所示。

3硬件电路设计

3.1A/D转换模块

现实世界的物理量都是模拟量,能把模拟量转化成数字量的器件称为模/数转换器(A/D转换器),A/D转换器是单片机数据采集系统的关键接口电路,按照各种A/D芯片的转化原理可分为逐次逼近型,双重积分型等等。

逼近式A/D转换的转换速度更快,而且精度更高,比如ADC0809、ADC0808等,它们通常具有8路模拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送到单片机进行分析和显示。

逐次逼近型A/D转换器转换速度快,因而在实际中广泛使用[1]。

3.1.1逐次逼近型A/D转换器原理

逐次逼近型A/D转换器是由一个比较器、A/D转换器、存储器及控制电路组成。

它利用内部的寄存器从高位到低位一次开始逐位试探比较。

转换过程如下:

开始时,寄存器各位清零,转换时,先将最高位置1,把数据送入A/D转换器转换,转换结果与输入的模拟量比较,如果转换的模拟量比输入的模拟量小,则1保留,如果转换的模拟量比输入的模拟量大,则1不保留,然后从第二位依次重复上述过程直至最低位,最后寄存器中的内容就是输入模拟量对应的二进制数字量。

其原理框图如图2所示:

3.1.2ADC0808主要特性

ADC0808是CMOS单片型逐次逼近式A/D转换器,带有使能控制端,与微机直接接口,片内带有锁存功能的8路模拟多路开关,可以对8路0-5V输入模拟电压信号分时进行转换.ADC0808主要特性:

8路8位A/D转换器,即分辨率8位;具有锁存控制的8路模拟开关;易与各种微控制器接口;可锁存三态输出,输出与TTL兼容;转换时间:

128μs;转换精度:

0.2%;单个+5V电源供电;模拟输入电压范围0-+5V。

3.1.3ADC0808的外部引脚特征

ADC0808芯片有28条引脚,采用双列直插式封装,其引脚图如图3所示。

图3ADC0808引脚图

下面说明各个引脚功能:

IN0-IN7(8条):

8路模拟量输入线,用于输入和控制被转换的模拟电压。

地址输入控制(4条):

ALE:

地址锁存允许输入线,高电平有效,当ALE为高电平时,为地址输入线,用于选择IN0-IN7上那一条模拟电压送给比较器进行A/D转换。

ADDA,ADDB,ADDC:

3位地址输入线,用于选择8路模拟输入中的一路,其对应关系如表1所示:

表1ADC0808通道选择表

地址码

对应的输入通道

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

START:

START为“启动脉冲”输入法,该线上正脉冲由CPU送来,宽度应大于100ns,上升沿清零SAR,下降沿启动ADC工作。

EOC:

EOC为转换结束输出线,该线上高电平表示A/D转换已结束,数字量已锁入三态输出锁存器。

D1-D8:

数字量输出端,D1为高位。

OE:

OE为输出允许端,高电平能使D1-D8引脚上输出转换后的数字量。

REF+、REF-:

参考电压输入量,给电阻阶梯网络供给标准电压。

Vcc、GND:

Vcc为主电源输入端,GND为接地端,一般REF+与Vcc连接在一起,REF-与GND连接在一起.

CLK:

时钟输入端。

3.1.4ADC0808的内部结构及工作流程

ADC0808由8路模拟通道选择开关,地址锁存与译码器,比较器,8位开关树型A/D转换器,逐次逼近型寄存器,定时和控制电路和三态输出锁存器等组成,其内部结构如图4所示。

图4ADC0808的内部结构

其中:

(1)8路模拟通道选择开关实现从8路输入模拟量中选择一路送给后面的比较器进行比较。

(2)地址锁存与译码器用于当ALE信号有效时,锁存从ADDA、ADDB、ADDC3根地址线上送来的3位地址,译码后产生通道选择信号,从8路模拟通道中选择当前模拟通道。

(3)比较器,8位开关树型A/D转换器,逐次逼近型寄存器,定时和控制电路组成8位A/D转换器,当START信号有效时,就开始对当前通道的模拟信号进行转换,转换完成后,把转换得到的数字量送到8位三态锁存器,同时通过引脚送出转换结束信号。

(4)三态输出锁存器保存当前模拟通道转换得到的数字量,当OE信号有效时,把转换的结果送出。

ADC0808的工作流程为:

(1)输入3位地址,并使ALE=1,将地址存入地址锁存器中,经地址译码器从8路模拟通道中选通1路模拟量送给比较器。

(2)送START一高脉冲,START的上升沿使逐次寄存器复位,下降沿启动A/D转换,并使EOC信号为低电平。

(3)当转换结束时,转换的结果送入到输出三态锁存器中,并使EOC信号回到高电平,通知CPU已转换结束。

(4)当CPU执行一读数据指令时,使OE为高电平,则从输出端D0-D7读出数据。

3.2单片机系统

3.2.1AT89C51性能

ADC0808主要特性:

8路8位A/D转换器,即分辨率8位;具有锁存控制的8路模拟开关;易与各种微控制器接口;可锁存三态输出,输出与TTL兼容;转换时间:

128μs;转换精度:

0.2%;单个+5V电源供电;模拟输入电压范围0-+5V,无需外部零点和满度调整;低功耗,约15mW[6]。

3.2.2AT89C51各引脚功能

AT89C51提供以下标准功能:

4KB的Flash闪速存储器,128B内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路,同时,AT89C51可降至0Hz静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作,掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有工作直到下一个硬件复位。

AT89C51采用PDIP封装形式,引脚配置如图5所示。

图5AT89C51的引脚图

表2P3口各位的第二功能

P3口各位

第二功能

P3.0

RXT(串行口输入)

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(片外数据存储器读允许)

3.3复位电路和时钟电路

3.3.1复位电路设计

单片机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。

MCS-51单片机有一个复位引脚RST,采用施密特触发输入。

当震荡器起振后,只要该引脚上出现2个机器周期以上的高电平即可确保时器件复位。

复位完成后,如果RST端继续保持高电平,MCS-51就一直处于复位状态,只要RST恢复低电平后,单片机才能进入其他工作状态。

单片机的复位方式有上电自动复位和手动复位两种,图6是51系列单片机统常用的上电复位和手动复位组合电路,只要Vcc上升时间不超过1ms,它们都能很好的工作。

图6复位电路

3.3.2时钟电路设计

单片机中CPU每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个时钟脉冲是单片机控制中的时序电路发出的。

CPU执行一条指令的各个微操作所对应时间顺序称为单片机的时序。

MCS-51单片机芯片内部有一个高增益反相放大器,用于构成震荡器,XTAL1为该放大器的输入端,XTAL2为该放大器输出端,但形成时钟电路还需附加其他电路。

本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只需要一个晶振和2个电容即可,如图7所示。

图7时钟电路

电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数,电路中,电容器C1和C2对震荡频率有微调作用,通常的取值范围是30±10pF,在这个系统中选择了33pF;石英晶振选择范围最高可选24MHz,它决定了单片机电路产生的时钟信号震荡频率,在本系统中选择的是12MHz,因而时钟信号的震荡频率为12MHz。

3.4LED显示系统设计

3.4.1LED基本结构

LED是发光二极管显示器的缩写。

LED由于结构简单、价格便宜、与单片机接口方便等优点而得到广泛应用。

LED显示器是由若干个发光二极管组成显示字段的显示器件。

在单片机中使用最多的是七段数码显示器。

LED七段数码显示器由8个发光二极管组成显示字段,其中7个长条形的发光二极管排列成“日”字形,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用,其通过不同的组合可用来显示各种数字。

LED引脚排列如下图8所示:

图8LED的基本结构

3.4.2LED显示器的选择

在本设计中,选择4位一体的数码型LED显示器。

本系统中前一位显示电压的整数位,即个位,后两位显示电压的小数位。

4-LED显示器引脚如图9所示,是一个共阴极接法的4位LED数码显示管,其中a,b,c,e,f,g为4位LED各段的公共输出端,1、2、3、4分别是每一位的位数选端,dp是小数点引出端,4位一体LED数码显示管的内部结构是由4个单独的LED组成,每个LED的段输出引脚在内部都并联后,引出到器件的外部。

图94位LED引脚

对于这种结构的LED显示器,它的体积和结构都符合设计要求,由于4位LED阴极的各段已经在内部连接在一起,所以必须使用动态扫描方式(将所有数码管的段选线并联在一起,用一个I/O接口控制)显示。

3.4.3LED译码方式

译码方式是指由显示字符转换得到对应的字段码的方式,通常的译码方式有硬件译码和软件译码方式两种。

由于本设计采用的是共阴极LED,其对应的字符和字段码如下表3.3所示。

显示字符

共阴极字段码

0

3FH

1

06H

2

5BH

3

4FH

4

66H

5

6DH

6

7DH

7

07H

8

7FH

9

6FH

表3.3共阴极字段码表

3.4.4LED显示器与单片机接口设计

由于单片机的并行口不能直接驱动LED显示器,所以,在一般情况下,必须采用专用的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作。

如果驱动电路能力差,即负载能力不够时,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏,因此,LED显示器的驱动电路设计是一个非常重要的问题。

为了简化数字式直流电压表的电路设计,在LED驱动电路的设计上,可以利用单片机P0口上外接的上拉电阻来实现,即将LED的A-G段显示引脚和DP小数点显示引脚并联到P0口与上拉电阻之间,这样,就可以加大P0口作为输出口德驱动能力,使得LED能按正常的亮度显示数字,如图10所示

图10LED与单片机接口间的设置

3.5总体电路设计

经过以上的设计过程,可设计出基于单片机的简易数字直流电压表硬件电路原理图如图11所示。

图11简易数字电压表电路图

此电路的工作原理是:

+5V模拟电压信号通过变阻器VR1分压后由ADC08008的IN0通道进入(由于使用的IN0通道,所以ADDA,ADDB,ADDC均接低电平),经过模/数转换后,产生相应的数字量经过其输出通道D0-D7传送给AT89C51芯片的P1口,AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码传送给四位LED,同时它还通过其四位I/O口P2.0、P2.1、P2.2、P2.3产生位选信号控制数码管的亮灭。

此外,AT89C51还控制ADC0808的工作。

其中,单片机AT89C51通过定时器中断从P2.4输出方波,接到ADC0808的CLOCK,P2.6发正脉冲启动A/D转换,P2.5检测A/D转换是否完成,转换完成后,P2.7置高从P1口读取转换结果送给LED显示出来]。

简易数字直流电压表的硬件电路已经设计完成,就可以选取相应的芯片和元器件,利用Proteus软件绘制出硬件的原理,并仔细地检查修改,直至形成完善的硬件原理图。

但要真正实现电路对电压的测量和显示的功能,还需要有相应的软件配合,才能达到设计要求。

4程序设计

4.1程序设计总方案

根据模块的划分原则,将该程序划分初始化模块,A/D转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,如图12所示。

图12数字式直流电压表主程序框图

4.2系统子程序设计

4.2.1初始化程序

所谓初始化,是对将要用到的MCS_51系列单片机内部部件或扩展芯片进行初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等[9]。

4.2.2A/D转换子程序

A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元,其转换流程图如图13所示。

图13A/D转换流程图

4.2.3显示子程序

显示子程序采用动态扫描实现四位数码管的数值显示,在采用动态扫描显示方式时,要使得LED显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率,当扫描频率在70HZ左右时,能够产生比较好的显示效果,一般可以采用间隔10ms对LED进行动态扫描一次,每一位LED的显示时间为1ms。

在本设计中,为了简化硬件设计,主要采用软件定时的方式,即用定时器0溢出中断功能实现11μs定时,通过软件延时程序来实现5ms的延时。

4.2.4程序代码

LED_0EQU30H

LED_1EQU31H

LED_2EQU32H

ADCEQU35H

CLOCKBITP2.4

STBITP2.5

EOCBITP2.6

OEBITP2.7

ORG00H

SJMPSTART

ORG0BH

LJMPINT_T0

START:

MOVLED_0,#00H

MOVP2,#0FFH

MOVLED_1,#00H

MOVLED_2,#00H

MOVDPTR,#TABLE

MOVTMOD,#02H

MOVTH0,#245H

MOVTL0,#00H

MOVIE,#82H

SETBTR0

WAIT:

CLRST

SETBSTH

CLRST

JNBEOC,$

SETBOE

MOVADC,P1

CLROE

MOVA,ADC

MOVB,#51

DIVAB

MOVLED_2,A

MOVA,B

MOVB,#5

DIVAB

MOVLED_1,A

MOVLED_0,B

LCALLDISP

SJMPWAIT

INT_T0:

CPL,CLOCK

RETI

DISP:

MOVA,LED_0

MOVCA,@A+DPTR

CLRP2.3

MOVP0,A

LCALLDELAY

SETBP2.3

MOVA,LED_1

MOVCA,@A+DPTR

CLRP2.2

MOVP0,A

LCALLDELAY

SETBP2.2

MOVA,LED_2

MOVCA,@A+DPTRL

CLRP2.1

ORLA,#80H

MOVP0,A

LCALLDELAY

SETBP2.1

RET

DELAY:

MOVR6,#10

D1:

MOVR7,#250

DJNZR7,$

DJNZR6,D1

RET

TABLE:

DB3FH,06H,5BH,4FH,66H

DB6DH,7DH,07H,7FH,6FH

END

5总结

经过一段时间的努力,课程设计基于单片机的简易数字电压表基本完成。

但设计中的不足之处仍然存在。

这次设计是我第一次设计电路。

在这过程中,我对电路设计,单片机的使用等都有了新的认识。

通过这次设计学会了Proteus和Keil软件的使用方法,掌握了从系统的需要、方案的设计、功能模块的划分、原理图的设计和电路图的仿真的设计流程,积累了不少经验。

基于单片机的数字电压表使用性强、结构简单、成本低、外接元件少。

在实际应用工作应能好,测量电压准确,精度高。

系统功能、指标达到了课题的预期要求、系统在硬件设计上充分考虑了可扩展性,经过一定的改造,可以增加功能。

本文设计主要实现了简易数字电压表测量一路电压的功能,详细说明了从原理图的设计、电路图的仿真。

通过本次设计,我对单片机这门课有了进一步的了解。

无论是在硬件连接方面还是在软件编程方面。

本次设计采用了AT89C51单片机芯片,与以往的单片机相比增加了许多新的功能,使其功能更为完善,应用领域也更为广泛。

设计中还用到了模/数转换芯片ADC0808,以前在学单片机课程时只是对其理论知识有了初步的理解。

通过这次设计,对它的工作原理有了更深的理解。

在调试过程中遇到很多问题,硬件上的理论知识学得不够扎实,对电路的仿真方面也不够熟练。

总之这次电路的设计和仿真,基本上达到了设计的功能要求。

在以后的实践中,我将继续努力学习电路设计方面的理论知识,并理论联系实际,争取在电路设计方面能有所提升。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2