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

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

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

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

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

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

第一部分设计任务与调研…………………………………………………………2

1、毕业设计的主要任务…………………………………………………………………2

2、设计的思路和方法……………………………………………………………………2

3、与课题相关的资料……………………………………………………………………3

4、调研的目的和总结……………………………………………………………………4

第二部分设计说明……………………………………………………………………5

1、核心芯片简介…………………………………………………………………………5

2、单片机系统……………………………………………………………………………9

3、复位电路和外部晶振时钟电路………………………………………………11

4、LED显示系统设计…………………………………………………………………12

5、电源设计………………………………………………………………………………13

第三部分设计成果…………………………………………………………………14

1、仿真图及调试结果………………………………………………………………14

2、程序代码……………………………………………………………………………15

第四部分结束语……………………………………………………………………17

第五部分致谢…………………………………………………………………………18

第六部分参考文献…………………………………………………………………19

第一部分设计任务与调研

1、毕业设计的主要任务

本次毕业设计是利用单片机设计一个数字电压表,要求电压表能测量0—5V之间的直流电压值,测量结果用四位共阴极LED数码显示,能显示电压值的小数点后两位,当电压超出量程时报警电路报警。

要求使用元器件最少。

软件用C语言编写,硬件可用实验箱或Protues仿真软件实现完整的功能演示。

(1).设计单片机最小系统(包括复位按钮、晶振电路等)。

(2).采用51单片机进行控制,显示采用共阴极四位一体LED数码管,设计硬件电路,绘制实现本设计内容的硬件电路原理图和系统的组成框图。

(3).给出ADC0809的功能说明与使用方法。

(4).编写本课程设计内容的软件设计,包含程序流程图和对程序注释。

(5).用Keil仿真调试源程序。

(6).在Proteus仿真系统上搭建设计平台。

(7).撰写毕业设计报告。

2、设计的思路和方法

文献检索、图书馆借阅、手册查询、C语言编程、单片机实训室程序调试;深入了解51单片机和ADC0809的功能和使用方法、绘制实现本设计内容的硬件电路原理图和系统的组成框图、编写程序流程图和对程序的注释、用Keil仿真调试源程序、在Proteus仿真系统上搭建设计平台。

利用单片机系统与模数转换芯片AD0809、显示模块等的结合构建数字电压表。

由于单片机的发展已经成熟,利用单片机系统的软硬件结合,可以组装出许多的应用电路来。

此方案的原理是模数(A/D)转换芯片的基准电压端,被测量电压输入端分别输入基准电压和被测电压。

模数(A/D)转换芯片将被测量电压输入端所采集到的模拟电压信号转换成相应的数字信号,然后通过对单片机系统进行软件编程,使单片机系统能按规定的时序来采集这些数字信号,通过一定的算法计算出被测量电压的值。

最后单片机系统将计算好了的被测电压值按一定的时序送入显示电路模块加以显示。

基本原理如下图1-1所示。

图1-1

3、与课题相关的资料

数字电压表(简写为DVM)就是在精密电测量技术、计算技术、自动化技术和电子技术的基础上产生和发展起来的。

数字式仪表是能把连续的被测量自动地变成断续的、用数字编码方式的、并以十进制数字自动显示测量结果的一种测量仪表。

这是一种新型仪表,它把电子技术、计算技术、自动化技术的成果与精密电测量技术密切的结合在一起。

成为仪器、仪表领域中独立而完整的一个分支。

数字电压表是通用仪器中使用较广泛的一种测试仪器,很多电量或非电量经变化后都用可数字电压表完成测试。

因此,数字电压表被广泛地应用于科研和生产测试中。

本文将介绍一种以单片机为核心的电压测量仪表,它能够测量电压量,能够自动进行量程选择,并且测量结果能够通过数码管显示,从而具有一定的智能性。

数字电压表的功能:

数字电压表以其功能齐全、精度高、灵敏度高、显示直观等突出优点深受用户欢迎。

特别是以A/D转换器为代表的集成电路为支柱,使DVM向着多功能化、小型化、智能化方向发展。

DVM应用单片机控制,智能仪表与计算机接口,组成自动测试系统。

