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

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

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

定時(shí)器中斷是什么意思,定時(shí)器中斷的工作原理

科技觀察員 ? 來(lái)源:電子知識(shí)學(xué)習(xí)分享 ? 作者:電子知識(shí)學(xué)習(xí)分享 ? 2023-07-23 09:45 ? 次閱讀

定時(shí)器中斷是由單片機(jī)中的定時(shí)器溢出而申請(qǐng)的中斷。51單片機(jī)中有兩個(gè)定時(shí)器T0和T1。STM32中共有11個(gè)定時(shí)器。

一、定時(shí)器中斷是什么意思

定時(shí)器中斷是由單片機(jī)中的定時(shí)器溢出而申請(qǐng)的中斷。

51單片機(jī)中有兩個(gè)定時(shí)器T0和T1:

(1)TF0:定時(shí)器T0溢出中斷請(qǐng)求。當(dāng)定時(shí)器TO產(chǎn)生溢出時(shí),TO中斷請(qǐng)求標(biāo)志TF0置1,請(qǐng)求中斷處理。

(2)TF1:定時(shí)器T1溢出中斷請(qǐng)求。當(dāng)定時(shí)器Tl產(chǎn)生溢出時(shí),T1中斷請(qǐng)求標(biāo)志TF1置1,請(qǐng)求中斷處理。

Stm32共有11個(gè)定時(shí)器:

1、兩個(gè)高級(jí)定時(shí)器:TIM1、TIM8-------------------------APB2

2、四個(gè)通用定時(shí)器:TIM2~TIM5-------------------------APB1

3、兩個(gè)基本定時(shí)器:TIM6、TIM7-------------------------APB1

4、兩個(gè)看門(mén)狗

5、一個(gè)系統(tǒng)嘀嗒定時(shí)器(SysTick)

二、定時(shí)器中斷原理

所謂中斷就是程序執(zhí)行的正常的時(shí)候,出現(xiàn)了突發(fā)事件,CPU停止當(dāng)前的程序的執(zhí)行,轉(zhuǎn)去處理突發(fā)事件,處理完畢后又返回原程序被中斷的位置繼續(xù)執(zhí)行。

中斷可以被分為內(nèi)部中斷和外部中斷,內(nèi)部中斷的來(lái)源來(lái)自CPU內(nèi)部(軟件中斷指令,溢出,除法錯(cuò)誤等,例如操作系統(tǒng)從用戶(hù)態(tài)切換到內(nèi)核態(tài)需借助CPU內(nèi)部的軟件中斷),外部中斷的中斷源來(lái)自CPU外部,由外設(shè)提出請(qǐng)求。

中斷過(guò)程:一個(gè)完整的中斷傳送方式的處理過(guò)程應(yīng)包括中斷請(qǐng)求、中斷優(yōu)先權(quán)判別、中斷響應(yīng)、中斷處理和中斷返回等幾個(gè)步驟。

中斷源:

(1)INTO:外部中斷0請(qǐng)求,由P3.2引腳輸入。它有兩種觸發(fā)方式,通過(guò)IT0(TCON.O)來(lái)決定是電平觸發(fā)方式還是邊沿觸發(fā)方式。一旦輸入信號(hào)有效,則向CPU申請(qǐng)中斷,并且將中斷標(biāo)志IEO置1。

(2)INT1:外部中斷1請(qǐng)求,由P3.3引腳輸入。通過(guò)IT1(TCON.2)來(lái)決定是電平觸發(fā)方式還是邊沿觸發(fā)方式。一旦輸入信號(hào)有效,則向CPU申請(qǐng)中斷,并將中斷標(biāo)志IE1置1。

(3)TF0:定時(shí)器T0溢出中斷請(qǐng)求。當(dāng)定時(shí)器TO產(chǎn)生溢出時(shí),TO中斷請(qǐng)求標(biāo)志TF0置1,請(qǐng)求中斷處理。

(4)TF1:定時(shí)器T1溢出中斷請(qǐng)求。當(dāng)定時(shí)器Tl產(chǎn)生溢出時(shí),T1中斷請(qǐng)求標(biāo)志TF1置1,請(qǐng)求中斷處理。

(5)TI/RI:串行口發(fā)送/接收中斷請(qǐng)求。當(dāng)通過(guò)串行口發(fā)送或接收完一幀串行數(shù)據(jù)時(shí),串行口中斷請(qǐng)求標(biāo)志TI或RI置1,請(qǐng)求中斷處理。

三、定時(shí)器中斷程序流程

定時(shí)器工作的流程可以按照這個(gè)順序(以51為例用定時(shí)器0方式一產(chǎn)生50毫秒的定時(shí)):

