欢迎来到天天文库
浏览记录
ID:41031919
大小:183.50 KB
页数:5页
时间:2019-08-14
《ADC0809与51单片机接口电路及应用程序1》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、ADC0809与51单片机接口电路及应用程序说明:D0~D7接51单片机的P2口(P2.0~P2.7) ADIN1和ADIN2为通道IN0和IN1的电压模拟量输入(0~5V)应用程序如下:#include"reg52.h"#defineucharunsignedcharsbitST=P1^0;sbitEOC=P1^1;sbitOE=P1^2;sbitCLK=P1^3;sbitADDCS=P1^4;ucharAD_DATA[2]; //保存IN0和IN1经AD转换后的数据/**********延时函数****
2、********/voiddelay(uchari){ucharj;while(i--){for(j=125;j>0;j--);}}/*********系统初始化***********/voidinit(){EA=1; //开总中断TMOD=0x02; //设定定时器T0工作方式TH0=216; //利用T0中断产生CLK信号TL0=216;TR0=1; //启动定时器T0ET0=1;ST=0;OE=0;}
3、/***********T0中断服务程序************/voidt0(void)interrupt1using0{CLK=~CLK;}/***********AD转换函数**********/voidAD(){ST=0;ADDCS=0; //选择通道IN0delay(10);ST=1; //启动AD转换delay(10);ST=0;while(0==EOC) ;OE=1;AD_DATA[0]=P2;OE=0;ST=0;ADDCS=1;
4、//选择通道IN1delay(10);ST=1; //启动AD转换delay(10);ST=0;while(0==EOC);OE=1;AD_DATA[1]=P2;OE=0;}/*****************主函数**************/voidmain(){init();while(1){AD();}}注:由于ADC0809内部不带时钟电路,因此用51单片机的定时器T0来产生时钟信号。 在通道选择时,由于B,C接地,当A(ADDCS)为低电平时选择IN0,A为高电平时选择IN1
此文档下载收益归作者所有