[求助] 新手救助!

fjzzfjzz   2012-2-13 16:11 楼主

为什么这个程序进入不了中断子程序呢?

void main()
{ TMOD=0x01;//设置定时器0为工作方式
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 EA=1;//开总中断
 ET0=1;//开启定时器0中断
 TR0=1;//启动定时器0
  
   while(1)
 {
       temp=0xfe;
    P1=temp;    
  if(tt==20){ 
        temp=_crol_(temp,1);
     P1=temp;
        tt=0;    
       }   
   }
}
void time0() interrupt 1
{
  TH0=(65536-50000)/256;
  TL0=(65536-50000)%256;
  tt++;
}

回复评论 (5)

应进入中断了
while里面编的有问题把、
每次都给temP=0xfe 那你移位了temp也没用啊
点赞  2012-2-13 18:26

回复 沙发 常见泽1 的帖子

我点单步运行 无法进入IF语句..
点赞  2012-2-13 18:35

回复 沙发 常见泽1 的帖子

貌似还真是这个问题...  已解决 谢了
点赞  2012-2-13 18:36
temp的赋值放到while外边,然后判断tt等于20的语句放到中断函数中,应该就可以了
点赞  2012-2-13 21:38
tt没有赋初值,或者把(tt==20)改成 (tt>=20)
点赞  2012-2-14 15:39
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复