久久久久久久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屬性的可能會取得更高的效率。
 
 其實今后對于中斷的應用除了核心思想外,無非是對上述特殊功能寄存器的設置。

關閉窗口

相關文章

主站蜘蛛池模板: 一级黄片一级毛片 | 成人在线免费网站 | 久久久久免费精品国产小说色大师 | 国产成人福利在线观看 | 国产精品一区二区三区在线 | 成人在线视频免费观看 | 黄色成人国产 | 黄色在线| 成人1区2区 | 成人老司机 | 激情小说综合网 | 国产精品久久久久久一区二区三区 | 尤物在线视频 | 欧美色专区 | 一区日韩 | www.97zyz.com| 国产成人精品网站 | 中文字幕乱码视频32 | 国产日韩欧美一区 | 高清欧美性猛交xxxx黑人猛交 | 日韩国产在线 | 久久久久久久久久影视 | 久久88| 北条麻妃99精品青青久久 | 久久综合激情 | 一区二区精品视频 | 自拍偷拍亚洲欧美 | 国产成人免费视频网站高清观看视频 | 99久久99 | 国产99久久精品一区二区永久免费 | 久草电影网 | 成人免费视频网站在线看 | 美女天天操 | 久久精品av麻豆的观看方式 | 天天色官网 | 国产精品日韩在线观看一区二区 | 黄色一级片视频 | 无码日韩精品一区二区免费 | 日韩精品无码一区二区三区 | 欧美成人激情 | 蜜臀av日日欢夜夜爽一区 |