简易数字电压表.docx

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

简易数字电压表.docx

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

简易数字电压表.docx

简易数字电压表

目 录

摘 要1

第1章 设计方案2

第2章 硬件设计3

2.1 单片机最小系统3

2.2 A/D转换电路4

2.3 LED显示电路6

2.4 电压输入电路6

第3章 软件设计7

3.1 主程序设计8

3.2 A/D转换程序设计9

第4章 系统仿真调试9

4.1 仿真测试的内容及方法9

4.2仿真测试的结果及功能实现情况10

结 论12

致 谢13

参考文献14

附录1 总体电路原理图15

附录2 程序代码16

摘 要

本设计主要研究的是以AT89C51单片机为核心的电压测量系统,该系统能够在单片机的控制下完成对电压信号采集,能够根据采样值进行量程自动转换,并且测量结果可通过四个数码管显示出来。

整个系统的设计完成了硬件电路的设计及软件程序的编写,通过最终硬件电路的调试及软件程序的仿真,使该系统能够在要求的条件下达到正常的测量及显示功能。

在整个系统的设计过程中,主要采用了模块化的设计方

法。

关键词 单片机;A/D转换器;LED数码管

第1章 设计方案

基于单片机的简易数字电压表的硬件设计框图如图1-1所示,由单片机最小系统(AT89C51单片机、时钟电路、复位电路)、A/D转换、电压输入、LED显示电路组成。

电压输入

图1-1 数字电压表系统设计方案框图

各模块的主要功能如下:

单片机最小系统:

包括单片机、时钟电路(给单片机提供工作的时间脉冲信号)、复位电路。

A/D转换:

A/D转换主要是将采集到的模拟信号转化成数字信号。

电压输入:

通过调节滑动变阻器使其将模拟电压信号传输到A/D转换电路中。

LED显示:

用于显示测得的电压值。

工作原理:

系统采用12M晶振产生脉冲做AT89C51的内部时钟信号,通过软件设置单片机的内部定时器T0产生中断信号,利用中断设置单片机的P3.0口取反产生脉冲做ADC0808的时钟信号。

首先通过调节滑动变阻器输入模拟电压信号,将该路电压送入ADC0808相应通道,单片机软件设置ADC0808开始A/D转换,转换结束ADC0808的EOC端口产生高电平,同时将ADC0808的OE端口置为高电平,单片机将转换后结果存如片内RAM。

系统调出计算子程序,将保存结果转化为0.00-5.00V分别保存在片内RAM;系统调用显示子程序,将转化后数据查表,输出到LED显示电路,将相应电压显示出来。

第2章 硬件设计

2.1 单片机最小系统

单片机最小系统以AT89C51单片机为核心,由单片机、时钟电路、复位电路等组成,如图2-1所示。

图2-1 单片机最小系统

时钟电路是由两个30PF的电容、一个12M的晶体震荡器组成。

他们接在接口XTAL1、XTAL2上。

晶振电路的功能是为了给系统提供一个稳定的时间脉冲信号。

复位电路有两种形式:

手动按键复位和上电复位,在本系统中采用的是手动按键复位。

如图2-1所示,由R2组成上电复位电路。

图中,P0口用作显示电路输出端;P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7分别接显示电路的接口。

2.2 A/D转换电路

2.2.1 ADC0808(ADC0809)引脚功能

图2-2 ADC0808引脚功能

IN0~IN7:

8路模拟量输入。

A、B、C:

3位地址输入,2个地址输入端的不同组合选择八路模拟量输入。

ALE:

地址锁存启动信号,在ALE的上升沿,将A、B、C上的通道地址锁存到内部的地址锁存器。

OUT0~OUT7:

八位数据输出线,A/D转换结果由这8根线传送给单片机。

OE:

输出允许控制端,用以打开三态数据输出锁存器。

当OE=1时,即为高电平,允许输出锁存器输出数据。

VCC:

工作电压。

GND:

地。

REF(+):

参考电压正端。

REF(-):

参考电压负端

START:

A/D转换启动信号输入端,START为正脉冲,其上升沿清除ADC0808的内部的各寄存器,其下降沿启动A/D开始转换。

EOC:

转换完成信号,开始转换时为低电平,当EOC上升为高电平时,表明内部A/D转换已完成。

2.2.2 ADC0808(ADC0809)内部结构图

图2-3 ADC0808(ADC0809)内部结构

ADC0808的组成第一部分是8路输入模拟量选择电路,8路输入模拟信号分别接到IN0~IN7,究竟选择哪一路去进行A/D转换由地址锁存与译码电路控制。

A、B、C为输入地址选择线,地址信息由ALE得上升沿锁存到地址锁存器。

多路模拟开关可选通8路模拟量通道,允许8路模拟量分时输入,并共用一个A/D转换器进行转换。

第二部分是8位逐次比较式A/D转换器。

A/D转换器有控制与时序电路,逐次逼近式寄存器、树状开关以及256个电阻阶梯网络等组成。

