新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機學(xué)習(xí)筆記(四)_中斷系統(tǒng)

        51單片機學(xué)習(xí)筆記(四)_中斷系統(tǒng)

        作者: 時間:2016-11-20 來源:網(wǎng)絡(luò) 收藏
        相關(guān)概念
        • 中斷源:引起中斷的事件
        • 中斷請求:中斷源向CPU提出處理的請求
        • 斷點:發(fā)生中斷時被打斷程序的暫停點
        • 中斷響應(yīng):CPU暫?,F(xiàn)行程序而轉(zhuǎn)為響應(yīng)中斷請求的過程
        • 中斷處理程序:處理中斷源的程序
        • 中斷處理:CPU執(zhí)行有關(guān)的中斷處理程序
        • 中斷返回:返回斷點的過程

        中斷與子程序的區(qū)別

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

        調(diào)用有點相似、但兩者是不同的概念。

        • 源不同。中斷是由外部中斷源產(chǎn)生的、具有不可預(yù)測和隨機性、比如拋異常。子程序是由主程序安排調(diào)用的。
        • 響應(yīng)不同。中斷系統(tǒng)需要保護斷點和現(xiàn)場、子程序只需保存斷點。
        • 功能不同。中斷程序主要處理CPU外部異步事件、子程序調(diào)用是為主程序服務(wù)。

        中斷類型

        • 外部中斷源:外部硬件資源產(chǎn)生。上下沿觸發(fā)和高低電平觸發(fā)。
        • 定時中斷源:定時器/計數(shù)器溢出觸發(fā)。
        • 串口中斷源:串行通信時發(fā)送或接收完畢信息觸發(fā)。

        TCON中斷標志

        • IE1:外部中斷1請求標志位。
        • IT1:外部中斷1觸發(fā)方式選擇位。當IT1=0,為低電平觸發(fā)方式;當IT1=1,為下降沿觸發(fā)方式。
        • IE0:外部中斷0請求標志位。
        • IT0:外部中斷0觸發(fā)方式選擇位。 當IT0=0,為低電平觸發(fā)方式;當IT0=1,為下降沿觸發(fā)方式。

        SCON中斷標志

        • RI:串行接口時接收信息完畢后、硬件自動置RI=1、CPU響應(yīng)中斷。注意不會自動清零置RI=0、需軟件置RI=0
        • TI:串行接口發(fā)送信息完畢后、硬件自動置TI=1、CPU響應(yīng)中斷。注意不會自動清零置TI=0、需軟件置TI=0

        中斷初始化的一般步驟

        1、確定工作方式(即對TMOD賦值);
        2、預(yù)置定時或計數(shù)的初值(可直接將初值寫入TH0、TL0或TH1、TL1);
        3、根據(jù)需要開放定時器/計數(shù)器的中斷(直接對IE位賦值);
        4、啟動定時器/計數(shù)器(若已規(guī)定用軟件啟動,則可把TR0或TR1置“1”;若已規(guī)定由外中斷引腳電平啟動,則需給外引腳加啟動電平。當實現(xiàn)了啟動要求后,定時器即按規(guī)定的工作方式和初值開始計數(shù)或定時)。

        中斷允許標志位

        • EX1:外部中斷1允許位;
        • EX0:外部中斷0允許位;
        • ET1:定時/計數(shù)器T1中斷允許位;
        • ET0:定時/計數(shù)器T0中斷允許位;
        • ES:串行口中斷允許位;
        • EA: CPU中斷允許(總允許)位。

        中斷優(yōu)先級標志

        0為低優(yōu)先級、1為高優(yōu)先級
        • PS:串行接口中斷優(yōu)先級設(shè)置位
        • PT1:定時器/計數(shù)器中斷1中斷優(yōu)先級設(shè)置位
        • PT0:定時器/計數(shù)器中斷0中斷優(yōu)先級設(shè)置位
        • PX1:外部中斷1中斷優(yōu)先級設(shè)置位
        • PX0:外部中斷0中斷優(yōu)先級設(shè)置位

        51單片機中斷號

        • 外部中斷0(INT0),對應(yīng)中斷號是0, 中斷入口地址0003H
        • 定時/計數(shù)器0(T1),對應(yīng)中斷號1 ,中斷入口地址000BH
        • 外部中斷1(INT1),中斷號2 入口地址0013H
        • 定時/計數(shù)器1(T1)中斷號3 入口地址001BH
        • 串行口(RI/TI)中斷號4 入口地址0023H
        • 這五個是AT89S51的,52還多了下面這個
        • 定時/計數(shù)器2(T2)中斷號5,入口地址002BH
        1. 函數(shù)名()interrupt 0 {} //對應(yīng)外部中斷0;
        2. 函數(shù)名()interrupt 1 {} //對應(yīng)定時器/計數(shù)器0中斷;
        3. 函數(shù)名()interrupt 2 {} //對應(yīng)外部中斷1;
        4. 函數(shù)名()interrupt 3 {} //對應(yīng)定時器/計數(shù)器1中斷;
        5. 函數(shù)名()interrupt 4 {} //對應(yīng)串口中斷;
        一共5種中斷,優(yōu)先級自上向下;[摘自百度知道link]




        評論


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

        關(guān)閉
        主站蜘蛛池模板: 黄平县| 景东| 刚察县| 隆林| 柳州市| 饶阳县| 泸溪县| 阿合奇县| 洞头县| 吉首市| 昂仁县| 吉隆县| 宜兰市| 彰化县| 华坪县| 广州市| 兰西县| 贵德县| 遵义县| 南康市| 阜平县| 潞西市| 石狮市| 日土县| 全椒县| 三亚市| 辉南县| 雷波县| 苗栗县| 孟津县| 隆昌县| 郎溪县| 新蔡县| 庆安县| 竹山县| 祥云县| 富源县| 云龙县| 拉孜县| 南岸区| 沾益县|