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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC單片機(jī)之中斷程序

          PIC單片機(jī)之中斷程序

          作者: 時(shí)間:2013-05-14 來源:網(wǎng)絡(luò) 收藏

          void init_timer0(void)

          {

          OPTION_REG=0x87;

          }

          void interrupt isr(void)//,interrupt是個(gè)關(guān)鍵字說明該函數(shù),是中斷函數(shù)。

          {

          LED = ~LED;//改變LED的狀態(tài)

          INTCONbits.TMR0IF=0;//清零中斷標(biāo)志位 如果在離開前沒有清零,程序?qū)⒉煌5闹袛唷?P>TMR0=61;//給TMR0付初始值61 ,開始下一個(gè)50ms計(jì)時(shí)做準(zhǔn)備。

          //中斷函數(shù)結(jié)束 返回主函數(shù)。哪里來回 回那里去,也就是回到主函數(shù)的while(1);處

          }

          int main(int argc, char** argv)

          {

          init_fosc();

          init_gpio();

          init_timer0();

          INTCONbits.GIE=1; //開啟總中斷

          INTCONbits.TMR0IF=0;//清零TMR0溢出中斷標(biāo)志位

          INTCONbits.TMR0IE=1;//開啟TMR0溢出中斷

          TMR0=61;

          while(1);//主函數(shù) 在此什么都沒做一直在死循環(huán)。但等到50ms時(shí)間到了TMR0將會(huì)溢出,程序就會(huì)跳到void interrupt isr(void)處執(zhí)行。

          }

          我?guī)痛蠹依砬逑轮袛喑跏荚O(shè)置大致的步驟

          1 ,開啟總中斷,開啟外設(shè)中斷。INTCONbits.GIE=1; INTCONbits.PEIE=1;其實(shí)即使沒用到外設(shè)開啟也無妨。

          2 ,清楚相應(yīng)中斷的標(biāo)志位。如INTCONbits.TMR0IF=0;

          3 ,開啟相應(yīng)中斷。如INTCONbits.TMR0IE=1;

          中斷函數(shù)/程序 中要注意的就是 清零相應(yīng)的中斷標(biāo)志位 如INTCONbits.TMR0IF=0; 否則單片機(jī)會(huì)認(rèn)為中斷未被執(zhí)行 則一直中斷。


          上一頁 1 2 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();