桂林理工大学毕业.论文
ADC0804的主要电气特性如下:工作电压:+5V,即VCC=+5V。 模拟输入电压范围:0~+5V,即0≤Vin≤+5V。
分辨率:8位,即分辨率为1/28=1/256,转换值介于0~255之间。
?转换时间:100us(fck=640KHz时)。 ?转换误差:±1LSB。
?参考电压:2.5V,即Vref=2.5V。
205VCCINTRCS18RDDB017WRDB116CLKINDB21915CLKOUTDB3914REF/2DB4613IN+DB5712IN-DB6811AGNDDB7DGND101234
图3.5 ADC0804的管脚图
3.4.1ADC0804的转换原理
ADC0804是属于逐次逼近型的A/D转换器,以输出8位的ADC0804动作来说明“逐次逼近型A/D转换”的转换原理,动作步骤如下表示(原则上先从左侧最高位寻找起)。
第一次寻找结果:10000000 (若假设值≤输入值,则寻找位=假设位=1) 第二次寻找结果:11000000 (若假设值≤输入值,则寻找位=假设位=1) 第三次寻找结果:11000000 (若假设值>输入值,则寻找位=该假设位=0) 第四次寻找结果:11010000 (若假设值≤输入值,则寻找位=假设位=1) 第五次寻找结果:11010000 (若假设值>输入值,则寻找位=该假设位=0) 第六次寻找结果:11010100 (若假设值≤输入值,则寻找位=假设位=1) 第七次寻找结果:11010110 (若假设值≤输入值,则寻找位=假设位=1) 第八次寻找结果:11010110 (若假设值>输入值,则寻找位=该假设位=0)
10
桂林理工大学毕业.论文
这样使用二分法的寻找方式,8位的A/D转换器只要8次寻找,12位的A/D转换器只要12次寻找,就能完成转换的动作,其中的输入值代表图3.5的模拟输入电压Vin2.分辨率与内部转换频率的计算。
对8位ADC0804而言,它的输出准位共有28=256种,即它的分辨率是1/256,假设输入信号Vin为0~5V电压范围,则它最小输出电压是5V/256=0.01953V,这代表ADC0804所能转换的最小电压值。
表1-1列出的是8~12位A/D转换器的分辨率和最小电压转换值。
表1-1 A/D转换器的分辨率和最小电压值
位数目 8 10 12 分辨率 1/256 1/1024 1/4096 最小电压转换值 0.01953V 0.00488V 0.00122V 至于内部的转换频率fCK,是由图3.6的CLKOUT(19脚)、CLKIN(4脚)所连接的R13、C6来决定。
图3.6 ADC0804的设计图
频率计算方式是:
fck?11.1?R13?C6
更换不同的R、C值,会有不同的转换频率,而且频率愈高代表速度愈快。但是需要注意R、C的组合,务必使频率范围是在100KHz~1460KHz之间。
11
桂林理工大学毕业.论文
控制ADC0804动作的信号应该只有CS、WR、RD。其中INTR由高电位转为低电位后,代表ADC0804完成这次的模拟/数字转换,而DB0~DB7代表是转换后的数字资料。
动作大概可分成4个步骤区间——S0、S1、S2、S3,每个步骤区间的动作方式下: 步骤S0:CS=0、WR=0、RD=1(由单片机发出信号要求ADC0804开始进行模拟/数字信号的转换)。
步骤S1:CS=1、WR=1、RD=1(ADC0804进行转换动作,转换完毕后INTR将高电位降至低电位,而转换时间>100us)。
步骤S2:CS=0、WR=1、RD=0(由单片机发出信号以读取ADC0804的转换资料)。
步骤S3:CS=1、WR=1、RD=1(由单片机读取DB0~DB7上的数字转换资料)。由上述步骤说明,可以归纳出所要设计的单片机动作功能有:
负责在每个步骤送出所需的CS、WR、RD控制信号。在步骤S1时,监控INTR 号是否由低电位变高电位,如此以便了解ADC0804的转换动作结束与否。
在步骤S3,读取转换的数字资料DB0~DB7
3.5 单片机
单片微型计算机简称单片微机或单片机。它是一种把芯片中集成中央微处理器、随机存取存储器、只读存储器、定时/计数器以及I/O接口电路等部件,构成了一个完整的微型数字电子计算机。其具有很多优点:高性能,高速度,体积小,价格低廉,稳定可靠等。
也正是由于单片机具有上述显著的特点,使得单片机的应用范围日益扩大。单片机的应用打破了人们的传统设计思想,原来很多用模拟电路、脉冲数字电路和逻辑部件来实现的功能,现在均可以使用单片机,采用软件编程来实现。同时使用单片机所做的产品还具有体积小、可靠性高、性能价格比高和容易产品化等优点[10]。
3.5.1AT89C52引脚简介
VCC:供电电压。GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8个TTL门电流。当P0口的管脚第一次写“1”时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当
12
桂林理工大学毕业.论文
FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。P1口管脚写入“1”后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。当P2口用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口作为AT89C51的一些特殊功能口,管脚备选功能:
P3.0 RXD(串行输入口); P3.2 /INT0(外部中断0); P3.3 /INT1(外部中断1); P3.4 T0(计时器0外部输入); P3.5 T1(计时器1外部输入); P3.6 /WR(外部数据存储器写选通); P3.7 /RD(外部数据存储器读选通)。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起用。另外,该引脚被略微拉高。如果微处理器在外部执行状
13
桂林理工大学毕业.论文
态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 图3.7为单片机模块的设计图:
图3.7 单片机设计模块
在晶振电路设计上采用的是11.0592MHz的晶振,电容采用30pF的陶瓷电容。系统设计一个外部复位,采用按键电平复位方式,电平复位是通过复位端电阻与Vcc电源接通而实现的,为了提高系统可靠性,再加上一个0.1uF的电容来消除高频干扰和杂波。
14