中斷系統(tǒng)

請(qǐng)?jiān)O(shè)想一個(gè)場(chǎng)景:你正在公司碼字铭乾,上司說(shuō)開(kāi)會(huì)剪廉。你有兩個(gè)選擇,一是繼續(xù)碼字炕檩,二是去會(huì)議室開(kāi)會(huì)斗蒋。大腦大概率會(huì)停下手頭工作,轉(zhuǎn)去開(kāi)會(huì)。這就是一個(gè)簡(jiǎn)單的中斷泉沾。假設(shè)沒(méi)有中斷系統(tǒng)捞蚂,你會(huì)繼續(xù)碼字,結(jié)局會(huì)不太好看跷究。這個(gè)世界缺少中斷系統(tǒng)姓迅,會(huì)變得不堪設(shè)想,人們只會(huì)把一件事做完做完才去做別的事俊马。如果某人正在吃飯队贱,廚房爐里的水沸騰,沒(méi)有中斷潭袱,這就可能釀成大禍柱嫌。這只是中斷的一個(gè)小場(chǎng)景。中斷系統(tǒng)的重要性大家已經(jīng)知道了屯换。單片機(jī)是一個(gè)微型處理器编丘,也具有中斷系統(tǒng),下面來(lái)介紹89c52的中斷系統(tǒng)彤悔。

定義

cpu在處理某一件事a時(shí)嘉抓,發(fā)生了另一件事b,請(qǐng)求cpu迅速去處理(中斷發(fā)生)晕窑;cpu暫時(shí)停止當(dāng)前的工作(中斷響應(yīng))抑片,轉(zhuǎn)去處理事件b(中斷服務(wù));待cpu將事件b處理完畢后杨赤,再回到原來(lái)事件a被中斷的地方繼續(xù)處理事件a(中斷返回)敞斋。流程圖如下
單片機(jī)中斷流程

中斷嵌套

當(dāng)CPU響應(yīng)某一中斷時(shí),若有優(yōu)先權(quán)高的中斷源發(fā)出中斷請(qǐng)求疾牲,則CPU能中斷正在進(jìn)行的中斷服務(wù)程序植捎,并保留這個(gè)程序的斷點(diǎn)(類似于子程序嵌套),響應(yīng)高級(jí)中斷阳柔,高級(jí)中斷處理結(jié)束以后焰枢,再繼續(xù)進(jìn)行被中斷的中斷服務(wù)程序,這個(gè)過(guò)程稱為中斷嵌套舌剂。如果發(fā)出新的中斷請(qǐng)求的中斷源的優(yōu)先權(quán)級(jí)別與正在處理的中斷源同級(jí)或更低時(shí)济锄,CPU不會(huì)響應(yīng)這個(gè)中斷請(qǐng)求,直至正在處理的中斷服務(wù)程序執(zhí)行完以后才能去處理新的中斷請(qǐng)求霍转。流程圖如下
中斷嵌套流程圖

結(jié)構(gòu)

看完中斷的知識(shí)點(diǎn)后荐绝,來(lái)了解一下中斷的內(nèi)部結(jié)構(gòu)
中斷系統(tǒng)有四個(gè)特殊功能寄存器

  • 定時(shí)器控制寄存器TCON
  • 串行口控制寄存器SCON
  • 中斷允許寄存器IE
  • 中斷優(yōu)先級(jí)寄存器IP
    下面來(lái)各個(gè)擊破
定時(shí)器控制寄存器

定時(shí)器控制寄存器TCON在特殊功能寄存器中,字節(jié)地址為88H谴忧,位地址

為88H~8FH(低至高)很泊,可進(jìn)行位尋址(對(duì)為地址中的內(nèi)容進(jìn)行微操作的尋址方式稱為位尋址)。單片機(jī)復(fù)位時(shí)沾谓,TCON全部被清零委造,其各位定義如下圖。
定時(shí)器控制寄存器

TF1:定時(shí)器 1 溢出標(biāo)志均驶。當(dāng)定時(shí)器/計(jì)數(shù)器 1 溢出時(shí)昏兆,由 硬件置位;當(dāng)主機(jī)響應(yīng)中斷妇穴,轉(zhuǎn)向中斷服務(wù)程序時(shí)爬虱,由硬件清零。

