0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

對(duì)于單片機(jī)中CPU響應(yīng)中斷服務(wù)程序問題

454398 ? 來源:博客園 ? 作者:hugh.dong ? 2020-10-21 17:33 ? 次閱讀

中斷的過程:

對(duì)于單片機(jī)來講,中斷是指CPU在處理某一時(shí)間A時(shí),發(fā)生了另一事件B請(qǐng)求CPU立刻去處理(中斷發(fā)生);CPU暫時(shí)停止當(dāng)前的工作(中斷響應(yīng)),轉(zhuǎn)而去處理事件B(中斷服務(wù)),待CPU處理事件B完成后,再回到原來事件A被中斷的地方繼續(xù)處理事件A(中斷返回)。

① 中斷源 // 5個(gè)中斷源都有一個(gè)中斷入口地址,當(dāng)某個(gè)中斷源產(chǎn)生中斷時(shí),CPU響應(yīng)中斷便到相應(yīng)的中斷入口地址執(zhí)行中斷服務(wù)程序

② 中斷的嵌套與優(yōu)先級(jí)處理

③ 中斷的響應(yīng)過程

中斷系統(tǒng)結(jié)構(gòu)

外部中斷請(qǐng)求源:INT0、INT1

外部中斷0(INT0)由外部引腳P3.2引入,外部中斷1(INT1)由外部引腳P3.3引入

內(nèi)部中斷請(qǐng)求源:T0、T1、串口中斷

程序定義方式

定義中斷函數(shù)的一般形式

void 函數(shù)名() interrupt 中斷號(hào) using 寄存器工作組

p.s.如果中斷函數(shù)中調(diào)用了其他函數(shù),則被調(diào)用函數(shù)所使用的寄存器組必須與中斷函數(shù)相同。中斷函數(shù)不能參數(shù)傳遞,沒有返回值,不能直接被調(diào)用。

中斷序號(hào)

中斷優(yōu)先級(jí)

中斷系統(tǒng)寄存器

TCON:低4位給外部中斷請(qǐng)求源使用,高4位給內(nèi)部中斷請(qǐng)求源定時(shí)器T0 T1使用

外部請(qǐng)求源

IT0:INT0觸發(fā)方式控制位,可由軟件進(jìn)行置位和復(fù)位。IT0=0時(shí),INT0為低電平觸發(fā)方式。IT0=1時(shí),INT0為負(fù)跳變觸發(fā)方式。

IE0:INT0中斷請(qǐng)求標(biāo)志位。當(dāng)有外部的中斷請(qǐng)求時(shí),該位置1(這由硬件來完成),在CPU響應(yīng)中斷后,由硬件將IE0清0。

IT1、IE1的用途和IT0、IE0相似。

內(nèi)部請(qǐng)求源

TF0:定時(shí)/計(jì)數(shù)器T0溢出中斷標(biāo)記,當(dāng)T0產(chǎn)生溢出時(shí),TF0置位。當(dāng)CPU響應(yīng)中斷后,硬件將TF0復(fù)位

TR0:T0的開閉控制位,TR0=1時(shí)定時(shí)計(jì)數(shù)器打開,TR0=0時(shí)定時(shí)計(jì)數(shù)器關(guān)閉

TF1、TR1與TF0、TR0相似。

SCON:低2位與串口中斷相關(guān)

內(nèi)部請(qǐng)求源

TI、RI:串行口發(fā)送、接收中斷

IE:中斷允許寄存器

EA:中斷總控制位。EA=1,CPU開放所有中斷;EA=0,CPU禁止所有中斷。

ES:串行口中斷控制位。ES=1,允許串行口中斷;ES=0,屏蔽串行口中斷。

ET1:定時(shí)/計(jì)數(shù)器TI中斷控制位。ET1=1,允許T1中斷;ET1=0,禁止T1中斷。

EX1:外部中斷1中斷控制位。EX1=1,允許外部中斷1中斷;EX1=0,禁止外部中斷1中斷。

ET0:定時(shí)/計(jì)數(shù)器T0中斷控制位。ET0=1,允許T0中斷;ET0=0,禁止T0中斷。

EX0:外部中斷0中斷控制位。EX0=1,允許外部中斷0中斷;EX0=0,禁止外部中斷0斷。

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

