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

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

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

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

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

基于单片机的数字电压表设计

学号20xxxxxxxx

 

《单片机原理与应用》

课程设计

(2010级本科)

 

题目:

基于单片机的简易数字电压表的设计

系(部)院:

物理与机电工程学院

专业:

电气工程及其自动化

作者:

xxxx

指导教师:

xxxxx职称:

xxxxxxx

完成日期:

2013年12月15日

单片机原理与应用课程设计任务书

学生

xxxx

学号

20xxx

专业方向

电气工程及其自动化

班级

电气工程101

题目名称

基于单片机的简易数字电压表的设计

一、设计要求

(1)以单片机为核心器件,组成一个简单的直流数字电压表。

(2)能够测量0-5V之间的直流电压值。

(3)电压显示至少能够显示两位小数。

三.设计进度安排

阶段

设计各阶段名称

起止日期

1

熟悉设计任务书、设计题目及设计背景资料

12月1日——12月2日

2

查阅有关资料

12月3日——12月4日

3

阅读设计要求必读的参考资料

12月5日——12月6日

4

选取方案

12月7日——12月8日

5

完成设计,进行编程,调试

12月9日——12月12日

6

打印整理课程设计资料

12月13日——12月14日

7

答辩及成绩评定

12月15日——12月16日

指导老师签字:

基于单片机的简易数字电压表的设计

摘要本文介绍了一种基于单片机的简易数字电压表的设计。

该设计主要由三个模块组成:

A/D转换模块,数据处理模块及显示模块。

A/D转换主要由芯片ADC0808来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。

数据处理则由芯片AT89C51来完成,其负责把ADC0808传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0808芯片工作。

该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。

此数字电压表可以测量0-5V的1路模拟直流输入电压值,并通过一个四位一体的7段数码管显示出来。

关键词单片机;数字电压表;A/D转换;AT89C51;ADC0808

一、引言1

二、设计总体方案1

(一)设计要求1

(二)设计思路1

(三)设计方案2

三、硬件电路设计2

(一)A/D转换模块2

(二)单片机系统4

(三)复位电路和时钟电路5

(四)LED显示系统设计5

(五)总体电路设计6

四、程序设计8

(一)程序设计方案8

(二)部分程序代码9

五、仿真9

(一)显示结果及误差分析9

六、结论10

七、参考文献12

附录13

一、引言

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

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

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

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

数字电压表的部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度。

本文是以简易数字直流电压表的设计为研究容,采用单片机将连续的直流电压转换成不连续的离散的数字形式并加以显示,本系统主要包括:

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

其中,A/D转换采用ADC0808芯片,单片机芯片采用AT89C51,显示模块采用四个LED数码管。

二、设计总体方案

(一)设计要求

(1)以单片机为核心器件,组成一个简单的直流数字电压表。

(2)能够测量0-5V之间的直流电压值。

(3)电压显示至少能够显示两位小数。

(二)设计思路

(1)根据设计要求,选择AT89C51单片机为核心控制器件。

(2)A/D转换采用ADC0808实现,数据端口与单片机的P2口相连,控制引脚和P3口的低四位引脚。

(3)电压显示采用4位一体的LED数码管。

(4)LED数码的段码输入与P1口连接。

位码输入,用P3口高四位控制。

(三)设计方案

硬件电路设计由4个部分组成;A/D转换电路,AT89C51单片机系统,LED显示系统以及测量电压输入电路。

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

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

三、硬件电路设计

(一)A/D转换模块

把模拟量转化成数字量的器件称为模/数转换器(A/D转换器),A/D转换器是单片机数据采集系统的关键接口电路,常用的A/D转换器有:

双积分式、逐位比较式及并行直接比较式等几种。

本设计采用ADC0808芯片。

ADC0808是采用CMOS工艺制成的8位8通道A/D转换器,采用28脚DIP封装。

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

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

图2ADC0808引脚图

下面说明各个引脚功能:

IN0-IN7(8条):

8路模拟量输入线,用于输入被转换的模拟信号。

ALE:

地址锁存允许信号,输入。