TR1:定時(shí)器 1 運(yùn)行控制位腾它, 由軟件置位/ 復(fù)位來(lái)開(kāi)啟或關(guān)閉定時(shí)器/計(jì)數(shù)器 1跑筝。
TF0:定時(shí)器 0 溢出標(biāo)志。當(dāng)定時(shí)器/計(jì)數(shù)器 0 溢出時(shí)瞒滴,由 硬件置位曲梗;當(dāng)主機(jī)響應(yīng)中斷,轉(zhuǎn)向中斷服務(wù)程序時(shí)妓忍,由硬件清零虏两。
TR0:定時(shí)器 0 運(yùn)行控制位,由 軟件置位/ 復(fù)位來(lái)開(kāi)啟或關(guān)閉定時(shí)器/計(jì)數(shù)器 0世剖。
IE1:外部中斷 1 跳變中斷請(qǐng)求標(biāo)志定罢,當(dāng)檢測(cè)到 INT1 發(fā)生 1 到 0 的跳變時(shí),由硬件置位硬件置位旁瘫;當(dāng)主機(jī)響應(yīng)中斷祖凫, 轉(zhuǎn)向中斷服務(wù)程序時(shí),由硬件清零酬凳。
IT1:外部中斷 1 觸發(fā)方式控制位蝙场,由 軟件置位或清零來(lái)選擇外部中斷 1 的跳變/電平觸發(fā)中斷請(qǐng)求。IT1=0 時(shí)粱年,外部中斷 1 為電平觸發(fā)方式售滤,當(dāng) INT1 輸入低電平時(shí),置位 IE1台诗。采用電平觸發(fā)方式時(shí)完箩,外部中斷源必須保持低電平有效,直到該中斷被 CPU 響應(yīng)拉队,同時(shí)在該中斷服務(wù)程序執(zhí)行完之前弊知,外部中斷源必須被清除,否則將產(chǎn)生另一次中斷粱快。IT1=1 時(shí)秩彤,外部中斷 1 為邊沿觸發(fā)方式叔扼,在對(duì) INT1 的相鄰兩次采樣中,如果一個(gè)周期中為高電平漫雷,接下來(lái)的周期為低電平瓜富,則置位 IE1,表示外部中斷 1 正在向 CPU 申請(qǐng)中斷降盹。直到該中斷被CPU 響應(yīng)時(shí)与柑,才被 硬件清零。
IE0:外部中斷 0 跳變中斷請(qǐng)求標(biāo)志蓄坏,當(dāng)檢測(cè)到 INT1 發(fā)生 1 到 0 的跳變時(shí)价捧,由硬件置位硬件置位;當(dāng)主機(jī)響應(yīng)中斷涡戳, 轉(zhuǎn)向中斷服務(wù)程序時(shí)结蟋,由硬件清零。
IT0:外部中斷 0 觸發(fā)方式控制位渔彰,應(yīng)用同 IT1椎眯。

串行口控制寄存器 SCON

串行口控制寄存器 SCON在特殊功能寄存器中,字節(jié)地址為98H胳岂,可位尋址编整。單片機(jī)復(fù)位時(shí),SCON全部被清零乳丰,各位定義如下掌测。
串行口控制寄存器 SCON

SM0:串行口工作方式控制位。
SM1:串行口工作方式控制位产园,和 SM0 一起來(lái)選擇工作方式汞斧。
SM2:多機(jī)通信控制位。
REN:允許串行接收控制位什燕。由軟件來(lái)設(shè)置粘勒,置 1 時(shí)允許接收,清零時(shí)禁止接收屎即。
TB8:串行發(fā)送數(shù)據(jù)的第 9 位庙睡,由設(shè)置 0 或者 1。
RB8:串行接收數(shù)據(jù)的第 9 位技俐。
TI:發(fā)送中斷標(biāo)志位乘陪,由片內(nèi)硬件在方式 0 串行發(fā)送第 8 位結(jié)束時(shí)置位,或在其它方式串行發(fā)送停止位的開(kāi)始時(shí)置位雕擂。 在中斷服務(wù)程序中要清零才能發(fā)送下一次數(shù)據(jù)啡邑。
RI:接收中斷標(biāo)志位,由片內(nèi)硬件在方式 0 串行接收到第 8 位結(jié)束時(shí)置位井赌,或在其它方式串行接收到停止位的中間時(shí)置位谤逼。 在中斷服務(wù)程序中要清零才能接收下一次數(shù)據(jù)贵扰。

