用t1作为中断写的程序,但运行不了,why?

2019-03-24 19:53发布

想编写一个p1.1输出方波为100ms(t1做中断)的程序,用汇编我调试好了,但是c却没反应!不知道哪里出错了    #include<reg51.h>
 sbit p0=P1^0;
void main()
 {
    TMOD=0X10;
 TH1=0X3C;
 TL1=0XB0;
 EA=1;
 ET1=1;
 TR1=1;
  }
  void int_3() interrupt 3
  {          
    p0=0;
 TH1=0X3C;
 TL1=0XB0;
   }
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
辛昕
2019-03-26 12:49

原帖由 sohappying 于 2011-6-14 21:32 发表 #include unsigned char a=0; sbit p0=P1^0; void main() { TMOD=0X10; TH1=0X3C; TL1=0XB0; EA=1; ET1=1; TR1=1; while(1) ; } void int_3() interrupt 3 { a++; TH1=0X3C; TL1=0XB0; p0=~p0; ...

 

那个a++干嘛捏?

你是想逢两次归0?

用不着,直接取模得了。

 

另外你那个a每次进出中断函数会不会消失啊?

是不是要 static  xxx a;

 

额,这个a 是A?

你想干嘛呢?没看懂

 

居然是a是全局变量!!

没事你搞个全局变量干什么?

中断不能传入变元,你在里面定义一个就好了么,反正a的应用也没超出中断函数。

[ 本帖最后由 辛昕 于 2011-6-15 10:47 编辑 ]

一周热门 更多>