由低到高的正跳变有效,此时锁存地址选择线的状态,从而选通相应的模拟通道,以便进行A/D转换。

ADDA,ADDB,ADDC:

模拟通道的地址选择线,输入。

其对应关系如表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:

启动信号,输入,高电平有效。

为了启动转换,在此端上应加一个正脉冲信号,脉冲的上升沿将部寄存器全部清0,在其下降沿开始转换。

EOC:

转换结束信号,输出,高电平有效。

在START信号的上升沿之后0-8个时钟周期,EOC变为低电平。

当转换结束时,EOC变为高电平,这时转换得到的数据可供读出。

OUT1-OUT8:

数字输出线,输出。

OUT1为最高位,OUT8为最低位。

OE:

输出允许信号,输入,高电平有效。

当OE有效时,A/D的输出锁存缓冲器开放,将其中的数据,放到外面的数据线上。

VREF+、VREF-:

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

Vcc、GND:

Vcc为电源输入端,GND为接地端。

(二)单片机系统

AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片含有4KB的可反复擦写的程序存储器和128字节的数据存储器。

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

图3AT89C51的引脚图

Vcc为+5V电源线,Vss接地。

ALE:

地址锁存允许信号。

EA:

片外存储器访问允许信号,低电平有效。

PSEN:

片外程序存储器选通信号,低电平有效。

RST:

复位输入信号,高电平有效。

XTAL1和XTAL2:

这两个端子用来接外部石英晶体。

(三)复位电路和时钟电路

80C51单片机部带有时钟电路,因此,只需要在片外通过XTAL1和XTAL2引脚接入定时控制元件(晶体振荡器和电容),即可构成一个稳定的自激振荡器。

在80C51芯片部有一个高增益反相放大器,而在芯片外部,XTAL1和XTAL2之间跨接晶体振荡器和电容。

图4单片机最小系统图

在本系统中选择的时钟信号的震荡频率为12MHz。

上述复位电路,上电自动复位,按键电平复位。

使单片机从0000H单元开始执行程序。

(四)LED显示系统设计

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

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

4-LED显示器引脚如图5所示,是一个共阴极接法的4位LED数码显示管,其中A,B,C,D,E,F,G为4位LED各段的公共输出端,1、2、3、4分别是每一位的位数选端,DP是小数点引出端,4位一体LED数码显示管的部结构是由4个单独的LED组成,每个LED的段输出引脚在部都并联后,引出到器件的外部。

图54位LED数码显示管

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

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

表2共阴极字段码表

显示字符

共阴极字段码

0

3FH

1

06H

2

5BH

3

4FH

4

66H

5

6DH

6

7DH

7

07H

8

7FH

9

6FH

(五)总体电路设计

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

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

此电路的工作原理是:

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

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

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

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

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

四、程序设计

(一)程序设计方案

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

图7主程序流程图

图8定时中断程序流程图

(二)部分程序代码

……

ORG000BH

LJMPINTT0

MAIN:

MOVTMOD,#02H;设定定时器T0工作在方式2

MOVTH0,#254;设定时钟频率为500KHz

MOVTL0,#254

MOVIE,#82H;开定时器T0中断

SETBTR0;启动定时器T0

……

INTT0:

CPLP3.3

RETI

……

五、仿真

(一)显示结果及误差分析

系统仿真是在单片机系统的设计与仿真平台proteus中实现的,其中ADC0808的模拟通道INT0接入可调电位器的中心抽条的分压值,该电压值大小可调节,以模拟被测电压,系统的测试数据如表3所示,从表中的测试结果可以看出,电压测量值和待测电压值几乎相等,误差较小,测量精度高,性能稳定,但文中仿真结果是在比较理想的情况下进行的,搭建实际的硬件电路时,若误差较大,可以通过校正ADC0808的基准电压来解决,也可以通过软件编程进行调整。

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

标准电压值/V

简易电压表测量值/V

绝对误差/V

0.00

0.000

0.000

0.10

0.097

0.003

0.25

0.254

0.004

0.50

0.507

0.007

1.35

1.352

0.002

1.55

1.547

0.003

2.10

2.097

