1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > proteus中 基于STC89C51的ADC0809模数转换仿真

proteus中 基于STC89C51的ADC0809模数转换仿真

时间:2023-10-12 22:32:31

相关推荐

proteus中 基于STC89C51的ADC0809模数转换仿真

芯片介绍与分析

***ADC0809 是采用CMOS 工艺制造的双列直插式单片8 位A/D 转换器。(分辨率) 分辨率8 位,精度7 位,带8 个模拟量输入通道,有通道地址译码锁存器,输出带三态数据锁存器。启动信号为脉冲启动方式,最大可调节误差为±1LSB。(转换精度)

ADC0809 内部没有时钟电路,故CLK 时钟需由外部输入,fclk允许范围为500kHz1MHz,典型值为640kHz。每通道的转换需6673 个时钟脉冲,大约100110μs。(转换时间)工作温度范围为-40℃+85℃。功耗为15mW,输入电压范围为0~5V,单一+5V 电源供电。(量程)

//

芯片技术手册在此:

链接:/s/12TranI_RCz2MKPWw_-D72A

提取码:f47i

//

Analyze:

1. 芯片总特征

2. 芯片引脚结构

IN0~IN7:8路模拟量输入端。

D0~D7:8位数字量输出端。

ADDA、ADDB、ADDC:3位地址输入线,用于选择8路模拟通道中的一路。

ALE:地址锁存允许信号,输入,高电平有效。

START:A/D转换启动信号,输入,高电平有效。

EOC:A/D转换结束信号,输出。当启动转换时,该引脚为低电平,当A/D转换结束时,该线脚输出高电平。

OE:数据输出允许信号,输入,高电平有效。当转换结束后,如果从该引脚输入高电平,则打开输出三态门,输出锁存器的数据从D0~D7送出。

CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ.

REF+、REF-:基准电压输入端。

(至此,需要注意此芯片需要外部提供时钟,且在500khz到640khz之间)

3. 芯片工作过程

芯片通道选择真值表:

芯片时序图:

由以上adc0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。

4. 芯片使用

4.1 Proteus仿真

4.2 软件设计

芯片对应时序驱动(非完整程序)

int OutBit=0;//芯片输出的数据//引脚定义sbit add_a=P2^4; //通道选通引脚sbit add_b=P2^5;sbit add_c=P2^6;sbit clk=P1^5;//芯片功能引脚 sbit EOC=P1^7; sbit OE=P1^4; sbit start=P1^6; sbit ALE=P2^7;if(EOC==1){ //循环检测电压OE=0; start=0; delayms(1);start=1; //开始ADC转换start=0;while(!EOC);OE=1;//输出允许OutBit=P3; //AD转换完成,读取值OE=0;//关闭输出}

芯片完整驱动程序下载地址(带数码管显示):

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。