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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 從定時(shí)器開(kāi)始說(shuō)中斷

          從定時(shí)器開(kāi)始說(shuō)中斷

          作者: 時(shí)間:2013-04-10 來(lái)源:網(wǎng)絡(luò) 收藏

          #i nclude "reg51.h"

          void initTimer(void)

          {

          TMOD=0x1;

          TH0=0xd8;

          TL0=0xf0;

          }

          void timer0(void) interrupt 1

          {

          TH0=0xd8;

          TL0=0xf0;

          //add your code here.

          }

          void main(void)

          {

          initTimer();

          TR0=1;

          ET0=1;

          EA=1;

          while(1);

          }

          上面的代碼是12M晶振下定時(shí)10000US的程序,也就是10MS發(fā)生一次中斷。initTimer()是初始化函數(shù),設(shè)置定時(shí)值和中斷的。

          10000US在12M晶振下就是100000個(gè)機(jī)器周期了,65536-100000=55536=D8F0(十六進(jìn)制),所以上面就是TH0=0xd8;TL0=0xf0;

          void timer0(void) interrupt 1就是0,我們不需要理會(huì)匯編的中斷先,只需要知道當(dāng)中斷來(lái)臨的時(shí)候,程序就自動(dòng)跳到timer0(void)這個(gè)函數(shù)運(yùn)行了,運(yùn)行完后就會(huì)回到原來(lái)中斷處繼續(xù)執(zhí)行原先的程序。

          interrupt是C51中的關(guān)鍵字,后面跟有interrupt的函數(shù)都是,那么對(duì)應(yīng)哪個(gè)中斷呢?請(qǐng)大家參考:一開(kāi)始為大家介紹的 Keil Software –Cx51 編譯器用戶手冊(cè) 中文完整版,(名字太長(zhǎng)了,以后叫KEIL手冊(cè))的第125頁(yè)。

          中斷號(hào) 中斷地址

          0 0003H

          1 000BH

          2 0013H

          3 001BH

          4 0023H

          5 002BH

          6 0033H

          7 003BH

          8 0043H

          9 004BH

          10 0053H

          11 005BH

          12 0063H



          評(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); })();