本次设计的简易数字直流电压表由数据转换模块、数据处理模块及数据显示模块构成。其中,A/D转换模块选用ADC0808,控制核心选用AT89C51,二者结合,对输入数据进行处理转换,最后在数码管上显示[5]。
2 系统方案设计
2.1 系统总体设计方案
本系统主要以AT89C51单片机为主要控制器件,逐次逼近型的ADC0808为主要转换器件,四位七段LED数码管为主要显示器件,Proteus为主要仿真软件,争取以最低的成本和最少的元器件来设计出测量精度在0.02V之内、测量范围在0-5V的基于单片机的数字电压表。
2.2 系统设计框图
简易式数字电压表容易实现,成本相对较低,测量获取电压值的速度也快,系统通过软件设置定时器T0产生中断,选择8路通道中的一路,将电压值送入ADC0808转换器进行转换,并设置EOC端和eo端为高电平,将转换的十进制数存入RAM。最后软件编程将转换结果显示在七段数码管上[2]。整个系统硬件部分由AT89C51单片机系统,ADC0808转换电路、LED七段数码管显示系统、时钟电路、复位电路、测量电压输入电路这六个部分构成,系统框图如图1:
系统总体设计框图
3 系统硬件设计
系统硬件电路由ADC0808转换器、AT89C51单片机系统、四位七段LED数码管显示系统、测量电压输入电路、时钟电路和复位电路六部分构成,整体电路图如图2:
系统整体电路图
3.1 单片机的选择
MCS-51系列单片机都是八位的,按资源的配备数目分成51基本型和52增强型,独具特色,已经成为单片机开发者的首选。AT89C51系列单片机功耗低,同时其片内集成了4KB的FalshPEROM用来寄存应用程序,不仅容许普通的编程器离线编程,还支持在线编程,自动对程序提供加密保护[1]。AT89C51系列单片机的晶振频率高,一个机器周期短,工作速度比其他单片机快。AT89C51系列单片机操作指令简单,电路也很简洁,硬件设计相对比较方便,内部资源丰富,供多个领域使用。
3.1.1 AT89C51单片机的结构和性能
AT89C51单片机中,CPU是运算和控制中心;RAM进行数据存储;ROM进行程序存储;I/O接口分为串行接口和并行接口两种,共32个,双向可独立寻址;T0/T1是定时器/计数器,共2个;中断系统可以管理5个中断源,两级中断;内部总线是内部各部件之间进行信息交流的通道;数据储存性能好保密性高;不管是闲置还是掉电模式,功率消耗都很低,综合而言,AT89C51单片机是一种高效的控制器。
3.1.2 AT89C51的引脚特性概述
AT89C51单片机引脚图
本系统中,AT89C51单片机所用到的引脚的功能:
(1).电源线:GND是接地引脚;VCC是正电源引脚,接+5V电源。
(2).端口线:P0~P3口均为双向通道,每个I/O口均能独立进行数据输入和输出,共4×8=32根线。
○1P0口( P0.0~P0.7 )作为扩展外部存储器时,P0口作为地址总线或者数据总线的复用口,并且此时不能作为I/O通用口使用,而是先作为地址总线向外传送低八位地址,在作为数据总线对外转换数据;作为高阻抗输出端使用时,端口应该置“1”。
○2P1口( P1.0~P1.7 )仅有I/O功能,任何情况下都可以作为I/O通用口使用。
○3P2口( P2.0~P2.7 )扩展外部存储器时,要作为高八位地址使用;若访问的是八位地址的外部数据存储器时,P2口上的内容是一定的,期间内不会随着其他因素而改变,Flash编程和程序校验时,P2口也会接高位地址,当然还有其他的控制信号。
○4P3口( P3.0~P3.7 )每个引脚功能各不相同,作为第二功能使用时,P3口的P3.0-P3.7功能如下表1所示: