ADC08009介绍_第1页
ADC08009介绍_第2页
ADC08009介绍_第3页
ADC08009介绍_第4页
ADC08009介绍_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、    ADC0809是CMOS单片型逐次逼近式AD转换器,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型DA转换器、逐次逼近 寄存器、三态输出锁存器等其它一些电路组成。因此,ADC0809可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。输入输出与TTL兼容。    ADC0809A/D转换芯片引脚功能ADC0809芯片有28条引脚,采用双列直插式封装 IN0IN7:8路模拟量输入端。2-12-8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路.AL

2、E:地址锁存允许信号,输入,高电平有效。 START: AD转换启动信号,输入,高电平有效。 EOC: AD转换结束信号,输出,当AD转换结束时,此端输出一个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF(+)、REF(-):基准电压。 Vcc:电源,单一5V。 GND:地。        ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,

3、B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0IN7上的一路模拟量输入。通道选择表如下表所示。CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7注意:ADC0809应用说明 (1)ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。 (2)初始化时,使ST和OE信号全为低电平。 (3)送要转换的哪一通道的地址到A,B,C端口上。 (4)在ST端给出一个至少有100ns宽的正脉冲信号。 (5)是否转换完毕,我们根据EOC信号来判断。 (6)当E

4、OC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。 下面介绍一个ADC0808和单片机接口的c51程序08与09最大的区别在于输出端与单片机的连接上,为了便于仿真,选择了0808.仿真图:注:clock的频率为500khz源代码:/*精度5v/256=0.0195=0.02*/#include <regx51.h>#include <intrins.h>#define adda P3_4#define addb P3_5#define addc P3_6#define uint unsigned int#define uchar unsigned cha

5、r#define TIMER0_COUNT 0XF05F/4MS中断一次sbit ST = 0xb2; /sbit:绝对定址的位元 (bit)变数sbit OE = 0xb0; /sbit前不可加staticsbit EOC = 0xb1;uchar code led_7seg10 = 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;uchar code position3 = 0xfd,0xfb,0xf7;uchar dis_buff3;uint ad_data;uint voltage;/*数码管显示函数*/void display(vo

6、id) static char posit = 0; P2 = 0XFF; /全灭,避免重影/ P0 = led_7segdis_buffposit; if (posit = 0) P0_7 = 1; else P0_7 = 0; P2 = positionposit; if (+posit >= 3) posit = 0; /*timer0 4ms中断服务函数*/static void timer0_isr(void) interrupt TF0_VECTOR using 1 /4ms中断一次 TR0 = 0; TL0 = (TIMER0_COUNT & 0X00FF); /低

7、八位的值赋给TL0 TH0 = (TIMER0_COUNT >> 8); /高八位的值赋给TH0 TL0,TH0都只有八位 TR0 = 1; display();/*timer0 初始化函数*/static void timer0_initialize(void) EA = 0; TR0 = 0; TMOD &= 0XF0; TMOD |= 0X01; TL0 = (TIMER0_COUNT & 0X00FF); TH0 = (TIMER0_COUNT >> 8); PT0 = 1; ET0 = 1; TR0 = 1; EA = 1;/*电压计算函数*/void data2voltage() voltage = ad_data*2; /OutData*0.02*100;256 dis_buff0 = voltage/100; dis_buff1 = voltage%100/10; dis_buff2 = voltage%10; void main(void) /0口作为模拟输入口 adda = 0; addb = 0; addc = 0; timer0_initialize(); while(1) OE = 0; ST = 0; S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论