在該寄存器中,優(yōu)先級(jí)分為1 0兩級(jí),對(duì)應(yīng)的位置為1則為高優(yōu)先級(jí),位置為0則為低優(yōu)先級(jí)。執(zhí)行時(shí)先將高優(yōu)先級(jí)的中斷執(zhí)行完后才會(huì)執(zhí)行低優(yōu)先級(jí)(同樣高優(yōu)先級(jí)情況下,按默認(rèn)優(yōu)先級(jí)排)。

PS:串行口中斷優(yōu)先級(jí)控制位

PT1:定時(shí)器1優(yōu)先級(jí)控制位

PX1:外部中斷1優(yōu)先級(jí)控制位

PT0:定時(shí)器0優(yōu)先級(jí)控制位

PX0:外部中斷0優(yōu)先級(jí)控制位

補(bǔ)充:

外部中斷的觸發(fā)方式選擇

電平觸發(fā)方式(低電平觸發(fā))

CPU在每個(gè)機(jī)器周期采樣到的外部中斷輸入線的電平。在中斷服務(wù)程序返回之前,外部中斷請(qǐng)求輸入必須無效(即變?yōu)楦唠娖剑?,否則CPU返回主程序后會(huì)再次響應(yīng)中斷。

適于外中斷以低電平輸入且中斷服務(wù)程序能清除外部中斷請(qǐng)求(即外部中斷輸入電平又變?yōu)楦唠娖剑┑那闆r。

跳沿觸發(fā)方式

