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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 第8課 單片機中斷

          第8課 單片機中斷

          作者: 時間:2016-12-01 來源:網絡 收藏
          中斷是為單片機實時處理外部和內部隨機機事情而設置的一項基本功能,中斷功能的存在,極大的提高了單片機處理外部和內部事件的能力,目前幾乎所有單片機都會配置的這一項基本功能,而中斷功能的強弱也成為衡量一種單片機功能是否強大的重要指標之一。作為單片機的學習者,中斷的概念及編程能力必須要靈活的掌握并學會應用。
          斷功能的強弱因單片機的種類不同而不同,51單片機的中斷功能相對簡單,內部有5個中斷源,像一些高級的單片如飛思卡爾有上百個中斷源。但知識都是相通的,51斷的概念弄懂白了,其它單片機的也就是一個了解和熟悉的過程。
          51單片機內部總共有5個中斷源,分別外部中斷0、定時器中斷0、外部中斷0、定時器中斷1、串行中斷。后面的章節(jié)我們分別的進行介紹,這一課我們以主要外部中斷0進行介紹。
          這里我們先介紹一些基本的概念、
          一、中斷的概念
          我們先來舉日常生活中的一個例子,如圖1所示,你正在專心看書,突然電話鈴響,于是你記下正在看的書的頁數,去接電話,接完電話后再回來接著看書。這實際就是中斷的一個例子。
          ,CPU在處理某一事件A時,發(fā)生了另一事件B(中斷發(fā)生);CPU暫時中斷當前的工作,轉去處理事件B(中斷響應和中斷服務);處理完畢后,再回到原來事件A被中斷的地方繼續(xù)處理事件A(中斷返回),這一過程稱為中斷,如圖2。
          圖1 日常生活中中斷例子 圖2 單片機中中斷例子
          下面有幾個中斷的概念需要記住:
          中斷源:將能引起中斷的事件稱為中斷源,如電話鈴響,51單片機共有5個中斷源,分別為外部中斷0、定時器中斷0、外部中斷1、定時器中斷1、串口中斷。
          斷點:中斷發(fā)生的地方稱為斷點。
          主程序:CPU現行運行的程序稱為主程序,如看書。
          中斷服務子程序:處理隨機事件的程序稱為中斷服務子程序,如接電話。
          中斷系統(tǒng):實現中斷功能的部件稱為中斷系統(tǒng)。
          二、MCS-51的中斷系統(tǒng)
          51單片機中斷系統(tǒng)的結構圖如圖3所求,總共有51個中斷源,分別如下。
          圖3 51單片機中斷系統(tǒng)結構圖
          (1)INT0-外部中斷0,由P3.2端口引入,可設置為低電平觸發(fā)或下降沿觸發(fā)。
          (2)INT1-外部中斷1,由P3.3端口引入,可設置為低電平觸發(fā)或下降沿觸發(fā)。
          (3)T0-定時器/計數器中斷0,由內部計數器計滿溢出觸發(fā)。
          (4)T1-定時器/計數器中斷1,由內部計數器計滿溢出觸發(fā)。
          (5)TI/RI-串行口中斷,由串行口完成一幀字符發(fā)送/接受后觸發(fā)。
          中斷系統(tǒng)是單片機內部一個種要的功能模塊,從程序開發(fā)的角度講,對單片機內部功能模塊結構上不需要掌握得太深,因為要讓各功能模塊發(fā)揮其強大的功能,只需要正確設置相應寄存器就可以了,所以這里我們中斷的具體結構這里我不過多分析,下面介紹相關的寄存器。
          三、51單片機相關寄存器
          51單片機內部共有21個特殊功能寄存器,編程時如用C語言編程中我們只需要撐握IP、IE、SCON、TCON、P1、P2、P3、P4、PCON TMOD、TL0、TH0、TL1、TH1、SBUF15個寄存器,如圖4所示,已用紅線和藍線標出,注意紅線的能進行位操作,藍線的不能進行位操作。
          圖4 51單片機特殊功能寄存器
          上一頁 1 2 下一頁

          關鍵詞: 單片機中

          評論


          技術專區(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); })();