单片机论文.docx

上传人:b****7 文档编号:23777388 上传时间:2023-05-20 格式:DOCX 页数:13 大小:194.39KB
下载 相关 举报
单片机论文.docx_第1页
第1页 / 共13页
单片机论文.docx_第2页
第2页 / 共13页
单片机论文.docx_第3页
第3页 / 共13页
单片机论文.docx_第4页
第4页 / 共13页
单片机论文.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

单片机论文.docx

《单片机论文.docx》由会员分享,可在线阅读,更多相关《单片机论文.docx(13页珍藏版)》请在冰豆网上搜索。

单片机论文.docx

单片机论文

 

课程论文

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

课程名单片机原理及应用

学生姓名

学号

院系

专业电子信息工程

任课教师

二O一三年六月三号

 

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

尹丹丹

南京信息工程大学电子工程系南京,210044

摘要:

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

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

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

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

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

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

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

关键词:

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

1、引言数书字电压表简称DVM,它是采用了数字化测量技术,把连续模拟量(直流输入电压)转换成不连续,离散的数字形式加以现实的仪表。

传统的指针是电压表功能单一,精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高,抗干扰能力强,可扩展性强,集成方便,不可与PC进行实时通信。

目前由各种单片机A/D转换器构成的数字电压表,已被广泛的应用为电子及其电工的测量,工业自动化仪表,自动测试系统等智能化测量领域,显示出强大的生命力。

数字电压表是诸多数字化仪表的核心与基础,电压表的数字化是将连续的模拟量如直流电压转换成不连续的离散的数字形式,并加以显示,这有别于传统的指针加刻度盘进行读数的方法,避免了读数的视差和视觉的疲劳,目前数字电压表的核心部件是A/D转换器,转换器的精度很大程度上影响着数字电压表的准确度。

本设计主要分为两部分:

硬件电路及软件程序。

而硬件电路又大体可分为单片机小系统电路、A/D转换电路、LED显示电路,各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用汇编语言编程,利用纬福软件对其编译,详细的设计算法将会在程序设计部分详细介绍。

2、设计总体方案

2.1设计要求

⑴以MCS-51系列单片机为核心器件,组成一个简单的直流数字电压表。

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

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

⑷尽量使用较少的元器件。

2.2设计思路

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

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

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

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

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

2.3设计方案

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

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

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

3、硬件电路设计

3.1A/D转换原理

模拟量可以是电压、电流等电信号,也可以是压力、温度、湿度、位移、声音等非电信号。

但在A/D转换前,输入到A/D转换器的输入信号必须经各种传感器把各种物理量转换成电压信号。

A/D转换器的工作原理

主要介绍以下三种方法:

(1).逐次逼近法

逐次逼近式A/D是比较常见的一种A/D转换电路,转换的时间为微秒级。

图2.1逐次逼近法原理

逐次逼近法转换过程是:

初始化时将逐次逼近寄存器各位清零;转换开始时,先将逐次逼近寄存器最高位置1,送入D/A转换器,经D/A转换后生成的模拟量送入比较器,称为Vo,与送入比较器的待转换的模拟量Vi进行比较,若Vo<Vi,该位1被保留,否则被清除。

然后再置逐次逼近寄存器次高位为1,将寄存器中新的数字量送D/A转换器,输出的Vo再与Vi比较,若Vo<Vi,该位1被保留,否则被清除。

(2)双积分法

采用双积分法的A/D转换器由电子开关、积分器、比较器和控制逻辑等部件组成。

如图3.2所示。

基本原理是将输入电压变换成与其平均值成正比的时间间隔,再把此时间间隔转换成数字量,属于间接转换。

图2.2双积分式A/D转换原框图

双积分法A/D转换的过程是:

先将开关接通待转换的模拟量Vi,Vi采样输入到积分器,积分器从零开始进行固定时间T的正向积分,时间T到后,开关再接通与Vi极性相反的基准电压VREF,将VREF输入到积分器,进行反向积分,直到输出为0V时停止积分。

Vi越大,积分器输出电压越大,反向积分时间也越长。

