當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]51單片機(jī)中斷級別 中斷源 默認(rèn)中斷級別 序號(C語言用)

51單片機(jī)中斷級別

中斷源

默認(rèn)中斷級別

序號(C語言用)

INT0---外部中斷0

最高

0    

T0---定時(shí)器/計(jì)數(shù)器0中斷

2

1

INT1---外部中斷1

3

2

T1----定時(shí)器/計(jì)數(shù)器1中斷

4

3

TX/RX---串行口中斷

5

4

T2---定時(shí)器/計(jì)數(shù)器2中斷

最低

5

中斷允許寄存器IE

位序號

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

符號位

EA

-------

ET2

ES

ET1

EX1

ET0

EX0

EA---全局中允許位。

EA=1,打開全局中斷控制,在此條件下,由各個(gè)中斷控制位確定相應(yīng)中斷的打開或關(guān)閉。

EA=0,關(guān)閉全部中斷。

-------,無效位。

ET2---定時(shí)器/計(jì)數(shù)器2中斷允許位。   EA總中斷開關(guān),置1為開;

ET2=1,打開T2中斷。                    EX0為外部中斷0INT0)開關(guān),……

ET2=0,關(guān)閉T2中斷。                    ET0為定時(shí)器/計(jì)數(shù)器0T0)開關(guān),……      

ES---串行口中斷允許位。                   EX1為外部中斷1INT1)開關(guān),……

ES=1,打開串行口中斷。                  ET1為定時(shí)器/計(jì)數(shù)器1T1)開關(guān),……

ES=0,關(guān)閉串行口中斷。                  ES為串行口(TX/RX)中斷開關(guān),……

ET1---定時(shí)器/計(jì)數(shù)器1中斷允許位。        ET2為定時(shí)器/計(jì)數(shù)器2T2)開關(guān),……

ET1=1,打開T1中斷。

ET1=0,關(guān)閉T1中斷。

EX1---外部中斷1中斷允許位。

EX1=1,打開外部中斷1中斷。

EX1=0,關(guān)閉外部中斷1中斷。

ET0---定時(shí)器/計(jì)數(shù)器0中斷允許位。

ET0=1,打開T0中斷。

ET0=0,關(guān)閉T0中斷。

EX0---外部中斷0中斷允許位。

EX0=1,打開外部中斷0中斷。

EX0=0,關(guān)閉外部中斷0中斷。

中斷優(yōu)先級寄存器IP

位序號

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

位地址

---

---

---

PS

PT1

PX1

PT0

PX0

-------,無效位。

PS---串行口中斷優(yōu)先級控制位。

PS=1,串行口中斷定義為高優(yōu)先級中斷。

PS=0,串行口中斷定義為低優(yōu)先級中斷。

PT1---定時(shí)器/計(jì)數(shù)器1中斷優(yōu)先級控制位。

PT1=1,定時(shí)器/計(jì)數(shù)器1中斷定義為高優(yōu)先級中斷。

PT1=0,定時(shí)器/計(jì)數(shù)器1中斷定義為低優(yōu)先級中斷。

PX1---外部中斷1中斷優(yōu)先級控制位。

PX1=1,外部中斷1中斷定義為高優(yōu)先級中斷。

PX1=0,外部中斷1中斷定義為低優(yōu)先級中斷。

PT0---定時(shí)器/計(jì)數(shù)器0中斷優(yōu)先級控制位。

PT0=1,定時(shí)器/計(jì)數(shù)器0中斷定義為高優(yōu)先級中斷。

PT0=0,定時(shí)器/計(jì)數(shù)器0中斷定義為低優(yōu)先級中斷。

PX0---外部中斷0中斷優(yōu)先級控制位。

PX0=1,外部中斷0中斷定義為高優(yōu)先級中斷。

PX0=0,外部中斷0中斷定義為低優(yōu)先級中斷。

定時(shí)器/計(jì)數(shù)器工作模式寄存器TMOD

位序號

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

位符號

GATE

C/T

M1

M0

GATE

C/T

M1

M0

        |-----------------定時(shí)器1------------------------|--------------------定時(shí)器0----------------------|

GATE---門控制位。

GATE=0,定時(shí)器/計(jì)數(shù)器啟動(dòng)與停止僅受TCON寄存器中TRX(X=0,1)來控制。

GATE=1,定時(shí)器計(jì)數(shù)器啟動(dòng)與停止由TCON寄存器中TRX(X=0,1)和外部中斷引腳(INT0INT1)上的電平狀態(tài)來共同控制。

C/T---定時(shí)器和計(jì)數(shù)器模式選擇位。

C/T=1,為計(jì)數(shù)器模式;C/T=0,為定時(shí)器模式。

M1M0---工作模式選擇位。

M1

M0

工作模式

0

0

方式0,為13位定時(shí)器/計(jì)數(shù)器

0

1

方式1,為16位定時(shí)器/計(jì)數(shù)器

1

0

方式2,8位初值自動(dòng)重裝的8位定時(shí)器/計(jì)數(shù)器

1

1

方式3,僅適用于T0,分成兩個(gè)8位計(jì)數(shù)器,T1停止工作

定時(shí)器/控制器控制寄存器TCON

位序號

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

符號位

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

TF1---定時(shí)器1溢出標(biāo)志位。

當(dāng)定時(shí)器1記滿溢出時(shí),由硬件使TF11,并且申請中斷。進(jìn)入中斷服務(wù)程序后,由硬件自動(dòng)清0。需要注意的是,如果使用定時(shí)器中斷,那么該位完全不用人為去操作,但是如果使用軟件查詢方式的話,當(dāng)查詢到該位置1后,就需要用軟件清0。

TR1---定時(shí)器1運(yùn)行控制位。

