ADC0804工作原理其程序.docxVIP

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
2012年8月6日星期一 PAGE1 / NUMPAGES7 前言:本文详细说明了ADC0804工作原理及过程,还附有一个ADC0804在单片机中的典型应用,包含原理图,源程序,程序注释详细清楚,这有助于更好地理解与应用ADC0804芯片。 1、A/D转换概念:即模数转换(Analog to DigitalConversion),输入模拟量(比如电压信号),输出一个与模拟量相对应的数字量(常为二进制形式)。例如参考电压VREF为5V,采用8位的模数转换器时,当输入电压为0V时,输出的数字量为0000 0000,当输入的电压为5V时,输出的数字量为1111 1111。当输入的电压从从0V到5V变化时,输出的数字量从0000 0000到1111 1111变化。这样每个输入电压值对应一个输出数字量,即实现了模数转换。 2、分辨率概念:分辨率是指使输出数字量变化1时的输入模拟量,也就是使输出数字量变化一个相邻数码所需输入模拟量的变化值。 分辨率与A/D转换器的位数有确定的关系,可以表示成FS / 2 n 。FS表示满量程输入值,n为A/D转换器的位数。例如,对于5V的满量程,采用4位的ADC时,分辨率为5V/16=0.3125V (也就是说当输入的电压值每增加0.3125V,输出的数字量增加1);采用8位的ADC时,分辨率为5V/256=19.5mV(也就是说当输入的电压值每增加19.5mV,则输出的数字量增加1);当采用12位的ADC时,分辨率则为5V/4096=1.22mV(也就是说当输入的电压值每增加1.22mV ,则输出的数字量增加1)。显然,位数越多,分辨率就越高。 3、ADC0804引脚功能: CS:芯片片选信号,低电平有效。即CS=0时,该芯片才能正常工作,高电平时芯片不工作。在外接多个ADC0804芯片时,该信号可以作为选择地址使用,通过不同的地址信号使能不同的ADC0804芯片,从而可以实现多个ADC通道的分时复用。 WR:启动ADC0804进行ADC采样,该信号低电平有效,即WR信号由低电平变成高电平时,触发一次ADC转换。 RD:低电平有效,即RD=0时,DAC0804把转换完成的数据加载到DB口,可以通过数据端口DB0~DB7读出本次的采样结果。 VIN(+)和VIN(-):模拟电压输入端,单边输入时模拟电压输入接VIN(+)端,VIN(-)端接地。双边输入时VIN(+)、VIN(-)分别接模拟电压信号的正端和负端。当输入的模拟电压信号存在“零点漂移电压”时,可在VIN(-)接一等值的零点补偿电压,变换时将自动从VIN(+)中减去这一电压。 VREF/2:参考电压接入引脚,该引脚可外接电压也可悬空,若外接电压,则ADC的参考电压为该外界电压的两倍,如不外接,则VREF与Vcc共用电源电压,此时ADC的参考电压即为电源电压Vcc的值。 CLKIN和CLKR:外接RC振荡电路产生模数转换器所需的时钟信号,时钟频率CLK = 1/1.1RC,一般要求频率范围100KHz~1460KHz。 AGND和DGND:分别接模拟地和数字地。 INTR:转换结束输出信号,低电平有效,当一次A/D转换完成后,将引起INTR=0,实际应用时,该引脚应与微处理器的外部中断输入引脚相连(如51单片机的INT0,INT1脚),当产生INTR信号有效时,还需等待RD=0才能正确读出A/D转换结果,若ADC0804单独使用,则可以将INTR引脚悬空。 DB0~DB7:输出A/D转换后的8位二进制结果。 补充说明:ADC0804片内有时钟电路,只要在外部“CLKIN(引脚4)”和“CLKR(引脚19)”两端外接一对电阻电容即可产生A/D转换所要求的时钟,其振荡频率为fCLK≈1/1.1RC。其典型应用参数为:R=10KΩ,C=150PF,fCLK≈640KHz,转换速度为100μs。若采用外部时钟,则外部fCLK可从CLKIN端送入,此时不接R、C。允许的时钟频率范围为100KHz~1460KHz。 4、ADC0804工作过程 如下图所示,ADC0804的工作时序图(Timing Diagrams): (欲详细了解工作过程,可以结合ADC0804使用手册) 图6给出的其实就是使ADC0804正确工作的软件编程模型。由图可见,实现一次ADC转换主要包含下面三个过程: 1.启动转换:由图6中的上部“FIGURE 10A”可知,在CS信号为低电平的情况下,将WR引脚先由高电平变成低电平,经过至少tW(WR)I 延时后,再将WR引脚拉成高电平,即启动了一次AD转换。 注:ADC0804使用手册中给出了要正常启动AD转换WR的低电平保持时间tW(WR)I的最小值为100ns,即WR拉低后延时大于100ns即可以,具体做法可通过插入NOP指令或者调用

文档评论(0)

ldj215323 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档