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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 用外中斷方式讀按鍵,控制燈的亮滅

          用外中斷方式讀按鍵,控制燈的亮滅

          作者: 時間:2016-10-15 來源:網(wǎng)絡 收藏

          這一顆,我們學習的用法。也就是外部IO的中斷INT0,和INT1。對應的引腳是P32和P33。在我們的電路圖中,P32也就是接在K1的引腳。所以當我們按下P32接到地的時候,可以觸發(fā)一個INT0中斷,當然,必須預先初始化才會啟動。

          本文引用地址:http://www.ex-cimer.com/article/201610/307631.htm

          這種中斷方式的按鍵,可以實現(xiàn)按鍵的立即響應。對于需要快速響應的場合是很有用的。外部IO中斷還常用在用IO模擬通訊的場合,可以對數(shù)據(jù)的到來立即響應。

          下面請看代碼:

          DDDDDDDDDDDDDDDDD

          #define uchar unsigned char //定義一下方便使用

          #define uint unsigned int

          #define ulong unsigned long

          #include //包括一個52標準內(nèi)核的頭文件

          sbit P10 = P1^0; //頭文件中沒有定義的IO就要自己來定義了

          sbit P11 = P1^1;

          sbit P12 = P1^2;

          sbit P13 = P1^3;

          sbit K1= P3^2;

          bit ldelay=0; //長定時溢出標記,預置是0

          uchar speed=10; //設置一個變量保存默認的跑馬燈的移動速度

          uchar speedlever=0; //保存當前的速度檔次

          char code dx516[3] _at_ 0x003b;//這是為了仿真設置的

          //用方式K1,點亮一個LED

          void main(void) // 主程序

          {

          IT0=1; //跳變產(chǎn)生中斷

          EX0=1;

          EA=1; //打開總中斷

          while(1) //主程序循環(huán)

          {

          }

          }

          //外中斷0

          int0() interrupt 0

          {

          P10=0; //在中斷里點亮LED

          }

          DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

          這個程序里,按一下K1(P32)之后,就會觸發(fā)INT0中斷,在該中斷里點亮LED燈。

          請編譯運行,并看結(jié)果??梢钥吹剑诎聪翶1之后,LED1變處于亮著的狀態(tài)。

          作業(yè):

          用中斷方式的按鍵K1,控制一個LED燈的亮和滅兩種狀態(tài)

          提示:需要去抖操作,否則按鍵抖動會引起多種中斷。



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