ADC0809模数转换器的使用详解程序
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71
};
//void display(uchar bai,uchar shi,uchar ge);
void delay(uint z);
void main()
ADC0809 模数转换器的使用详解与程序
带我们的王老师刚评上硕导了,下学期开始带研究生了。 从他那里了解到每做一次实验或者实践,应该把它用规范的格式记录下来,一来自己可以
日后查看,二来同学间可以相互交流,共通过进步,甚为必要。现将本次实验记录如下。
实验 名称:根据光强控制外围器件的通断。
实验原理;使用 AD 芯片将太阳能电池产生的光生伏打电压转化为数字信号,再通过单片 机处理后,在数码管上显示电压,同时根据设定电压伐值,控制外围器件的通断。
// 开始转换
//
关地址
//
等待 eoc 变为 1
//
打开输出Biblioteka Baidu
temp=P1; oe=0;
//
取 p1 到 p3
//
关输出
temp=temp*50; temp=temp/256;
qian=temp/1000; bai=temp%1000/100; shi=temp%100/10; ge=temp%10;
实验所需的设备:51 单片机烧写器一个,电脑一台,数字式示波器一个,数字式万用表一 个
实验所需的元件:太阳能电池一片,单片机一片,1k 排阻一个,四位连体的数码管一个, 排针若干排,导线,万用版一块,焊锡。
实验前的理论准备;能熟练使用 51 单片机,示波器,keil 软件,isp 下载软件,看懂 AD0 809 的英文 pdf 说明
{
start=0;
///delay(10);
start=1; //
ale=1;
//
adda=0;
///delay(10);
复位 打开地址选择
start=0; ale=0; //delay(1); while(eoc==0); //delay(1); oe=1; //delay(1); //P1=0xff;
{
TMOD=0x20; //设置定时器 1 为工作方式 2
TH1=0x216; //216
TL1=0x216; //216
EA=1;
//开总中断
ET1=1;
//开 t1 中断
TR1=1;
start=0; //复位
oe=0;
//输出
adda=0;
//eoc=0;
ale=0;
//关闭地址选择
while(1)
P3=0x00; P0=0xfe; P3=table[qian]; delay(50); P3=0x00; P0=0xfd; P3=table[bai]; delay(50); P3=0x00; P0=0xfb; P3=table[shi]; delay(50); P3=0x00; P0=0xf7; P3=table[ge]; } } void delay(uint z) {
实验的难点:难点一就是 AD0809 芯片的使用。 难点二就是将 AD0809 产生的 0~256 的数字换算成 0~5.000 的精确度,而又不至于溢出出错。
难点三就是以上的理论准备全部系自学,呵呵 下面着重说明 AD0809 的使用难点。
ADC0809 是采样频率为 8 位的、以逐次逼近原理进行模—数转换的器件。其内部有一个 8 通道多路开关,它可以根据地址码锁存译码后的信号,只选通 8 路模拟输入信号中的一个进 行 A/D 转换。
现将程序记录如下: 完整的程序从这里下载:
#include< reg52.h> #define uint unsigned int #define uchar unsigned char uchar aa,qian,bai,shi,ge; uint temp;
sbit clock=P2^0; sbit start=P2^1; sbit eoc=P2^2; sbit oe=P2^3; sbit ale=P2^4; sbit adda=P2^5; uchar code table[]={
值得一提的是,我按照上面电路,把 AD 的 ABC 三脚共同接接地时,AD0809088 始终输 出高电平,最后当我把 BC 共同接地,在程序中给 A 一个 0,则 AD0809 正常运行,有输出, 并且发现当所给的时钟频率越低,最高精度的那位输出越稳定,具体参数范围从芯片资料里 有详细介绍,不过十全英文,专业词汇哦。哈哈
ALE:地址锁存允许信号,输入,高电平有效。 START: A/D 转换启动信号,输入,高电平有效。 EOC: A/D 转换结束信号,输出,当 A/D 转换结束时,此端输出一个高电平(转 换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当 A/D 转换结束时,此端输入一个高 电平,才能打开输出三态门,输出数字量。 CLK:时钟脉冲输入端。要求时钟频率不高于 640KHZ。 REF(+)、REF(-):基准电压。 Vcc:电源,单一+5V。 GND:地。 ADC0809 的工作过程是:首先输入 3 位地址,并使 ALE=1,将地址存入地址锁存器中。 此 地址经译码选通 8 路模拟输入之一到比较器。START 上升沿将逐次逼近寄存器复位。下 降沿启动 A/D 转换,之后 EOC 输出信号变低,指示转换正在进行。直到 A/D 转换完成, EOC 变为高电平,指示 A/D 转换结束,结果数据已存入锁存器,这个信号可 用作中断申 请。当 OE 输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。
1.主要特性 1)8 路 8 位 A/D 转换器,即分辨率 8 位。 2)具有转换起停控制端。 3)转换时间为 100μs 4)单个+5V 电源供电 5)模拟输入电压范围 0~+5V,不需零点和满刻度校准。 6)工作温度范围为-40~+85 摄氏度 7)低功耗,约 15mW。 2.内部结构 ADC0809 是 CMOS 单片型逐次逼近式 A/D 转换器,内部结构如图 13.22 所示,它 由 8 路模拟开关、地址锁存与译码器、比较器、8 位开关树型 D/A 转换器、逐次逼近 3.外部特性(引脚功能) ADC0809 芯片有 28 条引脚,采用双列直插式封装,如图 13.23 所示。下面说明各引 脚功能。 IN0~IN7:8 路模拟量输入端。 2-1~2-8:8 位数字量输出端。 ADDA、ADDB、ADDC:3 位地址输入线,用于选通 8 路模拟输入中的一路