三部分是三态输出缓冲锁存器,用于存放和输出转换得到的数字量。

2.2.3 A/D转换电路设计

集成模数转换芯片ADC0809实现的A/D转换电路如图2-4所示被测信号由ADC0808模拟输入端输入,完成A/D转换后送入单片机,经相应处理后送出显示。

具体连接如下图2-4所示。

图2-4 ADC0808与单片机的连接

2.3 LED显示电路

LED显示器又称数码管,八段LED显示器由8个发光二极管组成。

其中7个发光二极管构成字型“8”的各个笔画段,另一个小数点为dp发光二极管。

LED显示器有两种不同的形式:

一种是发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是发光二极管的阴极都连在一起的,称之为共阴极LED显示器。

本设计采用的是共阴极接法。

如图2-5所示。

   

显示器的灯的点亮由单片机的P0口来控制

图2-5 LED显示电路

2.4 电压输入电路

通过调节滑动变阻器,使其产生不同的模拟电压信号。

传输到ADC0808将模拟电压信号转化成数字电压信号。

通过单片机传输到LED显示器显示出来。

如图2-6所示。

图2-6 电压输入电路

第3章 软件设计

根据需要,可将系统软件按照功能划分为4个模块,分别是主程序模块、A/D转换模块、LED显示模块、中断服务程序模块(改变显示的小数点位置),各模块的功能关系如图3-1所示。

编写系统软件时,可首先编写各模块的底层驱动程序,而后是系统联机调试,编写上层主程序。

图3-1 系统软件框图

3.1 主程序设计

主程序主要负责各个模块的初始化工作:

设制定时器、寄存器的初值,启动A/D转换,读取转换结果,处理量程转换响应,控制LED实时显示等其流程图如图3-2所示。

图3-2 主程序流程图

3.2 A/D转换程序设计

A/D转换程序的功能是采集数据,在整个系统设计中占有很高的地位。

当系统设置好后,单片机扫描转换结束管脚P2.6的输入电平状态,当输入为高电平则转换完成,将转换的数值转换并显示输出。

若输入为低电平,则继续扫描。

程序流程图如图3-3所示。

图3-3 A/D转换程序流程图

第4章 系统仿真调试

4.1 仿真测试的内容及方法

仿真测试的目的是简易数字电压表能正常显示、是否将模拟电压转换为数字电压、能否实现0-5V电压表的测试等功能。

仿真测试时,首先在Proteus中绘制如图4-1所示的仿真原理图。

由1K的滑动变阻器进行电压变化的模拟,首先通过调节滑动变阻器输入模拟电压信号,将该路电压送入ADC0808相应通道,单片机软件设置ADC0808开始A/D转换,转换结束ADC0808的EOC端口产生高电平,同时将ADC0808的OE端口置为高电平,单片机将转换后结果存如片内RAM。

系统调出计算子程序,将保存结果转化为0.00-5.00V分别保存在片内

RAM;系统调用显示子程序,将转化后数据查表,输出到LED显示电路,将相应电压显示出来。

图4-1 基于Proteus的仿真原理图

然后,按照表4-1所示内容进行测试。

表4-1 简易数字电压表的仿真测试内容及方法

测试内容

任务要求的功能

测试方法

模拟电压转换为数字电压功能

模拟电压转换为数字电压

调节滑动变阻器,A/D转换将模拟电压转换为数字电压可测量0-5V

测量0-5V直流电压功能

能够测量出0-5V的直流电压

调节滑动变阻器,当调到最大值时为0V,当调到最小值时为5V

显示被测电压数值功能

显示被测电压数值

通过调节滑动变阻器观测LED显示电路的数值。

4.2仿真测试的结果及功能实现情况

调试结果如表4-2所示。

表4-2 仿真测试的结果及功能实现情况

测试内容

测试结果

设计功能实现情况

模拟电压转换为数字电压功能

能够将模拟电压转换为数字电压。

完成任务要求的设计功能

测量0-5V直流电压功能

当调节滑动变阻器,LED显示出0-5V数字电压值。

完成任务要求的设计功能

显示被测电压数值功能

显示出了被测电压的数值。

完成任务要求的设计功能

经过仿真测试,本设计实现了任务要求的功能。

结 论

这次毕业设计让我更加熟悉了从理论到实践的跨越。

从当初的查阅图书,到现在的仿真成功运行,这中间有很多值得回味的地方。

人们总是对刚接触的事情记忆犹新,我也不例外。

我本以为我学好了这门编程语言就拥有了全世界,可是随着视野的不断开阔,课程的不断更新,我慢慢了解了懂得一门语言真的是冰山一角,在计算机的世界里,只要你有兴趣,总会有太多的新奇吸引着你。

班级同学的进度变化太快,让我一时之间很难接受,而且学的知识偏重硬件,我又不太感兴趣,没有学会什么就荒废了很多时间,倒是对健康知识了解了不少,也算是慰藉一下自己空虚的心灵吧。

