新手求大哥大姐帮忙,程序问题解答疑问

2019-07-15 18:57发布

#include <reg51.h>         
         sbit  led1=P0^1;
         sbit  led2=P0^2;
         sbit  led3=P0^3;
               
                        
void main()

{           
           TMOD=0X01;
        TH0=(65536-50000) /256;
        TL0=(65536-50000)%256;
           EA=1;//中断开关
           ET0=1;//定时0
           TR0=1;

           led1=0;
           led2=1;
           led3=0;
          while(1)        ;/*为什么要有这条语句?猜想:
          TH0+TL0共用50ms>led1~led3这三条语句执行的时间        ,
          所以主函数执行完了,而TR0未来得及跳转到中断函数去执行。*/
         

}

   void T0_time() interrupt 1
   {
           
                         TH0=(65536-50000) /256;
                         TL0=(65536-50000)%256;
                         a++;                //为什么有这样一条if语句?
                         if(a==20)
                         {
                                a=0;
                                led1=~led1;
                                led2=~led2;
                                led3=~led3;

                                 }
                  }
        


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
学中
1楼-- · 2019-07-16 09:33
怎么觉得的你的程序"TMOD=0X01;"中的x是大写 你确定程序能行   我觉得应该是TMOD=0x01
苍穹小狐
2楼-- · 2019-07-16 13:16
嘿嘿,你忘了十六进制 中的X与x 是一样的。。。我们都要复习啊。。对你的回帖表示 感谢

一周热门 更多>