中斷允許寄存器IE

中斷允許寄存器IE用來(lái)設(shè)定各中斷源的打開(kāi)和關(guān)閉。IE在特殊功能寄存器中流部,字節(jié)地址為A8H.IE寄存器可位尋址戚绕。單片機(jī)復(fù)位時(shí),寄存器全部被清零贵涵,各位定義如下。


中斷允許寄存器IE

EA:CPU 的中斷開(kāi)放標(biāo)志恰画,EA=1宾茂,開(kāi)放所有中斷;EA=0拴还,屏蔽所有的中斷跨晴。
ET2:定時(shí)器/計(jì)數(shù)器 T2 溢出中斷允許位,ET2=1片林,允許 T2 中斷端盆;ET2=0,禁止T2中斷费封。在 C51 焕妙、S51 和 和 C2051 中沒(méi)有 T2 ,所以 C51 弓摘、S51 和 和 C2051 中的 IE 寄存器 ET2 位無(wú)定義焚鹊。
ES:串行口中斷允許位。ES=1韧献,允許串行口中斷末患;ES=0,禁止串行口中斷锤窑。
ET1:定時(shí)器/計(jì)數(shù)器 T1 溢出中斷允許位璧针,ET1=1,允許 T1 中斷渊啰;ET1=0探橱,禁止 T1中斷。
EX1:外部中斷 1 中斷允許位绘证。EX1=1走搁,允許外部中斷 1 中斷;EX1=0迈窟,禁止外部中斷 私植。
ET0:定時(shí)器/計(jì)數(shù)器 T0 溢出中斷允許位,ET0=1车酣,允許 T0 中斷曲稼;ET0=0索绪,禁止 T0中斷。
EX0:外部中斷 0 中斷允許位贫悄。EX0=1瑞驱,允許外部中斷 0 中斷;EX0=0窄坦,禁止外部中斷 0 中斷唤反。

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

中斷優(yōu)先級(jí)寄存器IP字節(jié)地址為B8H,用來(lái)設(shè)定各中斷源屬于兩級(jí)中斷的哪一級(jí)鸭津。中斷優(yōu)先級(jí)寄存器IP可位尋址彤侍。單片機(jī)復(fù)位時(shí)中斷優(yōu)先級(jí)寄存器IP全部清零。
中斷優(yōu)先級(jí)寄存器IP

IP 中的某位如果為 1逆趋,則該位所對(duì)應(yīng)的中斷定義為高優(yōu)先級(jí)中斷盏阶;反之,IP 中的某位如果為 0闻书,則該位所對(duì)應(yīng)的中斷定義為低優(yōu)先級(jí)中斷(PT2名斟、PS、PT1、PX1、PT0配深、PX0 分別對(duì)應(yīng)定時(shí)器 T2 中斷硫嘶、串行口中斷、定時(shí)器 T1 中斷、外部中斷 1、定時(shí)器 T0 中斷、外部中斷 0)蒋腮。 其中 PT2 位在 C51 、S51 和 和 C2051 中無(wú)定義藕各。中斷優(yōu)先級(jí)如下池摧。
中斷優(yōu)先級(jí)

這里解釋一下中斷優(yōu)先級(jí),及同一時(shí)刻發(fā)生兩個(gè)中斷激况,那么先執(zhí)行哪個(gè)中斷作彤?,取決于中斷源優(yōu)先級(jí)乌逐。
這些寄存器位置與功能并不需要強(qiáng)記竭讳,這些在數(shù)據(jù)手冊(cè)都會(huì)有說(shuō)明,只要會(huì)用就行浙踢。

內(nèi)部結(jié)構(gòu)

看完寄存器绢慢,再來(lái)了解中斷系統(tǒng)內(nèi)部結(jié)構(gòu)。內(nèi)部結(jié)構(gòu)如圖所示洛波。
內(nèi)部結(jié)構(gòu)