目前,DVM多为组成多功能式的,因此又称数字多用表。

4、调研的目的和总结

调研的目的:

单片机作为计算机技术的一个分支,广泛的应用于工业控制,智能仪器仪表,机电一体化产品,家用电器等各个领域。

单片微型计算机从此诞生到现在从体积到功能不断得到完善。

现在已形成以8051经典机型为代表的一系列机型,各个领域发挥着重要作用。

初学单片机,不仅要了解8051的原理还要对当今世界各大生产厂家所生产的单片机做一定的了解,为以后的学习打下基础。

总结:

通过对此次单片机生产厂家的调研,我初步了解了世界各大单片机生产厂家及它们各自生产的单片机的主要特点和应用领域。

单片机是一门实用性强发展快的技术,在国民生产的多个领域有着重要用途,单片机技术是作为一名测控专业学生必不可少的本领。

在以后的学习中我一定努力学习在实践中掌握51单片机的应用原理为以后的学习工作打下良好基础。

第二部分设计说明

1、核心芯片简介

1.1ADC0809芯片

ADC0809的引脚及功能

逐次比较型A/D转换器在精度、速度、和价格上都适中,是最常用的A/D转换器件。

芯片采用的是ADC0809,以下介绍ADC0809的引脚及功能。

芯片如图2-1所示。

图2-1ADC0809的引脚

ADC0809是一种逐次比较式8路模拟输入、8位数字量输出的A/D转换器。

由图可见,ADC0809共有28个引脚,采用双列直插式封装。

主要引脚功能如下:

⑴IN0-IN7是8路模拟信号输入端。

⑵D0-D7是8位数字量输入端。

⑶A、B、C与ALE控制8路模拟通道的切换,A、B、C分别与3根地址线或数据线相连,3位编码对应8个通道地址端口。

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

下面说明各引脚功能。

IN0~IN7:

8路模拟量输入端。

2-1~2-8:

8位数字量输出端。

ADDA、ADDB、ADDC:

3位地址输入线,用于选通8路模拟输入中的一路

ALE:

地址锁存允许信号,输入,高电平有效。

START:

A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。

EOC:

A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。

OE:

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

当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。

CLK:

时钟脉冲输入端。

要求时钟频率不高于640KHZ。

REF(+)、REF(-):

基准电压。

Vcc:

电源,单一+5V。

GND:

地。

首先输入3位地址,并使ALE=1,将地址存入地址存储器中。

此地址经译码选通8路模拟输入之一到比较器。

START上升沿将逐次逼近寄存器复位。

下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。

直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。

当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。

转换数据的传送A/D转换后得到的数据应及时传送给单片机进行处理。

数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。

为此可采用下述三种方式。

(1)定时传送方式

对于一种A/D转换器来说,转换时间作为一项技术指标是已知的和固定的。

例如ADC0809转换时间为128μs,相当于6MHz的MCS-51单片机共64个机器周期。

可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。

(2)查询方式

A/D转换芯片有表明转换完成的状态信号,例如ADC0809的EOC端。

因此可以用查询方式,测试EOC的状态,即可确认转换是否完成,并接着进行数据传送。

(3)中断方式

把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。

不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。

首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。

需要注意的是:

ADC0809虽然有8路模拟通道可以同时输入8路模拟信号,但每个瞬间只能换1路,共用一个A/D转换器进行转换,各路之间的切换由软件改变C、A、B引脚上的代码来实现。

地址锁存与译码电路完成对A、B、C3个地址位进行锁存和译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连,图2-2为通道选择表。

图2-2通道选择表

⑷OE、START、CLK为控制信号端,OE为输出允许端,START为启动信号输入端,CLK为时钟信号输入端。

⑸VR(+)和VR(-)为参考电压输入端。

1.1.1ADC0809的结构及转换原理

ADC0809的结构框图如图2-3。

ADC0809采用逐次比较的方法完成A/D转换的,由单一的+5V电源供电。

片内有锁存功能的8路选1的模拟开关,由C、B、A引脚的功能来决定所选的通道。

0809完成一次转换需100μs左右,输出具有TTL三态锁存缓冲器,可直接连接到MCS-51的数据总线上。