这次的设计,从选题到实现,几乎都是自己独立完成的。

整个过程中,从需求分析到设计、编码、测试,我都力求规范化和文档化,努力让自己以前学的知识运用到本设计中,尽量保证整个系统的开发进度和质量,顺利完成这次的毕业设计,为自己的大学生涯画上一个完美的句号。

虽说这些都会消耗系统开发的时间,但在老师、同学以及自己的不断努力下,不怕麻烦,不怕重复,当克服了这些问题之后,我会感觉到自己的知识在一点一滴地积累,不知不觉中增加。

虽然很多错误被克服了,但是系统中难免还有很多不足之处,希望各位评委老师和同学给予指正与建议。

我会在日后的开发中深入学习,加深研究,我会争取把本系统应用到实际工作中,使之产生商业价值。

电子技术发展日新月异,我会在以后的研发中加入新技术,使之更趋完善,总之本次毕业设计是我的电子研发之路的良好开端。

我会以此为契机,在以后的电子开发工作中取得更好的成绩。

致 谢

在这两个多月的毕业设计中,我真诚地感谢吴老师和同学们的帮助,在他们的帮助下我顺利的完成了此次毕业设计。

首先我要衷心地感谢我的辅导老师吴老师,在本次设计过程中他始终给予了我无私的热情和帮助。

他细心指导我的选题工作,在做开题报告的过程中,又反复而耐心地给我指出问题的所在,并帮助我纠正了许多不妥之处。

在做系统设计这一过程中,也给我提出了许多意见和建议,并交给我许多解决问题的技巧和方法。

在写毕业设计论文的过程中,我也遇到了许多的困难,之所以能坚持完成,这都离不开我的导师和同学们的帮助。

通过短暂的毕业设计,从而提高了我的理论水平,真正做到学有所用,虽然在其过程中我也遇到一些困难,但是从中我也得到了很多的帮助,没有半途而废,没有灰心丧气,在老师的严格指导下,发现问题并加以改正,这些都是一种收获。

这次能顺利按时完成毕业设计,我非常感谢给予指导的各位老师,特别感谢我的指导老师,是你的耐心指导和讲解,使我能够顺利的完成毕业设计。

在我的设计工作中无不倾注着吴老师辛勤的汗水和心血。

老师的严谨治学态度、渊博的知识、无私的奉献精神使我深受启迪。

从尊敬的导师身上,我不仅学到了扎实、宽广的专业知识,也学到了做人的道理。

在此我要向我的导师说声“吴老师您辛苦了!

”最后我致以最衷心的感谢和深深的敬意。

参考文献

[1] 贾正松.数字电子技术基础.北京理工大学出版社,2009

[2] 周国运.单片机原理及应用(C语言版).中国水利水电出版社,2009

[3] 林志琦.单片机原理接口及应用(C语言版).中国水利水电出版社,2007

[4] 梁宗善.电子技术基础课程设计.华中科技大学出版社,2009

[5] 李光飞.单片机课程设计实例指导.北京航空航天大学出版社,2005

附录1 总体电路原理图

附录2 程序代码

EOCBITP3.2

STBITP3.1

OEBITP3.3

CLOCKBITP3.0

ORG0000H

LJMPMAIN

ORG000BH

LJMPINT_T0

MAIN:

CLRP3.7

CLRP3.6

CLRP3.5

LCALLKAISHI

LCALLMAIN0

LJMPMAIN

ljmp$

 

KAISHI:

MOVSP,#60H

MOVDPTR,#TAB

MOVTMOD,#02H//定时器T0模式二

MOVTH0,#254

MOVTL0,#00H

MOVIE,#82H//开启定时器T0

SETBTR0

MAIN0:

MOVR3,#100

CLRST

SETBST

CLRST

JNBEOC,$//判断A/D是否转换完

SETBOE

MOVR4,P1//采样到的数据

CLROE

MOVA,R4

MOVB,#50

DIVAB

MOVR2,A//个位

MOVA,#2

MULAB

MOVB,#10

DIVAB

MOVR1,A//十分位

MOVR0,B//百分位

LCALLDISP

RET

INT_T0:

CPLCLOCK

RETI

DISP:

MOVA,R0

MOVCA,@A+DPTR

MOVP2,#0f7H

MOVP0,A

LCALLDELAY

MOVA,R1

MOVCA,@A+DPTR

MOVP2,#0fbH

MOVP0,A

LCALLDELAY

MOVA,R2

MOVCA,@A+DPTR

MOVP2,#0fdH

ADDA,#80H

MOVP0,A

LCALLDELAY

DJNZR3,DISP

RET

DELAY:

MOVR6,#10

D1:

MOVR7,#25

DJNZR7,$

DJNZR6,D1

RET

TAB:

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

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

END

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

当前位置:首页 > 经管营销 > 经济市场

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

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