原创 51单片机ad转换程序

2010-11-11 20:30 5402 4 4 分类: 软件与OS

#include <reg52.h>
#define uchar unsigned char
sbit ST=P1^0;
sbit EOC=P1^1;
sbit OE=P1^2;
sbit clk=P1^3;
sbit PPA=P1^5;
sbit PPB=P1^6;
sbit PPC=P1^7;
uchar dd,AD_DATA;
void delay(unsigned time)
{
 unsigned int x,y;    
 for(x=time;x>0;x--)
  for(y=112;y>0;y--);
}
unsigned char AD(void)
{
  PPA=0;PPB=0;PPC=0;
 delay(5);
 ST=1;
 delay(5);
 ST=0;
 while(EOC==0)
 OE=1;
 AD_DATA=P0;
 OE=0;
 return(AD_DATA);
}
void main()
{
  EA=1;
 ET0=1;
 TMOD=0x02;
 TH0=0xfd;
 TL0=0xfd;
 TR0=1;
 ST=0;
 OE=0;
 while(1)
 {
   dd=AD();
  P2=dd;
 }
}
void ff0() interrupt 1
{
 clk=!clk;
}
本电路简单,这里就不列出来了,本程序是基于51单片机和ad0809芯片。


adc0809是款比较常用的模数转换芯片,8位并行输入,市场 价格6元左右。51单片机8元。其中P1.5、p1.6,p1.7 为输入控制端,若输入信号接在0809的in1上,则P1.5、p1.6,p1.7为0.相应数值可以用8个led灯在单片机的io口中反映出来.电路解法灵活,可以完成单片机A/D 转换实验。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /3 下一条