通过适当的外接电路,0809可对0-5V的模拟信号进行转换。

 

图2-3ADC0809内部结构图

1.1.2ADC0809连线图

ADC0809与单片机的连线图如图2-4:

图2-4ADC0809连线图

2、单片机系统

2.1AT89C51性能

与MCS-51产品指令系统完全兼容;4K可编程闪速存储器;寿命:

1000次写/擦循环;数据保留时间;10年;全静态工作:

0-24MHz;三级程序存储器锁定;128*8B内部RAM;32个可编程I/O线口;2个16位定时器;5个中断电源;可编程串行UART通道;片内震荡器和掉电模式。

2.1.1AT89C51各引脚功能

AT89C51提供以下标准功能:

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

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

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

图2-5AT89C51引脚图

P3口各位的第二功能如下表2-1

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

P3口各位的第二功能表2-1

3、A/D转换模块

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

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

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

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

逐次逼近型A/D转换器由电压比较器、D/A转换器、数码寄存器及逻辑控制电路组成。

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

转换过程如下:

开始时,寄存器各位清零,转换时,先将数码寄存器最高位置1,其余各位置0。

把数据送入D/A转换器转换,转换结果与输入的模拟量比较,如果转换的模拟量比输入的模拟量小,则最高位的1保留,如果转换的模拟量比输入的模拟量大,则最高位的1不保留,然后将数码寄存器的次高位置1,低位还是0。

重复上述过程直至最低位置1,最后寄存器中的数码就是输入模拟量对应的二进制数字量。

其原理框图如图2-6所示:

顺序脉冲发生器

逐次逼近寄存器

输出数字量

DAC

电压比较器

输入电压

 

图2-6

4、复位电路和外部晶振时钟电路

4.1复位电路

MCS-51的复位输入引脚RST为MCS-51提供了初始化的手段,可以使程序从指定处开始执行,在MCS-51的时钟电路工作后,只要RST引脚上出现超过两个机器周期以上的高电平时,即可产生复位的操作,只要RST保持高电平,则MCS-51循环复位,只有单RET由高电平变成低电平以后,MCS-51才从0000H地址开始执行程序,本系统采用按键复位方式的复位电路,如图2-7。

图2-7复位电路

4.2外部晶振时间电路

MCS-51虽然有内部振荡电路,但要形成时钟,必须外接元件,所以实际构成的振荡时钟电路,外接晶振以及电容C1和C2构成了并联谐振电路接在放大器的反馈回路中,对接电容的值虽然没有严格的要求,但电容的大小会影响振荡频率的高低,振荡器的稳定性,起振的快速性和温度的稳定性。

晶振的频率可在1.2MHZ~12MHZ之间任选,电容C1和C2的典型值在20pf~100pf之间选择,由于本系统用到定时器,为了方便计算,采用了12MHZ的晶振,采用电容选择30pf。

如2-8所示。

2-8晶振时间电路

5、LED显示系统设计

5.1LED显示器的选择

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

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

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

如图2-9所示.

图2-9四位LED引脚

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

5.2LED译码方式

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

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

共阴极字段码表2-2

显示字符

0

1

2

3

4

5

6

7

8

9

共阴极字段码

3FH

06H

5BH

4FH

66H

6DH

7DH

07H

7FH

6FH

6、电源设计

ADC0809有很宽的工作电压范围,其工作电压为4.0~5.5V。

单片机AT89C51的工作电压范围相对较窄,为4.5~5.5V,所以本设计中使用电脑USB(5V)电压供电,其有很高的稳定可靠的电压值,利用它的稳压功能给电路提供稳定的+5V电压,使电路的工作保持很高的可靠性。

在电路中接入一个发光二极管作为指示灯,可以很方便地指示电源与电路是否接通。

如图2-10所示。

 

图2-10

第三部分设计成果

1、仿真图及调试结果

仿真图

调试结果图【一】

调试结果图【二】

 

2、程序代码

#include "reg51.h"

#define uchar unsigned char

#define uint unsigned int

uchar  code dsycode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

sbit  CLK =P1^3;

sbit  ST = P1^2;

sbit  EOC=P1^1;

sbit  OE =P1^0;