連續(xù)兩次采樣,一個(gè)機(jī)器周期采樣到外部中斷輸入為高,下一個(gè)機(jī)器周期采樣為低,則置“1”中斷請(qǐng)求標(biāo)志,直到CPU響應(yīng)此中斷時(shí),該標(biāo)志才清0。這樣不會(huì)丟失中斷,但輸入的負(fù)脈沖寬度至少保持1個(gè)機(jī)器周期。
編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6023

    文章

    44376

    瀏覽量

    628477
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5253

    瀏覽量

    119212
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10702

    瀏覽量

    209404
  • 中斷系統(tǒng)
    +關(guān)注

    關(guān)注

    1

    文章

    96

    瀏覽量

    60971
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    單片機(jī)中斷服務(wù)程序是干嘛的?里面寫些什么?

    `單片機(jī)中斷服務(wù)程序是寫中斷響應(yīng)(比如說一個(gè)按鍵
    發(fā)表于 05-27 19:29

    對(duì)于單片機(jī)中斷的詳細(xì)解析

    單片機(jī)CPU在處理某一事件A時(shí),發(fā)生了另一事件B請(qǐng)求CPU迅速去處理(中斷發(fā)生);CPU暫時(shí)中斷
    的頭像 發(fā)表于 12-25 11:14 ?2.9w次閱讀
    <b class='flag-5'>對(duì)于</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>中斷</b>的詳細(xì)解析

    單片機(jī)中斷系統(tǒng)介紹_51單片機(jī)中斷系統(tǒng)結(jié)構(gòu)

    單片機(jī)中斷就是當(dāng)單片機(jī)正在執(zhí)行程序的時(shí)候,突然某個(gè)按鍵按下了(產(chǎn)生外部中斷),單片機(jī)就必須得去處
    發(fā)表于 01-10 17:29 ?1.2w次閱讀
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>中斷</b>系統(tǒng)介紹_51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>中斷</b>系統(tǒng)結(jié)構(gòu)

    51單片機(jī)有幾個(gè)中斷?單片機(jī)中斷號(hào)對(duì)應(yīng)的中斷類型說明

    51單片機(jī)通常有5個(gè)中斷,當(dāng)中斷發(fā)生時(shí),程序會(huì)跳到相應(yīng)的中斷服務(wù)
    發(fā)表于 08-06 17:34 ?5次下載
    51<b class='flag-5'>單片機(jī)</b>有幾個(gè)<b class='flag-5'>中斷</b>?<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>中斷</b>號(hào)對(duì)應(yīng)的<b class='flag-5'>中斷</b>類型說明

    8051單片機(jī)定時(shí)器溢出中斷CPU響應(yīng)中斷的時(shí)間誤差分析

    產(chǎn)生單片機(jī)定時(shí)器溢出中斷與CPU響應(yīng)中斷的時(shí)間誤差有兩個(gè)原因。一是定時(shí)器溢出中斷信號(hào)時(shí),CPU正在執(zhí)行某指令;二是定時(shí)器溢出
    發(fā)表于 05-14 15:23 ?3988次閱讀

    單片機(jī)中斷CPU的輪詢有什么區(qū)別

    單片機(jī)編程過程,經(jīng)常會(huì)使用到中斷。那么,什么是單片機(jī)中斷,它與CPU的輪詢有什么區(qū)別?在本文
    發(fā)表于 06-29 11:30 ?3531次閱讀

    自學(xué)單片機(jī)編程之中斷與時(shí)鐘程序

    對(duì)于單片機(jī)來說,中斷是指CPU在處理某一事件A,發(fā)生了另一事件B,請(qǐng)求CPU迅速去處理(中斷發(fā)生
    的頭像 發(fā)表于 09-18 16:17 ?3188次閱讀
    自學(xué)<b class='flag-5'>單片機(jī)</b>編程之<b class='flag-5'>中斷</b>與時(shí)鐘<b class='flag-5'>程序</b>

    C51單片機(jī)學(xué)習(xí)筆記(四)——單片機(jī)中斷系統(tǒng)及應(yīng)用

    C51單片機(jī)學(xué)習(xí)筆記(四)——單片機(jī)中斷系統(tǒng)及應(yīng)用文章目錄C51單片機(jī)學(xué)習(xí)筆記(四)——單片機(jī)中斷
    發(fā)表于 11-14 10:21 ?17次下載
    C51<b class='flag-5'>單片機(jī)</b>學(xué)習(xí)筆記(四)——<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>中斷</b>系統(tǒng)及應(yīng)用

    單片機(jī)中斷

    文章目錄一.中斷的基本概念二.中斷相關(guān)的寄存器三.中斷的實(shí)際使用四.中斷的優(yōu)點(diǎn):一.中斷的基本概念1.
    發(fā)表于 11-14 16:06 ?10次下載
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>中斷</b>

    單片機(jī)中斷

    文章目錄一.中斷的基本概念二.中斷相關(guān)的寄存器三.中斷的實(shí)際使用四.中斷的優(yōu)點(diǎn):一.中斷的基本概念1.
    發(fā)表于 11-17 09:36 ?14次下載
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>中斷</b>

    單片機(jī)(AT89C51)中斷系統(tǒng)詳解和中斷系統(tǒng)應(yīng)用實(shí)驗(yàn)

    單片機(jī)中斷系統(tǒng)什么叫做單片機(jī)中斷?CPU暫時(shí)中止其正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行請(qǐng)求
    發(fā)表于 11-17 11:06 ?14次下載
    <b class='flag-5'>單片機(jī)</b>(AT89C51)<b class='flag-5'>中斷</b>系統(tǒng)詳解和<b class='flag-5'>中斷</b>系統(tǒng)應(yīng)用實(shí)驗(yàn)

    關(guān)于單片機(jī)中斷的若干問題

    中斷技術(shù)概述中斷系統(tǒng)作用:實(shí)時(shí)測(cè)控,單片機(jī)能及時(shí)地響應(yīng)和處理單片機(jī)外部事件或內(nèi)部事件所提出的中斷
    發(fā)表于 11-19 10:36 ?12次下載
    關(guān)于<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>中斷</b>的若干問題

    單片機(jī)是怎么中斷的?

    單片機(jī)CPU在處理某一事件A時(shí),發(fā)生了另一事件B請(qǐng)求CPU迅速去處理(中斷發(fā)生);CPU暫時(shí)中斷
    發(fā)表于 02-09 10:10 ?1次下載
    <b class='flag-5'>單片機(jī)</b>是怎么<b class='flag-5'>中斷</b>的?

    單片機(jī)C語言函數(shù)之中斷函數(shù)(中斷服務(wù)程序

    中斷響應(yīng)與返回:CPU采集到中斷請(qǐng)求信號(hào),怎樣轉(zhuǎn)向特定的中斷服務(wù)
    發(fā)表于 02-10 11:21 ?0次下載
    <b class='flag-5'>單片機(jī)</b>C語言函數(shù)之<b class='flag-5'>中斷</b>函數(shù)(<b class='flag-5'>中斷</b><b class='flag-5'>服務(wù)</b><b class='flag-5'>程序</b>)

    單片機(jī)中斷功能及其應(yīng)用

    單片機(jī)中斷功能及其應(yīng)用? 單片機(jī)中斷是指在程序執(zhí)行過程,根據(jù)特定的條件或事件自動(dòng)暫時(shí)
    的頭像 發(fā)表于 01-30 14:45 ?3946次閱讀