51單片機(jī)——中斷
一、中斷的概念
CPU在處理某一事件A時(shí),發(fā)生了另一事件B請(qǐng)求CPU迅速去處理(中斷發(fā)生);
本文引用地址:http://butianyuan.cn/article/201611/321839.htmCPU暫時(shí)中斷當(dāng)前的工作,轉(zhuǎn)去處理事件B(中斷響應(yīng)和中斷服務(wù));
待CPU將事件B處理完畢后,再回到原來(lái)事件A被中斷的地方繼續(xù)處理事件A(中斷返回),這一過(guò)程稱為中斷。
二、中斷寄存器
單片機(jī)有10個(gè)寄存器主要與中斷程序的書寫控制有關(guān)
1.中斷允許控制寄存器IE
2.定時(shí)器控制寄存器TCON
3.串口控制寄存器SCON
4.中斷優(yōu)先控制寄存器IP
5.定時(shí)器工作方式控制寄存器TMOD
6.定時(shí)器初值賦予寄存器(TH0/TH1,TL0/TL1)
三、寄存器功能與賦值說(shuō)明
注:在用到中斷時(shí),必須要開總中斷EA,即EA=1。 //開總中斷
1.中斷允許控制寄存器IE
EX0(EX1):外部中斷允許控制位
EX0=1 外部中斷0開關(guān)閉合 //開外部0中斷
EX0=0 外部中斷0開關(guān)斷開
ET0(ET1):定時(shí)中斷允許控制位
ET0=1 定時(shí)器中斷0開關(guān)閉合 //開內(nèi)部中斷0
ET0=0 定時(shí)器中斷0開關(guān)斷開
ES: 串口中斷允許控制位
ES=1 串口中斷開關(guān)閉合 //開串口中斷
ES=0 串口中斷開關(guān)斷開
?2.定時(shí)器控制寄存器 TCON //控制外部中斷和定時(shí)器中斷
外部中斷:
IE0(IE1):外部中斷請(qǐng)求標(biāo)志位
當(dāng)INT0(INT1)引腳出現(xiàn)有效的請(qǐng)求信號(hào),此位由單片機(jī)自動(dòng)置1,cpu開始響應(yīng),處理終端,而當(dāng)入中斷程序后由單片機(jī)自動(dòng)置0.
//外部中斷,即外部中斷相應(yīng)的引腳接入低電平或下降沿信號(hào)時(shí),中斷開始響應(yīng)。
IT0(IT1):外部中斷觸發(fā)方式控制位 //選擇有效信號(hào)
IT0(IT1)=1:脈沖觸發(fā)方式,下降沿有效。
IT0(IT1)=0:電平觸發(fā)方式,低電平有效。
內(nèi)部中斷:
TF0(TF1):內(nèi)部定時(shí)器/計(jì)數(shù)器溢出中斷標(biāo)志位
當(dāng)定時(shí)器、計(jì)數(shù)器計(jì)數(shù)溢出的時(shí)候,此位由單片機(jī)自動(dòng)置1,cup開始響應(yīng),處理中斷,而當(dāng)進(jìn)入中斷程序后由單片機(jī)自動(dòng)置0.
//內(nèi)部中斷實(shí)際上就是利用內(nèi)部的計(jì)數(shù)器,只不過(guò)提供計(jì)數(shù)的脈沖來(lái)自單片機(jī)自身。
TRO(TR1):定時(shí)器/計(jì)數(shù)器啟動(dòng)位 //啟動(dòng)定時(shí)器
TRO(TR1)=1; 啟動(dòng)定時(shí)器/計(jì)數(shù)器0
TR0(TR1)=0; 關(guān)閉定時(shí)器/計(jì)數(shù)器0
?3.串口控制寄存器SCON
TI:串行口發(fā)送中斷標(biāo)志位
當(dāng)單片機(jī)串口發(fā)送完一幀數(shù)據(jù)后,此位由單片機(jī)自動(dòng)置1,而當(dāng)進(jìn)入中斷服務(wù)程序后是不會(huì)自動(dòng)清0的,
必須由用戶在中斷服務(wù)中用軟件清0.
RI:串行口接收中斷標(biāo)志位
當(dāng)單片機(jī)串口接收完一幀數(shù)據(jù)后,此位由單片機(jī)自動(dòng)置1,而當(dāng)進(jìn)入中斷服務(wù)程序后是不會(huì)自動(dòng)清0的,
必須由用戶在中斷服務(wù)軟件中用軟件清0.
?4.中斷優(yōu)先寄存器IP
評(píng)論