基于单片机的数字电压表.docx

上传人:b****9 文档编号:23346490 上传时间:2023-05-16 格式:DOCX 页数:28 大小:229.96KB
下载 相关 举报
基于单片机的数字电压表.docx_第1页
第1页 / 共28页
基于单片机的数字电压表.docx_第2页
第2页 / 共28页
基于单片机的数字电压表.docx_第3页
第3页 / 共28页
基于单片机的数字电压表.docx_第4页
第4页 / 共28页
基于单片机的数字电压表.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

基于单片机的数字电压表.docx

《基于单片机的数字电压表.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字电压表.docx(28页珍藏版)》请在冰豆网上搜索。

基于单片机的数字电压表.docx

基于单片机的数字电压表

1前言1

2总体方案设计2

2.1方案论证2

2.2方案比较及选择3

3硬件电路设计4

3.1AD转换电路4

3.2复位电路4

3.3时钟电路5

3.4显示电路6

3.5特殊器件介绍6

3.5.1主控芯片AT89S516

3.5.2ADC08087

3.5.3LED9

4软件部分设计11

4.1A/D转换子程序11

4.2显示子程序12

5电路仿真13

5.1软件调试13

5.2显示结果及误差分析13

6系统功能17

小结18

参考文献19

附录1基于单片机的数字电压表原理图20

附录2基于单片机的数字电压表程序清单21

1前言

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

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

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

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

传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。

采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。

数字电压表是诸多数字化仪表的核心与基础。

以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。

目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。

最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型。

数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC化),另一方面,精度也从0.01%-0.005%。

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

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

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

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

 

2总体方案设计

2.1方案论证

方案一:

硬件电路设计由6个部分组成;A/D转换电路,AT89S51单片机系统,LED显示系统、时钟电路、复位电路以及测量电压输入电路。

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

2.1数字电压表系统硬件设计框图

方案二:

用ICL713与单片机AT89C52构成电压表系统。

ICL713的串行方式在实践中应用效果很好。

方框图如图2.2。

 

 

图2.2电压表系统框图

2.2方案比较及选择

方案一和方案二在实际应用各有各地特点。

但方案一应用方便,原理易懂,结构简单,器件易购买;方案二中用到ICL713,但不太熟悉。

所以选择方案一。

 

3硬件电路设计

3.1AD转换电路

电路图如图3-1所示。

在选择输入端时,是将A、B、C赋值为低电平,选择IN0作为输入端。

图3—1AD转换原理图

3.2复位电路

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

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

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

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

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

图3-2复位电路

3.3时钟电路

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

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

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

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

图3-3时钟电路原理图

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

3.4显示电路

显示电路是显示测量输入电压的数字。

如图3-4所示。

图3-4显示电路原理图

3.5特殊器件介绍

3.5.1主控芯片AT89S51

单片机AT89S51功能介绍

AT89S51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案,AT89S51芯片引脚图如图3-5所示。

图3-5AT89S51芯片引脚图

3.5.2ADC0808

ADC0808是CMOS单片型逐次逼近式A/D转换器,带有使能控制端,与微机直接接口,片内带有锁存功能的8路模拟多路开关,可以对8路0-5V输入模拟电压信号分时进行转换,由于ADC0808设计时考虑到若干种模/数变换技术的长处,所以该芯片非常适应于过程控制,微控制器输入通道的接口电路,智能仪器和机床控制等领域[5]。

ADC0808主要特性:

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

128μs;转换精度:

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

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

图3-6ADC0808引脚图

下面说明各个引脚功能:

IN0-IN7(8条):

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

地址输入控制(4条):

ALE:

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

ADDA,ADDB,ADDC:

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

 

表3-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.5.3LED

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

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

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

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

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

LED引脚排列如下图3-7所示:

图3-7LED引脚排列

在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此就生产了位数,尺寸,型号不同的LED显示器供选择,在本设计中,选择8位一体的数码型LED显示器,简称“8-LED”。

如图3-8所示。

图3-8LED显示器

 

4软件部分设计

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

图4-1数字式直流电压表主程序框图

4.1A/D转换子程序

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

图4-2A/D转换流程图

4.2显示子程序

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

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

5电路仿真

5.1软件调试

软件调试的主要任务是排查错误,错误主要包括逻辑和功能错误,这些错误有些是显性的,而有些是隐形的,可以通过仿真开发系统发现逐步改正。

