内容发布更新时间 : 2024/12/23 21:46:38星期一 下面是文章的全部内容请认真阅读。
3 基于单片机数字电压表的硬件设计 3.2.2 ADC0809转换原理介绍
ADC是一种基本的外围扩展器件,其种类很多,工作原理也不仅相同,比较有代表性的是:单积分型,双积分型,脉宽调制型和逐次比较型(逐次逼近型)。从产品性价比、转换速度和精度等方面综合分析,逐次比较型ADC是相对应用比较广的类型之一。所以有着广泛的应用[10]。
逐次逼近型ADC实际采用的方法上从高到底开始逐位设定,比较模拟量输出,再来确定原设定位的正确与否。逐次比较型ADC原理结构如图2.3所示。其主要由采集保持电路、电压比较器、逐次比较寄存器、数/模转换器ADC和锁存器等部分组成。 CP GO
被测电压ui 逐次比较 寄存器 寄存器 ADIF=1 + _
Us 模/数转换 数字量输出 图2.3 逐次比较型ADC结构 其工作原理如下:
首先,被测模拟电压ui通过逐次比较寄存器,将传递进的脉冲CP信号转换成数字信号,该数字量再经过数/模转换器生成对应的模拟量Us。当获得模拟量Us的数值达到并接近被测电压所对应ui后,就可以检测出电压比较器完成最后的反转。此时,逐次比较积存器的计数值就是被测电压ui所对应的数字量,从而完成模拟量的转换。以上的分析表明,逐次比较的模/数转换方法,归根到底是数/模转换,采用逐次与模拟量进行比较后得到最终的数字标定值[11]。 3.2.3 ADC0809芯片介绍
ADC0809是一种8位逐次逼近型A/D转换器。带8个模拟量输入通道,芯片内有通道地址译码锁存器,有输出三态数据锁存器,启动信号为脉冲启动方式,每个通道的转换时间大约为100μs,可以和单片机直接接口[9]。 ADC0809的引脚图和内部逻辑结构如图2.4所示。
8
西安工业大学学士学位论文
图2.3
图 2.4
由图1(b)可知,ADC0809由一个8路模拟开关,一个地址锁存与译码器、一个8位A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道IN0—IN7,允许8路模拟分量输入,共用A/D转换器 进行转换。三态输出锁存器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
IN0—IN7:8条模拟量输入通道。ADC0809对输入模拟量的要求是信号单极性,电压范围是0—5V,若信号太小,必须进行放大:输入的模拟量在转换过程中应保持不变,如若模拟信号变化太快,则需在输入前增加采样保持电路。 地址输入和控制线:4条,ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转化器进行转换。A,B,C为地址输入线,用于选通IN0—IN7上的一路模拟量输入。通道选择如表2.1所示。 数字量输出及控制线: 11条。START为上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换:在转换期间,START应保持底电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束:否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据。OE=0,输出数据线呈高阻状态。D7—D0为数字量输出线。 CLK为时钟输入信号线。由于ADC0809的内部没有时钟电路,所需时钟信号必须
由外界提供,通常使用频率为500KHz,最大不能超过1280KHz[11]。 VREF(+),VREF(-)为参考电压输入,决定了输入模拟量的范围。一般情况VREF(-)接地,VREF(+)接+5V电源。 3.2.4 ADC0809与单片机的接口方法
电路原理图2.2可以看出ADC0809的数据D0—D7直接与单片机的总线P0相连。模拟输入通道地址A、B、C直接接地,因此ADC0809只对通道IN0输入的电压进行模数转换,其他通道直接接地(接地的目的主要是为了减少输入噪声,一
9
西安工业大学学士学位论文 般情况对于模数转换芯片中没用到的模拟输入端都这样处理)。时钟CLK由单片机的ALE取得,对于晶振为12MHz的单片机ALE输出为2MHz的方波,但前面提到ADC0809的时钟频率一般为500KHz,最大能超过1280KHz,但在实际应用中2MHz的信号也可以使ADC0809正常工作。START、ALE和OE分别由单片机的WR、RD和P2.7经或非门接入、这样主要是满足ADC0809的信号电平与时序的要求。按此图中的片选接法。ADC0809通道—IN0的地址为7FFFH。 由于EOC未接入单片机,故只能采用延时等待的方法来读取A/D转换的结果(即当单片机启动ADC0809后延时一段时间再主动去读ADC0809的转换结果)。但是如果单片机在进行A/D转换时还要执行其他的程序可以将EOC接在单片机的中断上,这样当A/D转换完后EOC可以对单片机产生中断使其读取A/D转换的结果,这样做单片机的使用效率更高。
3.3单片机介绍
3.3.1 单片机介绍
单片微型计算机简称单片机,又称微型控制或嵌入式控制器,是将计算机的基本部件微型化,使之集成在一块芯片上的微机。单片机有着体积小,功耗低,功能强,性能价格比高、易于推广应用等显著优点,在自动化装置、智能化仪器仪表、过程控制和家用电器等领域得到日益广泛的应用。 3.3.2采用AT89C51的原因
在众多的51系列单片机中,要算 ATMEL 公司的AT89C51更实用,它是由北京集成电路设计中心在MSC-51单片机的基础上精心设计,由美国生产的至今为止世界上最新型的高性能八位单片机。它不但和8051指令、管脚完全兼容,而且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器用户可以用电的方式瞬间擦除、改写,一般专为 ATMEL AT89Cx 做的编程器均带有这些功能。显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短[12]。 3.3.3 AT89C51芯片主要性能参数
与MCS—51产品指令系统完全兼容 4K字节的可重擦写Flash闪速存储器 1000次擦写周期 全静态操作:0Hz–24Hz 三级加密程序存储器 128×8字节内部RAM 32个可编程I/O口线 2个16位定时/记数器
10
西安工业大学学士学位论文 6个中断源
可编程串行UART通道
底功耗空闲和掉电模式 图2.5 AT89C51管脚分 3.3.4功能介绍
AT89C51是一种低损耗、高性能、CMOS八位微处理器,片内有4K字节的在线可重复编程快擦快写存储器,能重复写入/擦除1000次,数据保存时间为十年。它与MCS-51系列单片机在指令系统和引脚上完全兼容,不仅可完全代替MCS-51系列单片机,而且能使系统具有许多MCS-51单片机,而且能使系统具有许多MCS-51系列产品没有的功能。AT89C51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低了系统成本。只要程序长度小于4K,四个I/O口全部提供给用户。可用5V电压编程,而且擦写时间仅需10毫秒,仅为8751/87C51的擦除时间的百分之一,与8751/87C51的12V电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。工作电压范围宽2.7V-6V,全静态工作,工作频率宽,在0M Hz-24M Hz内,比8751/87C51等51系列的6MHz-12 MHz更具有灵活性,系统能快能慢。AT89C51芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制[13]。
另外,AT89C51还具有MCS-51系列单片机的所有优点。128×8位内部RAM,32位双向输入输出线,两个十六位定时/计数器,5个中断源,两级中断优先级,一个全双工异步串行口及时钟发生器等。 3.3.5 芯片管脚介绍及分配
引脚描述: VCC:电源
GND:电源地
P0口:P0口是一组8位漏极开路双向I/O口,也既地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。
在访问外部数据存储器话程序存储器时,这组口线分时转换地址(底8位)和数据总线服用,在访问期间激活内部上拉电阻。
在Flash编程时,P0口接受指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可操作输入口。作输入口使用时,因为内部存在
11
西安工业大学学士学位论文 上拉电阻,某个引脚被外部信号拉底时会输出一个电流(IIL)。
Flash编程和程序校验期间,P1接收底8位地址。
P2口:P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对断口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉底时会输出一个电流(IIL)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVE @DPTR)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVE @RI指令)时,P2口线上的内容[也即特殊功能存储器(SFR)区中R2寄存器的内容],在整个访问期间不改变。
在Flash编程或校验时,P2亦接收高位地址和其他控制信号。
P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉底的P3口将用上拉电阻输出电流(IIL)。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表2.2所示:
表 2.2 P3口第二功能表 端口引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 第二功能 RXD(串行输入口) TXD(串行输出口) INT0(外部中断0) INT1(外部中断1) T0(定时/记数器0) T1(定时/记数器1) WR(外部数据存储器写选通) RD(外部数据存储器读选通) P3口还接受一些用于Flash闪速存储器编程和程序校验的控制信号。 RST:复位输入。当振荡器工作时,RET引脚出现两个机器周期以上高电平将使单片机复位。
ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的底8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外部输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。
对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH的D0位置位,可禁
12