基于51单片机——AD转换电路设计(采用AD0809芯片)

基于51单⽚机——AD转换电路设计(采⽤AD0809芯⽚)
⼀、设计要求
采⽤AD0809对输⼊的模拟量进⾏转化,转化完成后将数字量通过LED进⾏⼆进制显⽰。电路图如下。
⼆、AD0809芯⽚介绍
AD0809是8位并⾏A/D转换芯⽚。该芯⽚应⽤时,IN0~IN7共⼋路模拟输⼊引脚,通过地址A、B、C选择
其中⼀路将模拟信号送⼊芯⽚中,当转换结束后,数字量从D7~D0以8位⼆进制形式输出,同时E0C引脚输出⾼电平,表⽰转换结束。如图为AD0809内部逻辑结构。
由上图可以看到,AD0809由⼀个8路模拟量开关、⼀个地址锁存与译码器、⼀个A/D转换器和⼀个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输⼊,共⽤A/D转换器进⾏转换。三态输出锁存器⽤于锁存A/D转换完的数字量,当OE为⾼电平时,才可以从三态输出锁存器取⾛转换完的数据。
AD0809对输⼊模拟量要求:信号单极性,电压范围0~5V,若信号太⼩,必须进⾏放⼤;输⼊的模拟量在转换过程中应该保持不变,若模拟量变化太快,则需要在输⼊前添加⼀个采样保持电路。
ALE1为地址锁存允许输⼊线,⾼电平有效。当ALE线为⾼电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进⾏锁存,经过译码后被选中的通道的模拟量进转换器进⾏转换。A,B,C为地址输⼊线,⽤于选通IN0~IN7上的⼀路模拟量输⼊。
烧结烟气脱硫
ST为转换启动信号。当ST为上升沿时,所有内部寄存器清零。当ST为下降沿时,开始A/D转换。在转换期间,ST保持为低电平。
EOC为转换结束信号。当EOC为⾼电平时,标明转换结束;否则,表⽰正在进⾏A/D转换。
OE为输⼊允许信号,⽤于控制三条输出锁存器想单⽚机输出转换得到的数据。OE = 1时,输出转换得到的信号;OE = 0时,输出数据线呈⾼阻态状态。D7~D0为数字量输出线。
clk时钟输⼊信号线。AD0809内部没有时钟电路,所需时钟信号必须由外部提供。
VREF(+),VREF(-)为参考电压输⼊。
齿槽转矩三、AD08009应⽤说明
1.AD0809内部带有输出锁存器,可以直接和单⽚机相连。
2.初始化时,将ST和OE置为低电平。
3.将要转换的通道信息传给A,B,C端⼝。注意,C为⾼位,A为低位。
4.在ST端给出⼀个⾄少有100ns宽的正脉冲。
5.根据EOC的信号状态判断是否转换完毕。若EOC = 1,表⽰转换完毕。
6.当EOC为⾼电平,这时给OE⼀个⾼电平,转换数据输出给单⽚机。
四、输出数字量计算
N = (Ui *255)/5,Ui为输⼊模拟量。
五、程序
1#include <reg52.h>
2
哺乳衣3#define uchar unsigned char
4
5sbit clk = P1^3;
6sbit start = P1^2;  //start和ALE都连接在P1.2
7sbit EOC = P1^1;
8sbit OE = P1^0;
9sbit a = P1^4;
10sbit b = P1^5;
11sbit c = P1^6;
12
13void delay(unsigned char xms)
14{
15 unsigned char i, j;
16    while(xms)
17    {
准入控制系统18        i = 2;
19        j = 239;
20        do
21        {
22            while (--j);
23        }
24        while (--i);
25        xms--;
26    }
27
28}
29
30
31void ADC_init()
32{
33    P2 = 0xff;
34    //产⽣clock信号
35    EA = 1;
36    TMOD = 0x02;    //定时器0,⽅式2,8位⾃动重装载
破拱器
37    ET0 = 1;        //允许定时器0中断
38    TR0 = 1;
39    TH0 = 216;
40    TL0 = 216;
41    start = 0;
42    OE = 0;
43      a = 1;      //通道3
44      b = 1;
44      b = 1;
45      c = 0;
46}
47
48void ad_3()
49{
50    OE = 0;
51    EOC = 1;
52    start = 0;
53      a = 1;      //通道3
54      b = 1;
55      c = 0;
56    delay(10);
57    start = 1;  //上升沿
58    delay(10);
59    start = 0;  //下降沿
60    while(!EOC);//等待转换完成
61    delay(10);
62    OE = 1;
63    delay(5);
64    P0 = P2;
65    OE = 0;
66
67}
68
69void main()
70{
71    ADC_init();
72    while(1)
73    {
74        ad_3();
阀门试压装置
75    }
76}
77
78
79void t0(void) interrupt 1
80{
81    TH0 = 216;
82    TL0 = 216;
83    clk = ~clk;
84}

本文发布于:2024-09-22 01:48:54,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/254451.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:转换   输出   信号   模拟量   锁存   保持
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议