Proteus软件可以对基于微控制器的设计连同所有的周围电子器件一起仿真,用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。

Proteus支持的微处理芯片包括8051系列、AVR系列、PIC系列、HC11系列及Z80等等。

Proteus可以完成单片机系统原理图电路绘制、PCB设计,更为显著点的特点是可以与uVisions3IDE工具软件结合进行编程仿真调试[8]。

本系统的调试主要以软件为主,其中,系统电路图的绘制和仿真我采用的是Proteus软件,而程序方面,采用的是汇编语言,用Keil软件将程序写入单片机。

5.2显示结果及误差分析

1.当IN0口输入电压值为0V时,显示结果如图5-1所示,测量误差为0V。

图5-1输入电压为0V时,LED的显示结果

2.当IN0输入电压值为1.50V时,显示结果如图5-2所示。

测量误差为0.01V。

图5-2输入电压为1.50V时,LED的显示结果

3.当IN0口输入电压值为3.50V时,显示结果如图5-3。

测量误差为0.01V。

图5-3输入电压为3.50V时,LED的显示结果

通过以上仿真测量结果可得到简易数字电压表与“标准”数字电压表对比测试表,如下表5-1所示:

表5-1简易数字电压表与“标准”数字电压表对比测试表

标准电压值/V

简易电压表测量值/V

绝对误差/V

0.00

0.00

0.00

0.50

0.51

0.01

1.00

1.00

0.00

1.50

1.51

0.01

2.00

2.00

0.00

2.50

2.50

0.00

3.00

3.00

0.00

3.50

3.50

0.00

4.00

4.00

0.00

4.99

5.00

0.01

由于单片机AT89C51为8位处理器,当输入电压为5.00V时,ADC0808输出数据值为255(FFH),因此单片机最高的数值分辨率为0.0196V(5/255)。

这就决定了电压表的最高分辨率只能到0.0196V,从上表可看到,测试电压一般以0.01V的幅度变化。

从上表可以看出,简易数字电压表测得的值基本上比标准电压值偏大0-0.01V,这可以通过校正ADC0808的基准电压来解决。

因为该电压表设计时直接用5V的供电电源作为电压,所以电压可能有偏差。

当要测量大于5V的电压时,可在输入口使用分压电阻,而程序中只要将计算程序的除数进行调整就可以了。

6系统功能

本次设计是利用单片机AT89S51与ADC0808设计一个数字电压表,能够测量0到5V的直流电压值,四位数码管显示。

小结

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

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

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

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

通过本次课程设计,加深对所学知识的理解,提高对课外知识的学习能力,增强知识的应用能力,提高解决实际问题的能力,培养自我创新意识。

积累实践经验,为以后的发展打下基础,也为以后我们自己在这方面的发展打下基础,并能够在这方面培养自己的兴趣。

通过这次课程设计,无论从选题到定稿,从理论到实践都使我学到了很多东西,它不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

同时也明白了理论与实践相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

 

参考文献

[1]潘新民、王燕芳.微型计算计控制技术[第二版].电子工业出版社,2010

[2]皮大能、南光群、刘金华.单片机课程设计指导书.北京理工大学出版社,2010

[3]陈连坤.单片机原理及接口技术.北京交通大学出版社,2010

[4]邹久朋.80C51单片机实用技术.北京航空大学出版社,2008

[5]江志红.51单片机技术与应用系统开发.清华大学出版社.,2008

[6]楼苗然,李光飞.单片机课程设计指导.北京航空航天大学出版社,2007

[7]李广弟.单片机基础.北京航空航天大学出版社,2007年5月

[8]蔡朝洋.单片机控制实习与专题制作.北京航空航天大学出版社,2006

[9]李学海.标准8051单片机基础教程.北京航空航天大学出版,2006

[10]何立民.单片机高级教程.北京航空航天大学出版社,2006

[11]周立功.单片机实验与实践教程.北京航空航天大学出版社,2006

[12]康华光.电子技术基础[第五版]。

高等教育出版社,2006

[13]谢维成、杨加国.单片机原理与应用及C51程序设计实例.电子工业出版社,2006年

[14]王毓银.数字电路逻辑设计.高等教育出版社,2005年

[15]胡.单片机原理及接口技术.北京:

