<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 一個關于單片定時器中斷的典型錯誤

          一個關于單片定時器中斷的典型錯誤

          作者: 時間:2016-11-18 來源:網(wǎng)絡 收藏
          分析一下以下程序以下程序為什么會間斷的現(xiàn)實40(本想編成40S倒計時)提示:問題出在延時子程序
          #include
          #define uchar unsigned char
          #define uint unsigned int
          sbit p14=P1^4;
          sbit p13=P1^3;
          uint i,t,z=50;
          void delay()
          {
          while(z--); }
          unsigned char code tab[] =
          {
          0XC0,//;0
          0XF9,//;1
          0XA4,//;2
          0XB0,//;3
          0X99,//;4
          0X92,//;5
          0X82,//;6
          0XF8,//;7
          0X80,//;8
          0X90,//;9
          };
          void main()
          {i=40;
          t=0;
          TMOD=1;//設置定時器0為工作方式1
          TH0=(65536-46080)/256;//定時50ms高8位求模
          TL0=(65536-46080)%256;//定時50ms低8位求余
          EA=1;//開總中斷
          ET0=1;//定時器0中斷
          TR0=1;//啟動定時器0
          while(1)
          {
          if(t==20)//50ms中斷20次
          {
          t=0;
          i--;//倒計時總數(shù)每秒減1
          }
          if(i>0)
          {
          p14=0;//數(shù)碼管個位位選關閉
          p13=1;//數(shù)碼管十位位選選通
          P0=tab[i/10];//顯示十位數(shù)據(jù)
          delay();
          P0=0xff;//關閉數(shù)碼管段選
          p14=1;//數(shù)碼管個位位選選通
          p13=0;//數(shù)碼管十位位選關閉
          P0=tab[i%10];//顯示個位數(shù)據(jù)
          delay();
          P0=0xff;//關閉數(shù)碼管段選
          }
          else{i=40;}
          }
          }

          void timer0() interrupt 1//定時器0中斷入口
          {TH0=(65536-50000)/256;
          TL0=(65536-50000)%256;
          t++;
          }


          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();