久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

關于中斷部分的小結(1)

作者:佚名   來源:本站原創   點擊數:  更新時間:2010年05月13日   【字體:

 中斷是單片機和其他各種微處理器中必不可少的一部分之一,在此對51單片機中斷有用的部分加以小結。

小結(1)主要是對中斷部分,對中斷編程常用的特殊功能寄存器加以羅列小結,這一部分是中斷思想的核心,以后的編程全部圍繞這些寄存器進行。以后對于中斷的編程及其寄存器設置可參考這一部分內容。
一、關于51中斷:
對于51單片機中斷子程序的編寫我們必須知道大多51單片機芯片有5個中斷源,有2個中斷優先級,每個中斷源的優先級可以編程控制。
5個中斷源分別是:
外部中斷0,由INT0/P3.2輸入
外部中斷1,由INT1/P3.3輸入
定時器/計數器0,溢出中斷請求;
定時器/計數器1,溢出中斷請求;
串行口發送/接收,中斷請求;
這里給出一個非常經典的中斷源圖,根據這個圖我們就能大概知道中斷的具體過程,以及在中斷編程中哪些地方需要設置。

很明顯的,5個中斷源可以分為三類,外
部中斷,定時器中斷和串口中斷;并且我們需要對TCON,IE,IP等進行設置。
 
二、幾個重要的特殊功能寄存器:
1.中斷允許控制寄存器IE
CPU對中斷系統所有中斷以及某個中斷源的開放和屏蔽是由中斷允許寄存器IE控制的。

EX0(IE.0),外部中斷0允許位;
ET0(IE.1),定時/計數器T0中斷允許位;
EX1(IE.2),外部中斷1允許位;
ET1(IE.3),定時/計數器T1中斷允許位;
ES(IE.4),串行口中斷允許位;
EA (IE.7), CPU中斷允許(總允許)位。
 
2.控制寄存器TCON
 TCON的低4位用于控制外部中斷, TCON的高4位用于控制定時/計數器的啟動和中斷申請。其格式如下:


 

TF1(TCON.7):T1溢出中斷請求標志位。T1計數溢出時由硬件自動置TF1為1。CPU響應中斷后TF1由硬件自動清0。T1工作時,CPU可隨時查詢TF1的狀態。所以,TF1可用作查詢測試的標志。TF1也可以用軟件置1或清0,同硬件置1或清0的效果一樣。
TR1(TCON.6):T1運行控制位。TR1置1時,T1開始工作;TR1置0時,T1停止工作。TR1由軟件置1或清0。所以,用軟件可控制定時/計數器的啟動與停止。
TF0(TCON.5):T0溢出中斷請求標志位,其功能與TF1類同。
TR0(TCON.4):T0運行控制位,其功能與TR1類同。
IE1(TCON.3),外部中斷1中斷請求標志位。
IT1(TCON.2),外部中斷1觸發方式控制位。
當IT0=0時,為電平觸發方式。
當IT0=1時,為邊沿觸發方式(下降沿有效)。
IE0(TCON.1),外部中斷0中斷請求標志位。
IT0(TCON.0),外部中斷0觸發方式控制位。
當IT0=0時,為電平觸發方式。
當IT0=1時,為邊沿觸發方式(下降沿有效)。
 
3.串口控制寄存器SCON

 

RI(SCON.0),串行口接收中斷標志位。當允許串行口接收數據時,每接收完一個串行幀,由硬件置位RI向CPU申請中斷。注意,RI必須由軟件清除。
TI(SCON.1),串行口發送中斷標志位。當CPU將一個發送數據寫入串行口發送緩沖器時,就啟動了發送過程。每發送完一個串行幀,由硬件置位TI向CPU申請中斷。注意,TI必須由軟件清除。
 
4.中斷優先級寄存器IP
51單片機有兩個中斷優先級,即可實現二級中斷服務嵌套。每個中斷源的中斷優先級都是由中斷優先級寄存器IP中的相應位的狀態來規定的 。

 

PX0(IPH.0),外部中斷0優先級設定位;
PT0(IPH.1),定時/計數器T0優先級設定位;
PX1(IPH.2),外部中斷0優先級設定位;
PT1(IPH.3),定時/計數器T1優先級設定位;
PS (IPH.4),串行口優先級設定位;
PT2 (IPH.5)    ,定時/計數器T2優先級設定位
 
三、其他相關:
1.P3口復用功能;
51單片機P3口除了作為通用I/O口外,還具有復用的特殊功能,而這些功能通常都和各種中斷有關。
P3.0 RXD(串行數據輸入口)
P3.1 TXD(串行數據輸出口)
P3.2 INT0(外部中斷0)         
P3.3 INT1(外部中斷1)
P3.4 T0(定時器/計數器0外部輸入)
P3.5 T1(定時器/計數器1外部輸入)
P3.6 WR(外部數據存儲器寫脈沖)
P3.7 RD(外部數據存儲器讀脈沖)
 
2.中斷排隊和中斷服務入口表
同一優先級中的中斷申請不止一個時,則有中斷優先權排隊問題。同一優先級的中斷優先權排隊,由中斷系統硬件確定的自然優先級形成,其排列如所示:


 
3.中斷函數寫法:
在C51中中斷函數的完整語法如下:
返回值 函數名({參數}) [模式] [重入] interrupt n [ using n ]
Interrupt 后面接一個0-31的整數,不允許用表達式。
例:
void INT_TEST() interrupt 0 using 0 //外部中斷0/1 編號(0/2)
{
…………
}
中斷不允許用于外部函數,小型程序中的中斷程序使用默認的寄存器0,
不帶using屬性的可能會取得更高的效率。
 
 其實今后對于中斷的應用除了核心思想外,無非是對上述特殊功能寄存器的設置。

關閉窗口

相關文章

主站蜘蛛池模板: 亚洲午夜精品 | aaaaaaa片毛片免费观看 | 99re在线视频观看 | 午夜成人免费视频 | 日韩视频精品在线 | 成人国产精品久久久 | 91九色麻豆 | 精品免费国产一区二区三区四区介绍 | 羞羞免费网站 | 国产精品一区二区在线 | 成人综合视频在线观看 | 国产精品高清一区二区 | 久久男人 | 国产专区视频 | 可以看黄的视频 | 999精品网 | 91精品国产色综合久久不卡蜜臀 | 一区二区三区精品在线 | 日韩精品在线一区 | 亚洲精品久久久蜜桃网站 | 国产一区| 午夜免费电影 | 午夜免费精品视频 | 国产精品美女久久久久久免费 | 亚洲国产成人精品久久 | 国产高清精品一区二区三区 | 久草青青草 | 亚洲欧美一区二区三区视频 | 亚洲成人久久久 | 免费国产黄网站在线观看视频 | av中文字幕网 | 91视频一区二区三区 | 精品国产第一区二区三区 | 国产精品一区久久久 | 在线免费中文字幕 | 玖玖玖av| 久久精品国产久精国产 | 亚洲一区二区视频 | 国产九九九九 | 欧美二区乱c黑人 | 国产成人在线一区二区 |