机械工业出版社,2004

 

附录1基于单片机的数字电压表原理图

 

附录2基于单片机的数字电压表程序清单

#include

unsignedcharcodedispbitcode[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

unsignedcharcodeLEDcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};

unsignedchardispbuf[8]={10,10,10,10,10,0,0,0};

unsignedchardispcount;

unsignedintuiResult;

sbitSTART=P3^1;

sbitOE=P3^0;

sbitEOC=P3^2;

sbitCLK=P3^3;

voiddelay2ms();

//=======================================

voidDisplay()//显示函数

{for(dispcount=5;dispcount<8;dispcount++)

{P2=0xff;

P0=LEDcode[dispbuf[dispcount]];

P2=dispbitcode[dispcount];

if(dispcount==5)

{P0=P0|0x80;}

delay2ms();

P2=0xff;

}

}

//==========================

voidmain(void)

{START=0;//启动ADC0808

P2=0xff;

OE=0;

TMOD=0x02;

TH0=216;

TL0=216;

ET0=1;

EA=1;

TR0=1;

while

(1)

{START=0;

START=1;

P0=0XFF;

EOC=1;

while(EOC==0);

OE=1;

uiResult=P0;//读ADC0808转换结果

OE=0;

uiResult=(100*uiResult)/51;

dispbuf[5]=uiResult/100;

dispbuf[6]=(uiResult/10)%10;

dispbuf[7]=uiResult%10;

Display();//调显示处理

}

}

voidt0(void)interrupt1using0

{CLK=~CLK;}

//=========================

voiddelay2ms(void)//延时程序

{unsignedchari,j;

for(i=4;i>0;i--)

for(j=248;j>0;j--);

}

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:

所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:

     日 期:

     

指导教师签名:

     日  期:

     

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:

按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:

     日 期:

     

学位论文原创性声明

本人郑重声明:

所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:

日期:

年月日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权    大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:

日期:

年月日

导师签名:

日期:

年月日

指导教师评阅书

指导教师评价:

一、撰写(设计)过程

1、学生在论文(设计)过程中的治学态度、工作精神

□优□良□中□及格□不及格

2、学生掌握专业知识、技能的扎实程度

□优□良□中□及格□不及格

3、学生综合运用所学知识和专业技能分析和解决问题的能力

□优□良□中□及格□不及格

4、研究方法的科学性;技术线路的可行性;设计方案的合理性

□优□良□中□及格□不及格

5、完成毕业论文(设计)期间的出勤情况

□优□良□中□及格□不及格

二、论文(设计)质量

1、论文(设计)的整体结构是否符合撰写规范?

□优□良□中□及格□不及格

2、是否完成指定的论文(设计)任务(包括装订及附件)?

□优□良□中□及格□不及格

三、论文(设计)水平

1、论文(设计)的理论意义或对解决实际问题的指导意义

□优□良□中□及格□不及格

2、论文的观念是否有新意?

设计是否有创意?

□优□良□中□及格□不及格

3、论文(设计说明书)所体现的整体水平

□优□良□中□及格□不及格

建议成绩:

□优□良□中□及格□不及格

(在所选等级前的□内画“√”)

指导教师:

(签名)单位:

(盖章)

年月日

评阅教师评阅书

评阅教师评价:

一、论文(设计)质量

1、论文(设计)的整体结构是否符合撰写规范?

□优□良□中□及格□不及格

2、是否完成指定的论文(设计)任务(包括装订及附件)?

□优□良□中□及格□不及格

二、论文(设计)水平

1、论文(设计)的理论意义或对解决实际问题的指导意义

□优□良□中□及格□不及格

2、论文的观念是否有新意?

设计是否有创意?

□优□良□中□及格□不及格

3、论文(设计说明书)所体现的整体水平

□优□良□中□及格□不及格

建议成绩:

□优□良□中□及格□不及格

(在所选等级前的□内画“√”)

评阅教师:

(签名)单位:

(盖章)

年月日

 

教研室(或答辩小组)及教学系意见

教研室(或答辩小组)评价:

一、答辩过程

1、毕业论文(设计)的基本要点和见解的叙述情况

□优□良□中□及格□不及格

2、对答辩问题的反应、理解、表达情况

□优□良□中□及格□不及格

3、学生答辩过程中的精神状态

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1