void delay (uint ms)

{

uchar i;

while(ms--)for(i=0;i<120;i++);

 }

 void diplay (unsigned int d)

 {

  P2=0xf7;

  P0=dsycode[(d/100)%10];

  delay(5);

  P2=0xfb;

  P0=dsycode[(d/100)/10%10];

  delay(5);

  P2=0xfd;

  P0=dsycode[d/100/100]|0x80;/*ж˜ѕз¤єе°Џж•°з‚№*/

  delay(5);

 }

 void main()

{

 unsigned int a;

 TMOD=0x02;

 TH0=0x14;

  TL0=0x00;

  IE=0x82;

  TR0=1;

P1=0x3f;

  while

(1)

  {

   ST=0;ST=1;ST=0;

   while(EOC==0);

   OE=1;

   a=P3*196;

   diplay(a);

   OE=0;

  }

 }

 void Timer0_INT() interrupt 1

 {

  CLK=~CLK;

第四部分结束语

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

虽然已经接受单片机一期时间,但设计过程中仍然存在许多不足。

通过这次设计更加深入了解Proteus和Keil软件的使用方法,掌握了从系统的需要、方案的设计、功能模块的划分、原理图的设计和电路图的仿真的设计流程,学到了不少东西。

本设计利用单片机AT89C51控制与模数转换ADC0809,实现模拟信号转换数字信号的功能。

该电路使用简单的一路接口,为单片机节省大量的接口资源。

ADC0809为一路的数字转换,该芯片功能强大,性能优越,能为很多领域,特别是对模拟量转的换工作精确性和可靠性有较高要求的场合,提供较好的实时转换。

但是,由于ADC0809易受环境影响,会使该电路出现数据精度不高、显示混乱等问题,还有待继续研究和改进。

通过这次设计,使我深入了解了AT89C51单片机和ADC0809(A\D转换器)的结构和特点及数字电压表的工作原理,加深了对理论知识的理解,锻炼了实践动手能力,。

在此次课程设计中,收获知识的同时,我还收获了阅历。

在此过程中,我们通过查找资料,请教同学老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。

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

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

 

第五部分致谢

经过一段时间的努力,此次毕业设计基本完成,这次设计电路,由于知识及经验的匮乏,难免会遇到很多困难,在不断查找资料和肖老师同学的帮助下,很顺利的完成了毕业设计。

从开始选题到设计的顺利完成,都离不开老师、同学、朋友给予的帮助,在这里请接受我的谢意!

在本次毕业设计过程中,从选题、构思、资料收集到最后定稿的各个环节给予细心指引与教导,使我对课程的多方面的知识有了深刻的认识,使我们得以最终完成本次设计,在此表示衷心感谢。

我还要感谢在我遇到疑问时,同学和肖老师的帮助和鼓励,感谢你们在我遇到苦难时所给的帮助,正是有了你们的帮助和鼓励,此次毕业设计才得以顺利完成。

还要感谢为我们完成毕业答辩的老师们,你们也辛苦了,谢谢!

最后,我要感谢我的母校,是母校给我们提供了良好的学习的环境;另外,我还要感谢这三年给我授过课的每一位老师,是你们教会我专业知识。

在此,我再次说一次谢谢!

谢谢大家!

 

第六部分参考文献

【1】单片机原理及应用(第2版).张迎新.北京电子工业出版.2009.3.P24~P28

【2】数字电子技术应用.刘悦音.中南大学出版社.2012.2.P18~P23

【3】模拟电子技术(第二版).苏士美.北京人民邮电出版社.2010.5.P65~P70

【4】单片机原理及应用.陈权昌.李兴富.华南理工大学出版社.2010.4.P69~P73

【5】C语言程序设计实用教程.李庆亮.北京机械工业出版社.2011.3.P42~45

【6】单片机片机原理及应用.汪文.陈林.华中科技大学出版社.2012.9.P63~P69

【7】电子技术基础数字部分.康华光.北京高等教育出版社.2008.5.P27~P31

【8】电子设计从零开始.杨欣.清华大学出版社.2009.7.P24~P30.P42~P49

 

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

当前位置:首页 > 高中教育 > 初中教育

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

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