求助大神 小弟感激不盡
把數組改成Int型 程序就出錯 數據發射不完改了以后的數組 int timedata[32]={580,535,535,535,535,535,535,535,535,580,580,580,580,580,580,180,35,35,80,80,35,35,35,35,80,80,35,35,80,80,80,80, };
單片機源程序
#include<reg52.h>
sbit button=P2^0;
sbit ir=P1^0;
unsigned int irtime;
char b,y;
char timedata[32]={80,35,35,35,35,35,35,35,35,80,80,80,80,80,80,80,35,35,80,80,35,35,35,35,80,80,35,35,80,80,80,80, };
void timer0()interrupt 1 //定時器中斷
{
irtime++;
if(b==1)
{
ir=~ir; //取反 如果是1就變成0
}
}
void main()
{
int x;
ET0=1; //允許定時器0的中斷
EA=1; //打開總中斷
TMOD=0X02;//定時器0工作方式2 自動重裝定時器
TH0=0Xe6; //裝初值25.8us
TL0=0Xe6; //裝初值25.8us
TR0=0; //開啟定時器T0
ir=0;
x=0;
if(y==0)
{
TR0=1;
b=1;
irtime=0;
while(irtime<320);//320
b=0;
ir=0;
while(irtime<500);// 484
for(x=0;x<33;x++)
{
irtime=0;
b=1;
while(irtime<21);//18
b=0;
ir=0;
while(irtime<timedata[x]);
if(x>33)
break; //跳出循環
}
TR0=0;
y=1;
}
}
|