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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

51單片機中斷系統(tǒng)的講解

汽車電子技術 ? 來源:嵌入式悅翔園 ? 作者:JamesBin ? 2023-02-17 15:11 ? 次閱讀

在接下來的教程中,將會介紹定時器、串口通信等外設的基本使用,而這些外設的使用都要涉及中斷,而且中斷是單片機或嵌入式開發(fā)中一個相當重要的概念。不能掌握中斷系統(tǒng),就無法靈活應用這些外設。

一、中斷定義

CPU在處理某一事件A時,發(fā)生了另一事件B請求CPU迅速去處理(中斷發(fā)生);CPU暫時中斷當前的工作,轉(zhuǎn)去處理事件B(中斷響應和中斷服務);待CPU將事件B處理完畢后,再回到原來事件A被中斷的地方繼續(xù)處理事件A(中斷返回),這一過程稱為中斷 。

圖片

引起CPU中斷的根源,稱為中斷源。中斷源向CPU提出的中斷請求。CPU暫時中斷原來的事務A,轉(zhuǎn)去處理事件B。

對事件B處理完畢后,再回到原來被中斷的地方(即斷點),稱為中斷返回。實現(xiàn)上述中斷功能的部件稱為中斷系統(tǒng)。

圖片

二、51中斷結(jié)構(gòu)

89C51/52的中斷系統(tǒng)有5個中斷源 ,2個優(yōu)先級,可實現(xiàn)二級中斷嵌套 。

圖片

圖片

1、(P3.2)可由IT0(TCON.0)選擇其為低電平有效還是下降沿有效。當CPU檢測到P3.2引腳上出現(xiàn)有效的中斷信號時,中斷標志IE0(TCON.1)置1,向CPU申請中斷。

2、(P3.3)可由IT1(TCON.2)選擇其為低電平有效還是下降沿有效。當CPU檢測到P3.3引腳上出現(xiàn)有效的中斷信號時,中斷標志IE1(TCON.3)置1,向CPU申請中斷。

3、TF0(TCON.5),片內(nèi)定時/計數(shù)器T0溢出中斷請求標志。當定時/計數(shù)器T0發(fā)生溢出時,置位TF0,并向CPU申請中斷。

4、TF1(TCON.7),片內(nèi)定時/計數(shù)器T1溢出中斷請求標志。當定時/計數(shù)器T1發(fā)生溢出時,置位TF1,并向CPU申請中斷。

5、RI(SCON.0)或TI(SCON.1),串行口中斷請求標志。當串行口接收完一幀串行數(shù)據(jù)時置位RI或當串行口發(fā)送完一幀串行數(shù)據(jù)時置位TI,向CPU申請中斷。

三、中斷配置

CPU對中斷系統(tǒng)的所有中斷以及某個中斷源的開發(fā)和屏蔽是由中斷允許寄存器IE控制的。

EA:中斷允許總開關控制位。(1:所有中斷請求被允許;0:所有中斷請求被屏蔽)

ES:串行口中斷允許控制位。(1:允許串口中斷;0:禁止串口中斷)

ET1:定時器/計數(shù)器T1的溢出中斷允許控制位。(1:允許T1溢出中斷;0:禁止T1溢出中斷)

EX1:外部中斷1中斷允許位。(1:允許外部中斷1中斷;0:禁止外部中斷1中斷)

ET0:定時器/計數(shù)器T0的溢出中斷允許控制位。(1:允許T1溢出中斷;0:禁止T1溢出中斷)

EX0:外部中斷0中斷允許位。(1:允許外部中斷1中斷;0:禁止外部中斷1中斷)

1、中斷請求標志

TOCN 的中斷標志IT0(TCON.0),外部中斷0觸發(fā)方式控制位。

當IT0=0時,為低電平觸發(fā)方式。

當IT0=1時,為邊沿觸發(fā)方式(下降沿有效)。

IE0(TCON.1),外部中斷0中斷請求標志位。

IT1(TCON.2),外部中斷1觸發(fā)方式控制位。

IE1(TCON.3),外部中斷1中斷請求標志位。

TF0(TCON.5),定時/計數(shù)器T0溢出中斷請求標志位。

TF1(TCON.7),定時/計數(shù)器T1溢出中斷請求標志位。

2、中斷優(yōu)先級

外部中斷0(IE0)->定時/計數(shù)器0(TF0)->外部中斷1(IE1)->定時/計數(shù)器1(TF1)->串行口(R1或T1)

3、中斷源

外部中斷0(int0),對應中斷號是0,中斷入口地址0003h

定時/計數(shù)器0(t1),對應中斷號1,中斷入口地址000bh

外部中斷1(int1),對應中斷號2,中斷入口地址0013h

定時/計數(shù)器1(t1),對應中斷號3,中斷入口地址001bh

串行口中(ri/ti),對應中斷號4,中斷入口地址0023h

3、中斷相應條件

中斷源有中斷請求

此中斷源的中斷允許位為1

CPU開中斷(EA=1)

四、中斷定義

主程序中需要有以下代碼:

EA=1;//打開總中斷開關
EX0=1;//開外部中斷0
IT0=0/1;//設置外部中斷的觸發(fā)方式

中斷服務函數(shù):

void int0 () interrupt 0 using 1  // using 1 不用寫也不用管


{
do anything that you want
}

五、程序舉例

