ADC0809与51单片机接口电路及应用程序ADC0809与51单片机接口电路及应用程序
最近研究了下ADC0809这个芯片,做了个电路,和大家分享
电路原理图如下:
500)this.width=500;" border=0>
说明:D0,D7接51单片机的P2口(P2.0,P2.7)
ADIN1和ADIN2为通道IN0和IN1的电压模拟量输入(0,5V)
应用程序如下:
#include"reg52.h"
#define uchar unsigned char sbit ST=P1^0;
sbit EOC=P1^1;
sbit OE...
ADC0809与51单片机接口电路及应用程序
最近研究了下ADC0809这个芯片,做了个电路,和大家分享
电路原理图如下:
500)this.width=500;" border=0>
说明:D0,D7接51单片机的P2口(P2.0,P2.7)
ADIN1和ADIN2为通道IN0和IN1的电压模拟量输入(0,5V)
应用程序如下:
#include"reg52.h"
#define uchar unsigned char sbit ST=P1^0;
sbit EOC=P1^1;
sbit OE=P1^2;
sbit CLK=P1^3;
sbit ADDCS=P1^4;
uchar AD_DATA[2]; //保存IN0和IN1经AD转换后的数据
/**********延时函数************/ void delay(uchar i) {
uchar j;
while(i--)
{
for(j=125;j>0;j--)
;
}
}
/*********系统初始化***********/ void init()
{
EA = 1; //开总中断
TMOD = 0x02; //设定定时器T0工作方式
TH0=216; //利用T0中断产生CLK信号
TL0=216;
TR0=1; //启动定时器T0
ET0=1;
ST=0;
OE=0;
}
/***********T0中断服务程序************/ void t0(void) interrupt 1 using 0
{
CLK=~CLK;
}
/***********AD转换函数**********/ void AD()
{
ST=0;
ADDCS=0; //选择通道IN0
delay(10);
ST=1; //启动AD转换
delay(10);
ST=0;
while(0==EOC)
;
OE=1;
AD_DATA[0]=P2;
OE=0;
ST=0;
ADDCS=1; //选择通道IN1
delay(10);
ST=1; //启动AD转换
delay(10);
ST=0;
while(0==EOC)
;
OE=1;
AD_DATA[1]=P2;
OE=0;
}
/*****************主函数**************/
本文档为【ADC0809与51单片机接口电路及应用程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。