ADC0804全面知识知识.docVIP

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
ADC0804全面知识知识

ADC0804 1 功能: A/D转换器就是模拟/数字转换器(ADC),是将输入的模拟信号转换成数字信号。信号输入端可以是传感器或转换器的输出,而ADC的数字信号也可能提供给微处理器,以便更广泛的应用。 2 ADC0804的规格及引脚图 8位CMOS依次逼近型的A/D转换器。 三态锁定输出 存取时间:135us 分辨率:8位 转换时间:100us 总误差:正负1LSB 工作温度:ADC0804LCN—0_70度 引脚图及说明图: Cs/芯片选择信号 /RD外部读取转换结果的控制输出信号。/RD为高电平,8个数字输出口处理高阻抗,/RD为低电平时数字数据才会输出 /WR:用来启动转换的控制输入,相当于ADC转换的开始(CS=0时),/WR由高电平变为低电平,转换器被清除,/WR回到高电平时,转换正式开始。 CLK IN ,CLK R:时钟输入或接振荡元件(R.C),频率限制在100KHZ~1460KHZ,如果使用RC电路,振荡频率为1/(1.1RC) /INTR:中断请求信号输出,低电平动作. INTR 是转换结束信号输出端,输出跳转为低电平表示本次转换已经完成,可作为微处理器的中断或查询信号。如果将CS 和WR 端与INTR 端相连,则ADC0804 就处于自动循环转换状态。/2:辅助参考电压 DB0~DB7:8位的数字输出 VCC:电源供应以及作为电路的参考电压。 引脚功能及应用特性如下: CS 、RD 、WR (引脚1、2、3):是数字控制输入端,满足标准TTL 逻辑电平。其中CS 和WR用来控制A/D 转换的启动信号。CS 、RD 用来读A/D 转换的结果,当它们同时为低电平时,输出数据锁存器DB0~DB7 各端上出现8 位并行二进制数码。CLKIN(引脚4)和CLKR(引脚19):ADC0801~0805 片内有时钟电路,只要在外 部“CLKI”和“CLKR”两端外接一对电阻电容即可产生A/D 转换所要求的时钟,其振荡频率为fCLK≈1/1.1RC。其典型应用参数为:R=10KΩ,C=150PF,fCLK≈640KHZ转换速度为100μs。若采用外部时钟,则外部fCLK 可从CLKIN端送入,此时不接R、C 允许的时钟频率范围为100KHZ~1460KHZ。 CS =0 时,允许进行A/D 转换。WR 由低跳高时A/D 转换开始,8 位逐次比较 需8×8=64 个时钟周期,再加上控制逻辑操作,一次转换需要66~73 个时钟周期。 在典型应用fCLK=640KHZ 时,转换时间约为103μs~114μs。当fCLK 超过640KHZ,转换精度下降,超过极限值1460KHZ 时便不能正常工作。A 经典的电路 B 实验:从ADC0804 的模拟量通道输入0-5V 之间的模拟量,通过ADC0804 转换成数字量送给单片机,经单片机处理后在数码管上以十进制形成显示出来Proteus仿真,有时不能仿真出来,尤其是数码管的,这也正常,硬件能用就好了。 [源代码] //拧动AD旁边的电位器,会在数码管的前三位显示0-255之间的数//值。这就是把模拟信号转换成数字信号,即模数转换。 #includereg51.h #include intrins.h #define uint unsigned int #define uchar unsigned char sbit adrd=P3^7; //IO口定义 sbit adwr=P3^6; sbit diola=P2^5; sbit dula=P2^6; sbit wela=P2^7; unsigned char j,k,adval; void delay(unsigned char i) //延时程序 { for(j=i;j0;j--) for(k=125;k0;k--); } uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, //数码管编码 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void display(uchar bai_c,uchar sh_c,uchar g_c) //显示程序 { P0=table[bai_c]; //显示百位 dula=1; dula=0; P0=0xfe; wela=1; wela=0; delay(5); dula=0; P0=table[sh_c]; //显示十位 dula=1; dula=0; #includereg52.h #include intrins.h #include stdio.h #define uchar unsigned char #define uint

文档评论(0)

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

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

1亿VIP精品文档

相关文档