急 自己做的ADC0809信号采集系统

2019-07-16 17:56发布

为什么软件protues能仿真 实物上没法实现   希望大神能给说明一下



程序代码
#include<reg52.h>
#define uchar unsigned char
int KK;
sbit ST=P0^0;
sbit EOC=P0^1;
sbit LED=P2^0;
sbit OE=P0^2;
sbit CLK=P0^3;
uchar temp;   //保存IN0经AD转换后的数据   
/**********延时函数************/
void delay(uchar i)
{
uchar j;
while(i--)
{
for(j=125;j>0;j--){j=j;}
;
}
}

/*********系统初始化***********/
void init()
{
TMOD = 0x01; //设定定时器T0工作方式1   
EA = 1; //开总中断
TH0=0xff; //利用T0中断产生CLK信号
TL0=0xfe;
ET0=1; //开定时器0中断
TR0=1; //启动定时器T0
  
}



/***********AD转换函数**********/
void AD()
{
EOC = 1;  
OE=0;
// CLK = 0;
ST=0;
delay(5);
ST=1; //启动AD转换 delay(10);
delay(5);
ST=0;
delay(5);
//ST=0;
while(0==EOC);
OE=1;delay(5);
// CLK = 1;
temp=P1;
OE=0;
}

/*****************主函数**************/
void main()
{while(1)
{init();
LED = 0;
while(1)
{ ST = 1;
AD();
if(temp > 100)
   {
   
     LED = 1;
   
   
   
   } else
   LED = 0;
   
}}
}
  /***********T0中断服务程序************/
void t0() interrupt 1  using 0
{
TH0=0xff; //利用T0中断产生CLK信号
TL0=0xfe;  
//KK++;
CLK=~CLK;
}

1111.jpg
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。