由軟件清0關(guān)閉定時(shí)器1。當(dāng)GATE=1,且INIT為高電平時(shí),TR11啟動(dòng)定時(shí)器1;當(dāng)GATE=0時(shí),TR11啟動(dòng)定時(shí)器1。

TF0---定時(shí)器0溢出標(biāo)志,其功能及其操作方法同TF1。

TR0---定時(shí)器0運(yùn)行控制位,其功能及操作方法同TR1。

IE1---外部中斷1請求標(biāo)志。

當(dāng)IT1=0時(shí),位電平觸發(fā)方式,每個(gè)機(jī)器周期的S5P2采樣INT1引腳,若NIT1腳為定電平,則置1,否則IE10

當(dāng)IT1=1時(shí),INT1為跳變沿觸發(fā)方式,當(dāng)?shù)谝粋€(gè)及其機(jī)器周期采樣到INIT1為低電平時(shí),則IE11IE1=1,表示外部中斷1正向CPU中斷申請。當(dāng)CPU響應(yīng)中斷,轉(zhuǎn)向中斷服務(wù)程序時(shí),該位由硬件清0。

IT1外部中斷1觸發(fā)方式選擇位。

IT1=0,為電平觸發(fā)方式,引腳INT1上低電平有效。

IT1=1,為跳變沿觸發(fā)方式,引腳INT1上的電平從高到低的負(fù)跳變有效。

IE0---外部中斷0請求標(biāo)志,其功能及操作方法同IE1。

IT0---外部中斷0觸發(fā)方式選擇位,其功能及操作方法同IT1。

從上面的知識點(diǎn)可知,每個(gè)定時(shí)器都有4種工作模式,可通過設(shè)置TMOD寄存器中的M1M0位來進(jìn)行工作方式選擇。

方式1的計(jì)數(shù)位數(shù)是16位,對T0來說,由TL0寄存器作為低8、TH0寄存器作為高8位,組成了16位加1計(jì)數(shù)器。

關(guān)于如何確定定時(shí)器T0的初值問題。定時(shí)器一但啟動(dòng),它便在原來的數(shù)值上開始加1計(jì)數(shù),若在程序開始時(shí),我們沒有設(shè)置TH0TL0,它們的默認(rèn)值都是0,假設(shè)時(shí)鐘頻率為12MHz,12個(gè)時(shí)鐘周期為一個(gè)機(jī)器周期,那么此時(shí)機(jī)器周期為1us,記滿TH0TL0就需要216 -1個(gè)數(shù),再來一個(gè)脈沖計(jì)數(shù)器溢出,隨即向CPU申請中斷。因此溢出一次共需65536us,約等于65.6ms,如果我們要定時(shí)50ms的話,那么就需要先給TH0TL0裝一個(gè)初值,在這個(gè)初值的基礎(chǔ)上記50000個(gè)數(shù)后,定時(shí)器溢出,此時(shí)剛好就是50ms中斷一次,當(dāng)需要定時(shí)1s時(shí),我們寫程序時(shí)當(dāng)產(chǎn)生2050ms的定時(shí)器中斷后便認(rèn)為是1s,這樣便可精確控制定時(shí)時(shí)間啦。要計(jì)50000個(gè)數(shù)時(shí),TH0TL0中應(yīng)該裝入的總數(shù)是65536-50000=15536.,把15536256求模:15536/256=60裝入TH0中,把15536256求余:15536/256=176裝入TL0中。

以上就是定時(shí)器初值的計(jì)算法,總結(jié)后得出如下結(jié)論:當(dāng)用定時(shí)器的方式1時(shí),設(shè)機(jī)器周期為TCY,定時(shí)器產(chǎn)生一次中斷的時(shí)間為t,那么需要計(jì)數(shù)的個(gè)數(shù)為N=t/TCY ,裝入THXTLX中的數(shù)分別為:

THX=(65536-N)/256    ,      TLX=(65536-N)%256       <x01>

中斷服務(wù)程序的寫法

void 函數(shù)名()interrupt 中斷號 using 工作組

{

   中斷服務(wù)程序內(nèi)容

}

在寫單片機(jī)的定時(shí)器程序時(shí),在程序開始處需要對定時(shí)器及中斷寄存器做初始化設(shè)置,通常定時(shí)器初始化過程如下:

1)對TMOD賦值,以確定T0 T1的工作方式。

2)計(jì)算初值,并將初值寫入TH0、TL0TH1、TL1。

3)中斷方式時(shí),則對IE賦值,開放中斷。

4)使TR0TR1置位,啟動(dòng)定時(shí)器/計(jì)數(shù)器定時(shí)或計(jì)數(shù)。

例:利用定時(shí)器0工作方式1,實(shí)現(xiàn)一個(gè)發(fā)光管以1s亮滅閃爍。

程序代碼如下:

#include<reg52.h>

#define uchar unsigned char

#define uint  unsigned int

sbit led1=P1^0;

uchar num;

void main()

  TMOD=0x01;      //設(shè)置定時(shí)器0位工作模式1M1,M001

  TH0=(65536-45872)/256;  //裝初值11.0592M晶振定時(shí)50ms數(shù)為45872

  TL0=(65536-45872)%256;

  EA=1;    //開總中斷

  ET0=1;   //開定時(shí)器0中斷

  TR0=1;   //啟動(dòng)定時(shí)器0

  while(1)

  {

     if(num==20)    //如果到了20次,說明1秒時(shí)間

 {

    led1=~led1;    //讓發(fā)光管狀態(tài)取反

num=0;

 }

  }

}

void T0_time()interrupt 1

{

   TH0=(65536-45872)/256;  //重新裝載初值

   TL0=(65536-45872)%256;

   num++;    

}

擴(kuò)展閱讀:51單片機(jī)中斷系統(tǒng)

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