计数器在反向积分时间内所计的数值,就是输入模拟电压Vi所对应的数字量,实现了A/D转换。

(3)电压频率转换法

采用电压频率转换法的A/D转换器,由计数器、控制门及一个具有恒定的

时钟门控制信号组成,如图3.3所示:

 

图2.3电压频率转换法原理

电压频率转换法的工作过程是:

当模拟电压V/I加到V/F的输入端,便产生频率F与Vi成正比的脉冲,在一定的时间内对该脉冲信号计数,时间到,统计到计数器的计数值正比于输入电压Vi,从而完成A/D转换。

3.2AT89C51

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

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容,由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,它为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

AT89C51功能性能:

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

1000次写/擦循环;数据保留时间:

10年;全静态工作:

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

3.2.1AT89C51各引脚功能

T89C51提供以下标准功能:

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

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

AT89C51采用PDIP封装形式,引脚配置如图3所示[7]。

图3AT89C51的引脚图

AT89C51芯片的各引脚功能为:

P0口:

这组引脚共有8条,P0.0为最低位。

这8个引脚有两种不同的功能,分别适用于不同的情况,第一种情况是89C51不带外存储器,P0口可以为通用I/O口使用,P0.0-P0.7用于传送CPU的输入/输出数据,这时输出数据可以得到锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性;第二种情况是89C51带片外存储器,P0.0-P0.7在CPU访问片外存储器时先传送片外存储器的低8位地址,然后传送CPU对片外存储器的读/写数据。

P0口为开漏输出,在作为通用I/O使用时,需要在外部用电阻上拉。

P1口:

这8个引脚和P0口的8个引脚类似,P1.7为最高位,P1.0为最低位,当P1口作为通用I/O口使用时,P1.0-P1.7的功能和P0口的第一功能相同,也用于传送用户的输入和输出数据。

P2口:

这组引脚的第一功能与上述两组引脚的第一功能相同即它可以作为通用I/O口使用,它的第一功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但并不是像P0口那样传送存储器的读/写数据。

P3口:

这组引脚的第一功能和其余三个端口的第一功能相同,第二功能为控制

功能。

ALE:

地址锁存允许线,配合P0口的第二功能使用,在访问外部存储器时,89C51的CPU在P0.0-P0.7引脚线去传送随后而来的片外存储器读/写数据。

在不访问片外存储器时,89C51自动在ALE线上输出频率为1/6震荡器频率的脉冲序列。

该脉冲序列可以作为外部时钟源或定时脉冲使用。

/EA:

片外存储器访问选择线,可以控制89C51使用片内ROM或使用片外ROM,

若/EA=1,则允许使用片内ROM,若/EA=0,则只使用片外ROM。

/PSEN:

片外ROM的选通线,在访问片外ROM时,89C51自动在/PSEN线上产生一个负脉冲,作为片外ROM芯片的读选通信号。

RST:

复位线,可以使89C51处于复位(即初始化)工作状态。

通常89C51复位有自动上电复位和人工按键复位两种。

XTAL1和XTAL2:

片内震荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接89C51片内OSC(震荡器)的定时反馈回路。

3.3ADC0808

3.3.1ADC0808主要特性

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[6]。

3.3.2ADC0808的外部引脚特征

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

图4ADC0808引脚图

下面说明各个引脚功能:

IN0-IN7(8条):

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

地址输入控制(4条):

ALE:

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

ADDA,ADDB,ADDC:

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

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:

时钟输入端。

4、总体电路设计

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

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

此电路的工作原理是:

+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显示出来[3]。

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

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

5、软件调试

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

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

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

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

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

5.1显示结果

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

输入电压为0V时,LED的显示结果

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

测量误差为0.01V。

输入电压为1.50V时,LED的显示结果

6、结论

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

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

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

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

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

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

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

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

参考文献:

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

机械工业出版社,2004年10月

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

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

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

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

[6]姜志海,黄玉清等著.单片机原理及应用[M].北京:

电子工业出版社.2005年7月

[7]魏立峰.单片机原理及应用技术.北京大学出版社,2005年

 

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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