ADC0809模数转换与显示
何为模数转换?
模拟信号转数字信号
ADC0809和ADC0832的区别?
(1)ADC0809为8通道模数转换器,可以对8路输入信号进行模数转换,而ADC0832是2通道模数转换器。
(2)ADC0809是逐次逼近型ADC,速度要比串行ADC0832快得多,不过外围电路比较复杂,价格也贵。串行ADC对于检测变化缓慢的信号非常有利,电路简单,价格也便宜,但坏处是速度非常受限,如果是对声音进行采样,必须考虑使用并行式的ADC,否则会丢失大量信息,造成失真。
ADC0809引脚结构?
ADC0809各脚功能如下:
D7-D0:8位数字量输出引脚。
IN0-IN7:8位模拟量输入引脚。
VCC:+5V工作电压。
GND:地。
REF(+):参考电压正端。
REF(-):参考电压负端。
START:A/D转换启动信号输入端。
ALE:地址锁存允许信号输入端。
(以上两种信号用于启动A/D转换).
EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。
OE:输出允许控制端,用以打开三态数据输出锁存器。
CLK:时钟信号输入端(一般为500KHz)。
A、B、C:地址输入线。
仿真图
移动滑动变阻器RV1即可看到变化
A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。通道选择表如下表所示:
ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进入转换器进行转换。
程序原理
(1).进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,若完毕则把数据通过P0端口读入,经过数据处理之后在数码管上显示。
(2).进行A/D转换之前,要启动转换的方法:
ABC=110选择第三通道
ST=0,ST=1,ST=0产生启动转换的正脉冲信号
八段数码管(倒着写)
5V与255之间的比例关系(这里放大了100倍)
代码
#include<reg51.h>
#include<stdio.h>
#include<stdl