赞助论坛
  • 2540阅读
  • 0回复

单片机小程序,求大神指点 [复制链接]

楼层直达
qzq51  
发帖
30
精华
0
金币
103
威望
0
贡献
0
好评
0
注册
2010-01-17
楼主    qzq51 发表于: 2015-01-22 12:14:10 
//#include <absacc.h>
  #include<reg52.h>
//#define uint unsigned int;

sbit jishu=P0^0;
sbit gongzuo=P0^1;
sbit m1=P1^0;
sbit m2=P1^1;
sbit q=P1^2;


void ms(char ms)
{char b,d;
for(b=ms;b>0;b--)
for(d=110;d>0;d--);
}

void s(char s)
{ char f;
unsigned int e;
for(f=s;f>0;f--)
for(e=1100;e>0;e--)    ;
}

void shezhi( )
{
// F0=0;

while(!jishu)
{TMOD=0x55;
TR1=1;
m1=0;
m2=1;
}
m2=0;
q=0;
}

void gonzuo(a)
{
unsigned int r0,r1;
//F0=1;
r0=0;
r0=a;
q=1;
TMOD=0X55;
TL1=0;
TH1=0;
mada1=0;
for(r1;r1<r0;)
{TR1=1;
m1=1;
r1=TH1<<8;
r1=r1+TL1;
}
m1=0;
q=0;

}

void main()
{ unsigned int a;
P0=255;
P3=255;
P1=0;
P2=0;
/*switch(PSW^5)
{
case 0:shezhi();break;
case 1:gonzuo(a);break;
//default:break;
}
P1=0 ;*/

while(1)
{
if(jishu==0)

{ q=1;
s(100);
if(jishu==0)
{ //TL1=0;
//TH1=0;
shezhi();}
q=0;
a=0;
a=TH1<<8;
a=a+TL1;
}

else {if(gongzuo==0)
{ms(50);
if(gongzuo==0)
{
gonzuo(a);
//TL1=0;
//TH1=0;

//F0=0;
}}
else break;}

}
}
我是单片机初学者,求大神给指点一下吧,怎么加软件陷阱啊,这个程序实在经不起干扰,碳刷电机一转,继电器就不闲着了,啪嗒啪嗒跳个不停,没办法工作