首页
/
每日頭條
/
生活
/
51單片機的中斷程序
51單片機的中斷程序
更新时间:2024-09-28 19:12:44

一、中斷的概念

CPU在處理某一事件A時,發生了另一事件B請求CPU迅速去處理(中斷發生);

CPU暫時中斷當前的工作,轉去處理事件B(中斷響應和中斷服務);

待CPU将事件B處理完畢後,再回到原來事件A被中斷的地方繼續處理事件A(中斷返回),這一過程稱為中斷

二、中斷源

在51單片機中有5個中斷源

中斷号 優先級 中斷源 中斷入口地址

0 1(最高) 外部中斷0 0003H

1 2 定時器0 000BH

2 3 外部中斷1 0013H

3 4 定時器1 0018H

4 5 串口總段 0023H

三、中斷寄存器

單片機有10個寄存器主要與中斷程序的書寫控制有關

1.中斷允許控制寄存器IE

2.定時器控制寄存器TCON

3.串口控制寄存器SCON

4.中斷優先控制寄存器IP

EX0(EX1):外部中斷允許控制位

EX0=1 外部中斷0開關閉合 //開外部0中斷

EX0=0 外部中斷0開關斷開

ET0(ET1):定時中斷允許控制位

ET0=1 定時器中斷0開關閉合 //開内部中斷0

ET0=0 定時器中斷0開關斷開

ES: 串口中斷允許控制位

ES=1 串口中斷開關閉合 //開串口中斷

ES=0 串口中斷開關斷開

2.定時器控制寄存器 TCON //控制外部中斷和定時器中斷

51單片機的中斷程序(51單片機中斷學習)1

外部中斷:

IE0(IE1):外部中斷請求标志位

當INT0(INT1)引腳出現有效的請求信号,此位由單片機自動置1,cpu開始響應,處理終端,而當入

中斷程序後由單片機自動置0.

//外部中斷,即外部中斷相應的引腳接入低電平或下降沿信号時,中斷開始響應。

IT0(IT1):外部中斷觸發方式控制位 //選擇有效信号

IT0(IT1)=1:脈沖觸發方式,下降沿有效。

IT0(IT1)=0:電平觸發方式,低電平有效。

内部中斷:

TF0(TF1):内部定時器/計數器溢出中斷标志位

當定時器、計數器計數溢出的時候,此位由單片機自動置1,cup開始響應,處理中斷,而當進入中

斷程序後由單片機自動置0.

//内部中斷實際上就是利用内部的計數器,隻不過提供計數的脈沖來自單片機自身。

TRO(TR1):定時器/計數器啟動位 //啟動定時器

TRO(TR1)=1; 啟動定時器/計數器0

TR0(TR1)=0; 關閉定時器/計數器0

3.串口控制寄存器SCON

51單片機的中斷程序(51單片機中斷學習)2

TI:串行口發送中斷标志位

當單片機串口發送完一幀數據後,此位由單片機自動置1,而當進入中斷服務程序後是不會自動清0的,

必須由用戶在中斷服務中用軟件清0.

RI:串行口接收中斷标志位

當單片機串口接收完一幀數據後,此位由單片機自動置1,而當進入中斷服務程序後是不會自動清0的,

必須由用戶在中斷服務軟件中用軟件清0.

(IP以後補上,TMOD,TL0/TH0 在定時器/計數器中講)

五、中斷結構圖:

51單片機的中斷程序(51單片機中斷學習)3

六、定時器/計數器

1.計數的定義:

計數是指對外部事件進行計數,外部事件的發生以輸入脈沖的形式表示,因此計數功能的實質就是對外來

的脈沖進行計數,在單片機中對應引腳T0和T1,兩個脈沖輸入端。

外部輸入的脈沖在負跳變時有效(即外部脈沖由1變化到0),計數器加1.

2.定時器:

定時器是通過計數器的計數來實現的,不過此時的計數脈沖來自單片機的内部,因此定時器的實質是對内

部脈沖的計數,在單片機中,每個機器周期産生一次計數脈沖,計數器加1.

3.工作方式控制寄存器TMOD:

51單片機的中斷程序(51單片機中斷學習)4

TMOD的低半字節(D0,D1,D2,D3)用來控制定時器/計數器0