0.003

2.85

2.847

0.003

3.35

3.352

0.002

4.25

4.254

0.004

4.30

4.293

0.007

4.45

4.450

0.000

5.00

5.000

0.000

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

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

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

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

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

六、结论

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

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

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

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

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

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

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

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

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

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

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

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

七、参考文献

[1]胡健.单片机原理及接口技术.:

机械工业,2004年10月

[2]于殿泓、王新年.单片机原理与程序设计实验教程.电子科技大学,2007年5月

[3]俊谟.单片机中级教程—原理与应用.第2版.航空航天大学,2006年

[4]边春远.MCS-51单片机应用开发实用子程序[M].:

人民邮电.2005年9月.

附录

ORG0000H

LJMPMAIN

ORG000BH

LJMPINTT0

MAIN:

MOVTMOD,#02H;定时器T0工作在方式2

MOVTH0,#254;设定时钟频率为500KHz

MOVTL0,#254

MOVIE,#82H;开定时器T0中断

SETBTR0;启动定时器T0

MOVDPTR,#TAB

START:

SETBP3.0;start信号从高电平跳变到低电平时,开始转换

NOP

CLRP3.0

JNBP3.1,$;查看EOC是否跳变到0,表示转换完毕

SETBP3.2;OE端置1,将转换结果送出去

MOVA,P2;结果送到累加器A,准备数据显示调整

LCALLLOOP1;数据调整

SJMPSTART

LOOP1:

MOVB,#51D;255换算到5V,比例为51

DIVAB

MOVCA,A+DPTR;查表

SETBP3.7;关闭数码管通道4

CLRP3.4;打开数码管通道1

MOVP1,A;整数部分

SETBP1.7;小数点

MOVA,B;余数送到A

CLRF0

SUBBA,#26D;减去26,判断余数是否大于26

MOVF0,C;借位位送F0

MOVA,#10D;A中送10

MULAB;余数乘以10

MOVB,#51D

DIVAB

JBF0,LOOP2;借位了,说明大于26

ADDA,#5D

LOOP2:

MOVCA,A+DPTR

SETBP3.4;关闭数码管显示通道1

CLRP3.5;打开数码管显示通道2

CLRP1.7;清小数点

MOVP1,A;小数点后第一位小数

MOVA,B

CLRF0

SUBBA,#26D

MOVF0,C

MOVA,#10D

MULAB

MOVB,#51D

DIVAB

JBF0,LOOP3

ADDA,#5

LOOP3:

MOVCA,A+DPTR

SETBP3.5;关闭数码管显示通道2

CLRP3.6;打开数码管显示通道3

MOVP1,A;小数点后第二位小数

MOVA,B

CLRF0

SUBBA,#26D

MOVF0,C

MOVA,#10D

MULAB

MOVB,#51D

DIVAB

JBF0,LOOP4

ADDA,#5

LOOP4:

MOVCA,A+DPTR

SETBP3.6;关闭数码管显示通道3

CLRP3.7;打开数码管显示通道4

MOVP1,A;小数点后第三位小数

RET

TAB:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H

INTT0:

CPLP3.3

RETI

END

单片机课程设计成绩评定表

辛维彬

学号

2010210350

班级

电气工程101

题目

基于单片机的简易数字电压表的设计

摘要:

本文介绍了一种基于单片机的简易数字电压表的设计。

该设计主要由三个模块组成:

A/D转换模块,数据处理模块及显示模块。

A/D转换主要由芯片ADC0808来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。

数据处理则由芯片AT89C51来完成,其负责把ADC0808传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0808芯片工作。

该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。

此数字电压表可以测量0-5V的1路模拟直流输入电压值,并通过一个四位一体的7段数码管显示出来。

成绩评定依据

评定项目

1.设计方案可行性及其优选

2.设计过程及结果

3.平时成绩(态度认真、遵守纪律)

4.设计报告的规性、参考文献充分

5.答辩

6.总分

该同学课程设计最终成绩评定为(优、良、中、及格、不及格)

备注:

 

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

当前位置:首页 > 人文社科 > 视频讲堂

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

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