1、確定使用哪個(gè)定時(shí)器,使用哪種方式,這一步通過(guò)TMOD設(shè)置,TMOD的低四位是設(shè)置定時(shí)器0的,高四位是用來(lái)設(shè)置定時(shí)器1的,其中的M0,M1是用來(lái)設(shè)置定時(shí)器工作在哪種方式,GATE一般用不要設(shè)置,C/T是選擇計(jì)數(shù)模式還是定時(shí)模式的,如:TMOD=0X01,就說(shuō)明定時(shí)器0工作在方式1。

2、接下來(lái)就要設(shè)置定時(shí)的時(shí)間,用定時(shí)器定時(shí)50毫秒,可以用這種方式TH0=(65535-50000)/256,TL0=(65535-50000)%256;可以這樣理解:因?yàn)檫@是定時(shí)器的初值,也就是說(shuō)計(jì)數(shù)脈沖就是在這個(gè)數(shù)的基礎(chǔ)上向上遞增,到達(dá)65535后就溢出產(chǎn)生中斷。

3、第三步打開(kāi)中斷,使用IE寄存器,首先打開(kāi)總中斷EA=1,這一步是所有中斷所必須的,然后打開(kāi)定時(shí)器0中斷,ET0=1。

4、這時(shí)準(zhǔn)備工作結(jié)束,啟動(dòng)定時(shí)器,使用TCON寄存器,TR0=1,實(shí)現(xiàn)了一個(gè)50毫秒的定時(shí)。

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

    關(guān)注

    6037

    文章

    44558

    瀏覽量

    635293
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3248

    瀏覽量

    114800
  • 定時(shí)器中斷
    +關(guān)注

    關(guān)注

    0

    文章

    49

    瀏覽量

    11182
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    定時(shí)器中斷跑馬燈

    定時(shí)器中斷跑馬燈 這里我們用定時(shí)器方式再次實(shí)現(xiàn),定時(shí)器方式有效率高,定時(shí)準(zhǔn)確等優(yōu)點(diǎn)。一個(gè)編程經(jīng)驗(yàn)是,所有的
    發(fā)表于 08-09 22:58 ?6000次閱讀

    定時(shí)器中斷應(yīng)用

    定時(shí)器中斷應(yīng)用。
    發(fā)表于 03-15 14:56 ?3次下載

    stm32定時(shí)器中斷程序

    STM32的定時(shí)器是個(gè)強(qiáng)大的模塊,定時(shí)器使用的頻率也是很高的,定時(shí)器可以做一些基本的定時(shí),還可以做PWM輸出或者輸入捕獲功能。 以下是進(jìn)行stm32
    發(fā)表于 10-12 16:59 ?1.3w次閱讀

    介紹中斷定時(shí)器特點(diǎn)及應(yīng)用

    中斷定時(shí)器
    的頭像 發(fā)表于 07-10 03:51 ?5434次閱讀
    介紹<b class='flag-5'>中斷</b>與<b class='flag-5'>定時(shí)器</b>特點(diǎn)及應(yīng)用

    stm32定時(shí)器中斷與誤區(qū)

    在用到STM32定時(shí)器的更新中斷時(shí),發(fā)現(xiàn)有些情形下只要開(kāi)啟定時(shí)器就立即進(jìn)入一次中斷。準(zhǔn)確說(shuō),只要使能更新中斷允許位就立即響應(yīng)一次更新
    發(fā)表于 06-17 15:48 ?2.7w次閱讀
    stm32<b class='flag-5'>定時(shí)器</b><b class='flag-5'>中斷</b>與誤區(qū)

    51單片機(jī):開(kāi)啟中斷定時(shí)器

    51單片機(jī):開(kāi)啟中斷定時(shí)器關(guān)于中斷,需要用到中斷允許寄存定時(shí)器
    發(fā)表于 11-22 12:06 ?12次下載
    51單片機(jī):開(kāi)啟<b class='flag-5'>中斷</b>和<b class='flag-5'>定時(shí)器</b>

    "外部中斷,定時(shí)器中斷的理解"

    外部中斷外部中斷一般是由計(jì)算機(jī)外設(shè)發(fā)出的中斷請(qǐng)指求,如:鍵盤(pán)中斷、打印機(jī)中斷、定時(shí)器
    發(fā)表于 11-22 13:21 ?16次下載
    "外部<b class='flag-5'>中斷</b>,<b class='flag-5'>定時(shí)器</b><b class='flag-5'>中斷</b>的理解"

    C51編程14-中斷篇(定時(shí)器中斷1)

    /計(jì)數(shù),稱(chēng)為定時(shí)器0(T0)或者定時(shí)器1(T1),它們用來(lái)做定時(shí)器或者計(jì)數(shù)。定時(shí)器/計(jì)數(shù)
    發(fā)表于 11-22 16:21 ?8次下載
    C51編程14-<b class='flag-5'>中斷</b>篇(<b class='flag-5'>定時(shí)器</b><b class='flag-5'>中斷</b>1)

    STM32定時(shí)器中斷整理

    目錄1、系統(tǒng)異常中斷2、外部中斷(全部)3、優(yōu)先級(jí)5、如何開(kāi)關(guān)中斷示例6、搶斷優(yōu)先級(jí)、響應(yīng)優(yōu)先級(jí)說(shuō)明7、定時(shí)器說(shuō)明7.1基本定時(shí)器7.2高級(jí)
    發(fā)表于 11-23 18:06 ?3次下載
    STM32<b class='flag-5'>定時(shí)器</b>與<b class='flag-5'>中斷</b>整理

    51單片機(jī)中斷主要關(guān)于計(jì)時(shí)--定時(shí)--計(jì)算定時(shí)器初值--的簡(jiǎn)介 ~~~看到的關(guān)于中斷? 計(jì)時(shí)/定時(shí)器的介紹,覺(jué)得

    看到的關(guān)于中斷 計(jì)時(shí)定時(shí)器的介紹,個(gè)人看明白了。目錄:1、單片機(jī)中斷簡(jiǎn)介2、中斷允許寄存IE
    發(fā)表于 11-23 18:06 ?13次下載
    51單片機(jī)<b class='flag-5'>中斷</b>主要關(guān)于計(jì)時(shí)--<b class='flag-5'>定時(shí)</b>--計(jì)算<b class='flag-5'>定時(shí)器</b>初值--的簡(jiǎn)介  ~~~看到的關(guān)于<b class='flag-5'>中斷</b>? 計(jì)時(shí)<b class='flag-5'>器</b>/<b class='flag-5'>定時(shí)器</b>的介紹,覺(jué)得

    定時(shí)器中斷實(shí)現(xiàn)步驟及實(shí)例筆記

    定時(shí)器中斷實(shí)現(xiàn)步驟使能定時(shí)器時(shí)鐘。 RCC_APB1PeriphClockCmd();初始化定時(shí)器,配置ARR,PSC。 TIM_TimeBaseInit()
    發(fā)表于 11-23 18:06 ?13次下載
    <b class='flag-5'>定時(shí)器</b><b class='flag-5'>中斷</b>實(shí)現(xiàn)步驟及實(shí)例筆記

    定時(shí)器中斷實(shí)驗(yàn)

    定時(shí)器中斷實(shí)驗(yàn)定時(shí)器中斷實(shí)驗(yàn)一:51單片機(jī)定時(shí)器原理(1)51單片機(jī)定時(shí)/計(jì)數(shù)
    發(fā)表于 11-24 17:21 ?12次下載
    <b class='flag-5'>定時(shí)器</b><b class='flag-5'>中斷</b>實(shí)驗(yàn)

    STM32定時(shí)器的分類(lèi)及中斷原理

    本文主要介紹常規(guī)定時(shí)器中的TIM3,實(shí)現(xiàn)定時(shí)器中斷的功能。STM32定時(shí)器的分類(lèi)在其中一篇文章中已經(jīng)介紹過(guò),本文主要內(nèi)容主要介紹定時(shí)器的基礎(chǔ)
    的頭像 發(fā)表于 01-12 17:29 ?7314次閱讀
    STM32<b class='flag-5'>定時(shí)器</b>的分類(lèi)及<b class='flag-5'>中斷</b>原理

    如何設(shè)置基于定時(shí)器中斷

    電子發(fā)燒友網(wǎng)站提供《如何設(shè)置基于定時(shí)器中斷.zip》資料免費(fèi)下載
    發(fā)表于 02-06 14:44 ?0次下載
    如何設(shè)置基于<b class='flag-5'>定時(shí)器</b>的<b class='flag-5'>中斷</b>

    定時(shí)器中斷程序怎么寫(xiě)

    定時(shí)器中斷程序怎么寫(xiě)? 在嵌入式系統(tǒng)中,定時(shí)器被廣泛應(yīng)用于各種任務(wù)。它們?cè)趯?shí)時(shí)系統(tǒng)中可用于輪詢(xún),計(jì)時(shí)等任務(wù)。定時(shí)器可以被配置為周期性定時(shí)器,
    的頭像 發(fā)表于 09-01 10:17 ?1969次閱讀