新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機系列連載4—中斷

        51單片機系列連載4—中斷

        作者: 時間:2016-11-27 來源:網絡 收藏
        今天介紹51單片機中比較重要的一個環節——中斷,所謂中斷,就是CPU在處理某一事件A時,發生了另一事件B請求CPU迅速去處理(中斷發生),CPU暫時中斷當前的工作,轉去處理事件B(中斷響應和中斷服務),待CPU將事件B處理完畢后,再回到原來事件A被中斷的地方繼續處理事件A(中斷返回),這一過程稱為中斷。從應用角度上看,基本后續的很多內容都會用到中斷,那就先簡單說一下中斷。

        本文引用地址:http://www.104case.com/article/201611/322436.htm

        首先,中斷響應條件。有三點:中斷源有中斷請求、此中斷源的中斷允許位為1、CPU開中斷(即EA=1)。以上三條同時滿足時,CPU才有可能響應中斷。在此基礎上,下面從三個不同的中斷進行介紹。

        第一,定時器/計數器中斷鎖存寄存器TCON。如下圖所示:



        TCON中不同位代表中斷的不同標志,具體如下:

        IT0(TCON.0),外部中斷0觸發方式控制位。

        當IT0=0時,為電平觸發方式。

        當IT0=1時,為邊沿觸發方式(下降沿有效)。

        IE0(TCON.1),外部中斷0中斷請求標志位。

        IT1(TCON.2),外部中斷1觸發方式控制位。

        IE1(TCON.3),外部中斷1中斷請求標志位。

        TF0(TCON.5),定時/計數器T0溢出中斷請求標志位。

        TF1(TCON.7),定時/計數器T1溢出中斷請求標志位。

        第二,串行口中斷。也就是SCON的中斷標志,具體如下:


        這里主要介紹兩個位。RI(SCON.0):串行口接收中斷標志位,當允許串行口接收數據時,每接收完一個串行幀,由硬件置位RI,注意,RI必須由軟件清除。TI(SCON.1):串行口發送中斷標志位,當CPU將一個發送數據寫入串行口發送緩沖器時,就啟動了發送過程,每發送完一個串行幀,由硬件置位TI,CPU響應中斷時,不能自動清除TI,TI必須由軟件清除。

        第三,中斷允許控制。在51單片機中,中斷允許和禁止都是由寄存器控制的,中斷允許寄存器(IE)的字節地址為A8H,其格式如下:

        其中:

        EX0(IE.0),外部中斷0允許位;

        ET0(IE.1),定時/計數器T0中斷允許位;

        EX1(IE.2),外部中斷0允許位;

        ET1(IE.3),定時/計數器T1中斷允許位;

        ES(IE.4),串行口中斷允許位;

        EA(IE.7),CPU中斷允許(總允許)位。

        另外,中斷函數不需要聲明,比如voidexter0()interrupt0(01234分別對應的是外部中斷0、定時器/計數器T0、外部中斷1、定時器/計數器T1、串行口中斷)

        {

        d1=0;

        }這個中斷函數在前面是不需要聲明的,這個比較特殊,需要引起注意。

        中斷的應用有很多,最典型的就是定時器,這個下次再說吧!



        關鍵詞: 51單片機中

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 通榆县| 车险| 蓬莱市| 鄱阳县| 新竹县| 武义县| 家居| 英吉沙县| 湖南省| 涟源市| 建瓯市| 广饶县| 灵石县| 尼勒克县| 威信县| 都昌县| 曲周县| 凤凰县| 文化| 竹山县| 改则县| 临邑县| 类乌齐县| 克什克腾旗| 九龙城区| 沛县| 浦北县| 宁陕县| 鄂伦春自治旗| 红原县| 华蓥市| 资阳市| 剑河县| 钦州市| 遵义县| 荥经县| 巨野县| 阿巴嘎旗| 岫岩| 德钦县| 金门县|