[求助] 想用计数器代替软延时,但下载到板子上,功能没实现,请帮我分析下

wuwei123   2013-6-7 12:22 楼主
#include
void Init_Value();
void Delay(unsigned char count);
sbit Led = P1^0;
//unsigned char i = 1;
void main(void)
{
Init_Value();
while(1);
}
void Init_Value()
{
// TMOD = 0x01;
// TH0 = (65535 - 10000) / 256;
// TL0 = (65535 - 10000) % 256;
EA = 1;
// ET0 = 1;
// TR0 = 1;
EX0 = 1;
IT0 = 0;
}
void Inter() interrupt 0
{
/* if(i == 0)
{
  i = 1;
}*/
if(!INT0)
{
  //while(i);
  //i = 1;
  Delay(20);
  if(!INT0)
  {
   while(!INT0);
   Led = !Led;
  }
}
}
/*void Timer0() interrupt 1
{
TH0 = (65535 - 10000) / 256;
TL0 = (65535 - 10000) % 256;

i = 0;
}*/
void Delay(unsigned char count)
{
unsigned int i;
unsigned int j;
for(i = 0; i <= count; i++)
  for(j = 0; j <= 1000; j++);
}


注释部分是我想用计数器替换软延时的代码.....我不知道是那里出了问题,头都搞焦了..

回复评论 (4)

刚开始,就是想用内部中断来代替软延时,但是写好了,下载板子上没反应,找了好久没发现原因,最后无奈还是用软延时来看看是不是代码写错了
点赞  2013-6-7 12:25
中断函数没有你那么些写的。里面有while、还有DELAY函数
点赞  2013-6-7 14:52

回复 板凳 ltbytyn 的帖子

能指点我下吗?刚学没多久
点赞  2013-6-8 13:45
Led=!Led;  ?
点赞  2013-6-14 09:47
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复