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

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

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

P3口各位 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 第二功能 RXT(串行口输入) TXD(串行口输出) /INT0(外部中断0输入) /INT1(外部中断1输入) T0(定时器/计数器0的外部输入) T1(定时器/计数器1的外部输入) /WR(片外数据存储器写允许) /RD(片外数据存储器读允许)

Vcc为+5V电源线,GND接地。

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.1.3 AT89C51的复位电路和时钟电路

单片机中CPU每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个时钟脉冲是单片机控制中的时序电路发出的。CPU执行一条指令的各个微操作所对应时间顺序称为单片机的时序。MCS-51单片机芯片内部有一个高增益反相放大器,用于构成震荡器,XTAL1为该放大器的输入端,

5

厦门工学院 课程设计(论文)

XTAL2为该放大器输出端,但形成时钟电路还需附加其他电路。

单片机AT89C51的时钟电路如图3-2所示,主要由电容C1- C3、电阻R1、晶振X1等组成。AT 89C51的18脚(XTAL2)和19脚(XTAL1)接时钟电路,其中19脚是AT89C51内部振荡器倒相放大器的输入端,用于接外部晶振和微调电容的一端;18脚是AT89C51内部振荡器倒相放大器输出端,用于接外部晶振和微调电容的另一端。

图3-2 AT89C51的时钟电路图

单片机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。MCS-51单片机有一个复位引脚RST,采用施密特触发输入。当震荡器起振后,只要该引脚上出现2个机器周期以上的高电平即可确保时器件复位。复位完成后,如果RST端继续保持高电平,MCS-51就一直处于复位状态,只要RST恢复低电平后,单片机才能进入其他工作状态。图3-3是51系列单片机统常用的复位电路。

图3-3 AT89C51的复位电路

3.2 A/D转换电路设计

现实世界的物理量都是模拟量,能把模拟量转化成数字量的器件称为模/数转换器(A/D转换器),A/D转换器是单片机数据采集系统的关键接口电路,按

6

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

照各种A/D芯片的转化原理可分为逐次逼近型,双重积分型等等。双积分式A/D转换器具有抗干扰能力强、转换精度高、价格便宜等优点。与双积分相比,逐次逼近式A/D转换的转换速度更快,而且精度更高,如ADC0809、ADC0808等,它们通常具有8路模拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送到单片机进行分析和显示。一个n位的逐次逼近型A/D转换器只需要比较n次,转换时间只取决于位数和时钟周期,逐次逼近型A/D转换器转换速度快,因而在实际中广泛使用。

3.2.1 ADC0808的主要特性

ADC0808是CMOS单片型逐次逼近式A/D转换器,带有使能控制端,与微机直接接口,片内带有锁存功能的8路模拟多路开关,可以对8路0-5V输入模拟电压信号分时进行转换,由于ADC0808设计时考虑到若干种模/数变换技术的长处,所以该芯片适应于过程控制,微控制器输入通道的接口电路,智能仪器和机床控制等领域。

ADC0808是分辨率为8位的、以逐次逼近原理进行模/数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。ADC0808是ADC0809的简化版本,功能基本相同。一般硬件仿真时采用ADC0808进行A/D转换,实际使用时采用ADC0809进行A/D转换。

3.2.2 ADC0808各引脚功能

图3-4 ADC0808引脚图

7

厦门工学院 课程设计(论文)

ADC0808芯片有28条引脚,采用双列直插式封装,其引脚图如图3-4所示。 下面说明各个引脚功能:

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

ADDA,ADDB,ADDC:3位地址输入线,用于选择8路模拟输入中的一路,其对应关系如表3-2所示:

表3-2 ADC0808通道选择表 地址码 对应的输入通道 C 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 A 0 1 0 1 0 1 0 1 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 START:START为“启动脉冲”输入法,该线上正脉冲由CPU送来,宽度应大于100ns,上升沿清零SAR,下降沿启动ADC工作。

EOC: EOC为转换结束输出线,该线上高电平表示A/D转换已结束,数字量已锁入三态输出锁存器。

OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。

REF+、REF-:参考电压输入量,给电阻阶梯网络供给标准电压。

Vcc、GND: Vcc为主电源输入端,GND为接地端,一般REF+与Vcc连接在一起,REF-与GND连接在一起. CLK:时钟输入端。

3.3 显示电路的设计

LED是发光二极管显示器的缩写。LED由于结构简单、价格便宜、与单片机接口方便等优点而得到广泛应用。LED显示器是由若干个发光二极管组成显示字段的显示器件。在单片机中使用最多的是七段数码显示器。

在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此就

8

联系客服:779662525#qq.com(#替换为@)