看到電路圖不用害怕胰舆,慢慢看下去就會(huì)覺(jué)得不難骚露。首先明白數(shù)據(jù)為1時(shí),開(kāi)關(guān)閉合缚窿,為0時(shí)棘幸,開(kāi)關(guān)斷開(kāi)。以T1定時(shí)器為中斷源來(lái)看一篇電路圖倦零。
1.打開(kāi)總中斷(EA)误续,全局中斷允許位置1
2.打開(kāi)定時(shí)器中斷,定時(shí)器中斷允許位置1
3.T1定時(shí)器數(shù)據(jù)溢出扫茅,引起TF1置1蹋嵌,申請(qǐng)中斷。
4.如果有兩個(gè)中斷同時(shí)產(chǎn)生诞帐,判斷中斷優(yōu)先級(jí)欣尼,選擇發(fā)生哪個(gè)中斷請(qǐng)求
5.中斷請(qǐng)求

總結(jié)

單片機(jī)中斷系統(tǒng)已經(jīng)介紹完畢爆雹,相信大家或多或少都有理解一些內(nèi)容停蕉。只要認(rèn)真看完,這些都不是難事钙态。僅僅一個(gè)中斷系統(tǒng)是完成不了什么的慧起,它還需要其他如計(jì)數(shù)器,串口等等才能完成功能册倒。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蚓挤,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子驻子,更是在濱河造成了極大的恐慌灿意,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件崇呵,死亡現(xiàn)場(chǎng)離奇詭異缤剧,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)域慷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)荒辕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人犹褒,你說(shuō)我怎么就攤上這事抵窒。” “怎么了叠骑?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵李皇,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我宙枷,道長(zhǎng)疙赠,這世上最難降的妖魔是什么付材? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮圃阳,結(jié)果婚禮上厌衔,老公的妹妹穿的比我還像新娘。我一直安慰自己捍岳,他們只是感情好富寿,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著锣夹,像睡著了一般页徐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上银萍,一...
    開(kāi)封第一講書(shū)人閱讀 49,829評(píng)論 1 290
  • 那天变勇,我揣著相機(jī)與錄音,去河邊找鬼贴唇。 笑死搀绣,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的戳气。 我是一名探鬼主播链患,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼瓶您!你這毒婦竟也來(lái)了麻捻?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤呀袱,失蹤者是張志新(化名)和其女友劉穎贸毕,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體夜赵,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡明棍,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了油吭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片击蹲。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖婉宰,靈堂內(nèi)的尸體忽然破棺而出歌豺,到底是詐尸還是另有隱情,我是刑警寧澤心包,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布类咧,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏痕惋。R本人自食惡果不足惜区宇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望值戳。 院中可真熱鬧议谷,春花似錦、人聲如沸堕虹。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)赴捞。三九已至逼裆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間赦政,已是汗流浹背胜宇。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留恢着,地道東北人桐愉。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像然评,于是被迫代替她去往敵國(guó)和親仅财。 傳聞我的和親對(duì)象是個(gè)殘疾皇子狈究,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容

  • 單片機(jī)STC89C52學(xué)習(xí)——15 中斷系統(tǒng) 匯總:00 單片機(jī)STC89C52學(xué)習(xí)參考教程:普中科技 1 中斷系...
    aaa小菜雞閱讀 995評(píng)論 0 0
  • 目標(biāo):中斷系統(tǒng)的理解 1.中斷簡(jiǎn)介 中斷 中斷:cpu在正常執(zhí)行程序的過(guò)程中碗淌,計(jì)算機(jī)內(nèi)部或外部發(fā)生了另一件事請(qǐng)求c...
    飛向深空閱讀 918評(píng)論 0 0
  • 一.Linux系統(tǒng),陷入內(nèi)核的三種方式 1.系統(tǒng)調(diào)用:應(yīng)用程序主動(dòng)像操作系統(tǒng)發(fā)出的服務(wù)請(qǐng)求抖锥,系統(tǒng)調(diào)用是應(yīng)用程序主動(dòng)...
    MagicDong閱讀 2,014評(píng)論 0 2
  • 中斷系統(tǒng)是計(jì)算機(jī)操作系統(tǒng)中響應(yīng)和處理中斷的系統(tǒng)亿眠,包括硬件子系統(tǒng)和軟件子系統(tǒng)兩部分中斷系統(tǒng)響應(yīng)由硬件子系統(tǒng)完成中斷處...
    極客123閱讀 503評(píng)論 0 0
  • “事不關(guān)己高高掛起” 這句話從我們老師說(shuō)出口還真的是好違和,在我的印象里磅废,我們的老師有些許勢(shì)利纳像。我依稀記得那次因?yàn)?..
    蘇栗閱讀 502評(píng)論 0 0