基于AT89S52单片机电压表--王杰.docVIP

  • 4
  • 0
  • 约4.85千字
  • 约 8页
  • 2017-08-21 发布于安徽
  • 举报
数字电压表 一 方案设计 1、 设计任务与要求 ⑴以AT89C51单片机为核心器件,组成一个简单的直流数字电压表。 ⑵采用1路模拟量输入,能够测量0-5V之间的直流电压值。 ⑶电压显示用4位一体的LED数码管显示,至少能够显示两位小数。 ⑷尽量使用较少的元器件 2、 设计思路 ⑴根据设计要求,选择AT89C51单片机为核心控制器件。 ⑵A/D转换采用ADC0808实现,与单片机的接口为P1口和P2口的高四位引脚。 ⑶电压显示采用4位一体的LED数码管。 ⑷LED数码的段码输入,由并行端口P0产生:位码输入,用并行端口P2低四位产生 二 相关技术简介 数字电压表的设计即将连续的模拟电压信号经过A/D转换器转换成二进制数值,再经由单片机软件编程转换成十进制数值并通过显示屏显示。 按系统实现要求,决定控制系统采用AT89C51单片机,采用ADC0808。数字电压表系统整体框图如下图1所示。 图1 整体框图 工作原理:+5V模拟电压信号通过变阻器VR1分压后由ADC08008的IN0通道进入(由于使用的IN0通道,所以ADDA,ADDB,ADDC均接低电平),经过模/数转换后,产生相应的数字量经过其输出通道D0-D7传送给AT89C51芯片的P1口,AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码传送给四位LED,同时它还通过其四位I/O口P2.4、P2.5、P2.6、P2.7产生位选信号控制数码管的亮灭。此外,AT89C51还控制ADC0808的工作。其中,单片机AT89C51通过定时器中断从P3.3输出方波,接到ADC0808的CLOCK,P3.0发正脉冲启动A/D转换,P3.2检测A/D转换是否完成,转换完成后,P3.1置高从P1口读取转换结果送给LED显示出来。 三 硬件设计 1、振荡电路 2、复位电路 3、单片机系统 AT89C51各引脚功能 AT89C51提供以下标准功能:4KB的Flash闪速存储器,128B内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路,同时,AT89C51可降至0Hz静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作,掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有工作直到下一个硬件复位。AT89C51采用PDIP封装形式,引脚配置如图所示。 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口:这组引脚的第一功能和其余三个端口的第一功能相同,第二功能为控制功能,每个引脚并不完全相同,如下表1所示: 表1 P3口各位的第二功能 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(片外数据存储器读允许) Vcc为+5V电源线,Vss接地。 ALE:地址锁存允许线,配合P0口的第二功能使用,在访问外部存储器时,89C51的CPU在P0.0-P0.7引脚线去传送随后而来的片外存储器读/写数据。在不访问片外存储器时,89C51自动在ALE线上输出频率为1/6震荡器频率的脉冲序列。该脉冲序列可以作为

文档评论(0)

1亿VIP精品文档

相关文档