TMOD的高半字節(D4,D5,D6,D7)用來控制定時器/計數器1

對TMOD中的内容說明:

GATE——門控制。

GATE=1時,由外部中斷引腳INT0、INT1來啟動定時器T0、T1。

當INT0引腳為高電平時TR0置位,啟動定時器T0;

當INT1引腳為高電平時TR1置位,啟動定時器T1。

GATE=0時,僅由TR0,TR1置位分别啟動定時器T0、T1。

C/T——功能選擇位

C/T=0時為定時功能,C/T=1時為計數功能。

M0、M1——方式選擇功能

由于有2位,因此有4種工作方式

51單片機的中斷程序(51單片機中斷學習)5

4.根據單片機晶振,所選TMOD的的工作方式,所要定的時間,來确定THO和TLO所要賦予的初值

(以12M晶振,工作方式1,16位計數器為例,設所定時間為Xus(16為計數器最大數65536,即65536us,若所

定時間大于65535,則要用if語句控制,現假設X<65535))

1.時鐘周期的時間t=1/12M=1/12 us

2.機器周期的時間T=12*1/12=1 us

3.因為每經過一個機器周期計數器 1,所以,計數器 1,經過的時間為 1 us。

若所定時間為X,則要求經過Xus,中斷響應,又因為16為計數器要全部置1(即達到65535) 1後,中斷才會

響應,所以,初值=(65536-X)

4.将初值轉化為16進制碼,分别付給THO和TLO

eg:所定時間5ms

初值=(65536-5000)=60536=EC78

TH0=0XEC; TL0=0X78;

(當工作方式不同時,TH0/TL0的賦值也不同,個人覺得有了16位計數器了,其餘的沒什麼用,不介紹了)

5.寫程序時另一種THO/TLO賦值方法

TH0=(65536-20000)/256;

TL0=(65536-20000)%6;

這樣設置,每經過20ms,發生一次中斷,中斷時間一般以秒為單位,所以經過n次中斷即可。

來源:網絡整理,如涉及版權問題,請及時聯系删除

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
四大據類文書是什麼
四大據類文書是什麼
四大據類文書是什麼?四大據類文書是法律文書、商業文書、軍用文書和公關文書,由于文書在其産生、内容和形式上有一定共性,所以對研究管理這類文書的工作規律有重要意義,我來為大家講解一下關于四大據類文書是什麼?跟着小編一起來看一看吧!四大據類文書是...
2024-09-28
冷食類食品指的是什麼
冷食類食品指的是什麼
冷食類食品指的是什麼?冷食類食品是指無需加熱或在常溫、低溫狀态下可食用的食物,我來為大家科普一下關于冷食類食品指的是什麼?下面希望有你要的答案,我們一起來看看吧!冷食類食品指的是什麼冷食類食品是指無需加熱或在常溫、低溫狀态下可食用的食物。根...
2024-09-28
武松離開宋江,宋江說了一句
武松離開宋江,宋江說了一句
武松在中國老百姓心中是宛若天神的存在,也是《水浒傳》結局為數不多得以善終的英雄,武松之所以善終,是因為在梁山打下晁蓋之後,直接選擇離開,而他離開的原因,卻不像魯智深那般佛緣太深,看破紅塵,也不像燕青那樣機敏,猜透此番回朝,朝廷不會給他們好果...
2024-09-28
辦理運輸公司怎麼辦手續
辦理運輸公司怎麼辦手續
辦理運輸公司怎麼辦手續?如果是普通道路運輸,需要辦理《營業執照》、《道路運輸經營許可證》,如果是運輸特殊貨物,需要辦理不同許可證,例如:木材運輸許可證、危險品道路運輸許可證等,我來為大家科普一下關于辦理運輸公司怎麼辦手續?下面希望有你要的答...
2024-09-28
追女生十個禁忌
追女生十個禁忌
今天有個粉絲問我為什麼一個女生很喜歡他但就是不願意跟他在一起這個問題遇到很多人問了,今天我就集中給大家解答一下女生喜歡男生,但不願意跟男生談戀愛其實核心就是對你有好感,但是你給她的壓力太大了,她不敢和你談她和你談之後怕結果不好帶來麻煩,這種...
2024-09-28
Copyright 2023-2024 - www.tftnews.com All Rights Reserved