#include
sbit led =P2^1;
void main()
{
   EA=1;            //開啟總中斷,這個相當于校長
   TMOD =0x01;
   TH0=(65536-48300)/256;    //50ms
   TL0=(65536-48300)%256;
   TR0=1;         //  打開定時器T0
   ET0=1;         //允許中斷     這個相當于班主任,只有校長和班主任同意中斷才能中斷

   while(1)
   {
       ;
   }
}
 void time0() interrupt 1
{
   unsigned int count;
   TF0=0;          //注意TF0同時是中斷請求標志位,
                           //TF0=1,請求中斷  
   TH0=(65536-48300)/256;    //50ms 裝初值
   TL0=(65536-48300)%256;
   count+=1;
   if(count>=20)
   {
      led=~led;
   count=0;
   }


 }

圖片

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

    關注

    6030

    文章

    44489

    瀏覽量

    631968
  • 定時器
    +關注

    關注

    23

    文章

    3231

    瀏覽量

    114326
  • 嵌入式開發(fā)

    關注

    18

    文章

    1018

    瀏覽量

    47469
  • 串口通信
    +關注

    關注

    34

    文章

    1607

    瀏覽量

    55381
收藏 人收藏

    評論

    相關推薦

    51單片機定時器中斷_51單片機中斷系統(tǒng)_51單片機擴展中斷的四種方法

    中斷是為使單片機具有對外部或內(nèi)部隨機發(fā)生的事件進行處理而設置的。51單片機有5種中斷源,即有5種對應的情況發(fā)生時會使
    發(fā)表于 12-08 10:15 ?1.1w次閱讀
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>定時器<b class='flag-5'>中斷</b>_<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>中斷</b><b class='flag-5'>系統(tǒng)</b>_<b class='flag-5'>51</b><b class='flag-5'>單片機</b>擴展<b class='flag-5'>中斷</b>的四種方法

    單片機中斷系統(tǒng)如何使用?基本概念和應用詳細講解

    本文檔的主要內(nèi)容詳細介紹的的是單片機中斷系統(tǒng)如何使用?基本概念和應用詳細講解內(nèi)容包括了:一中斷的基本概念,二MCS-
    發(fā)表于 09-29 11:08 ?11次下載
    <b class='flag-5'>單片機</b>的<b class='flag-5'>中斷</b><b class='flag-5'>系統(tǒng)</b>如何使用?基本概念和應用詳細<b class='flag-5'>講解</b>

    51單片機教程之51單片機中斷系統(tǒng)的詳細資料概述

    本文檔的主要內(nèi)容詳細介紹的是51單片機教程之51單片機中斷系統(tǒng)的詳細資料概述主要內(nèi)容介紹的是
    發(fā)表于 11-19 09:56 ?17次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>教程之<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>中斷</b><b class='flag-5'>系統(tǒng)</b>的詳細資料概述

    51單片機中斷系統(tǒng)詳細資料總結(jié)

    本文檔的詳細介紹的是51單片機中斷系統(tǒng)詳細資料總結(jié)。主要內(nèi)容包括了:1 中斷的概念,2 中斷
    發(fā)表于 03-07 16:37 ?3次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>中斷</b><b class='flag-5'>系統(tǒng)</b>詳細資料總結(jié)

    51單片機外部中斷0實例詳解

    今天就以51單片機的外部中斷0為例,來簡單講解一下單片機中斷的用法。1
    發(fā)表于 11-11 12:51 ?19次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>外部<b class='flag-5'>中斷</b>0實例詳解

    C51單片機學習筆記(四)——單片機中斷系統(tǒng)及應用

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

    51單片機中斷

    51單片機中斷(interrupt)
    發(fā)表于 11-20 16:51 ?13次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>之<b class='flag-5'>中斷</b>

    89C51單片機中的中斷系統(tǒng)

    89C51單片機中的中斷系統(tǒng)對于在單片機中的學習,中斷系統(tǒng)
    發(fā)表于 11-22 12:21 ?32次下載
    89C<b class='flag-5'>51</b><b class='flag-5'>單片機</b>中的<b class='flag-5'>中斷</b><b class='flag-5'>系統(tǒng)</b>

    STM32單片機外部中斷配置講解

    STM32單片機外部中斷配置講解01單片機外部中斷簡介所謂外部中斷,就是通過外部信號所引起的
    發(fā)表于 11-22 12:36 ?14次下載
    STM32<b class='flag-5'>單片機</b>外部<b class='flag-5'>中斷</b>配置<b class='flag-5'>講解</b>

    51單片機中斷系統(tǒng)

    文章目錄1 51單片機中斷系統(tǒng)1.1 中斷的固有優(yōu)先級和搶占優(yōu)先級1 51
    發(fā)表于 11-22 13:36 ?8次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>中斷</b><b class='flag-5'>系統(tǒng)</b>

    51單片機中斷系統(tǒng)

    文章目錄1 51單片機中斷系統(tǒng)1.1 中斷的固有優(yōu)先級和搶占優(yōu)先級1 51
    發(fā)表于 11-23 16:51 ?14次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>中斷</b><b class='flag-5'>系統(tǒng)</b>

    51單片機中斷程序示例

    51單片機中斷程序示例
    發(fā)表于 05-17 18:03 ?0次下載

    51單片機中斷系統(tǒng)應用筆記

    基于51單片機中斷系統(tǒng)
    發(fā)表于 12-04 09:30 ?1次下載

    51單片機中斷系統(tǒng)介紹

    51單片機中斷系統(tǒng)介紹與運用外部中斷系統(tǒng)觸發(fā)數(shù)碼管顯示數(shù)字的代碼實驗
    發(fā)表于 12-05 09:10 ?2次下載

    51單片機中斷流程分析

    51單片機中斷系統(tǒng)
    發(fā)表于 12-05 09:37 ?1次下載