52微控制器共有6個中斷源。
中斷源解釋
埠線int0
外部中斷0,低電平或下降沿引起
p3.2
int1
外部中斷1,低電平或下降沿引起
p3.3
t0定時器/計數器0,由t0計數器計滿回零引起
p3.4
t1定時器/計數器1,由t1計數器計滿回零引起
p3.5
t2定時器/計數器2,由t2計數器計滿回零引起
p1.0
ti/ri
序列口中斷,串列埠完成一幀字元傳送後引起
p3.0/p3.1
中斷源中斷級別
序號(c語言用)
入口位址(彙編用)
注釋int0最高0
0003h
外部中斷0
t0第2
1000bh
定時器/計數器0
int1第32
0013h
外部中斷1
t1第4
3001bh
定時器/計數器1
ti/ri第54
0023h
序列口中斷
t2最低
5002bh
定時器/計數器2
注:
(1)模式控制暫存器tmod
位序號d7
d6d5
d4d3
d2d1
d0位符號
gate
c/tm1
m0gate
c/tm1
m0注:其中高四位設定定時器/計數器t1,低四位設定定時器/計數器t0。
電平狀態
注釋gate = 0
僅受tcon暫存器中的tr位來控制
gate = 1
受tcon暫存器中的tr位和外部中斷引腳電平控制
電平狀態
注釋c/t = 0
定時器模式
c/t = 1
計數器模式
電平狀態
注釋m1 = 0 , m0 = 0
工作方式0,13位定時器/計數器
m1 = 0 , m0 = 1
工作方式1,16位定時器/計數器
m1 = 1 , m0 = 0
工作方式2,8位初值自動重灌的8位定時器/計數器
m1 = 1 , m0 = 1
工作方式3,僅適用於t0,分成兩個8位計數器,t1停止計數
注:常使用工作方式1,因為計數範圍比較大。
(2)控制暫存器tcon
位序號d7
d6d5
d4d3
d2d1
d0位符號
tf1tr1
tf0tr0
ie1it1
ie0it0
位位址8fh
8eh8dh
8ch8bh
8ah89h
88h(3)中斷允許暫存器ie
位序號d7
d6d5
d4d3
d2d1
d0位符號ea–
et2es
et1ex1
et0ex0
位位址afh
–adh
achabh
aaha9h
a8h
(4)中斷優先順序暫存器ip
位序號d7
d6d5
d4d3
d2d1
d0位符號––
–pspt1px1
pt0px0
位位址–––
bchbbh
bahb9h
b8h
/*定時器0初始化*/
void
timer0_init
(void
)/*定時器0中斷服務程式*/
void
timer0
() interrupt 1
//interrupt 1 表示使用序號1 代表使用定時器t0
/*計數器0初始化*/
void
counter0_init
(void
)void
counter0
() interrupt 1
//interrupt 1 表示使用序號1 代表使用計數器t0
/*串列埠中斷初始化*/
void
uart_init
(void
)/*串列埠中斷服務程式*/
void
uart
() interrupt 4
第一次寫部落格,如有錯誤,希望大佬們指正。 51微控制器中斷學習
一 中斷的概念 cpu在處理某一事件a時,發生了另一事件b請求cpu迅速去處理 中斷發生 cpu暫時中斷當前的工作,轉去處理事件b 中斷響應和中斷服務 待cpu將事件b處理完畢後,再回到原來事件a被中斷的地方繼續處理事件a 中斷返回 這一過程稱為中斷 二 中斷源 在51微控制器中有5個中斷源 中斷號...
學習筆記之 51微控制器中斷
通俗的講,中斷就是cup正在工作的時候,突然外部來了某一請求,要求cpu轉去處理請求的事件,當事情做完之後cup再回來繼續它的工作。這一過程稱為中斷 微控制器中斷響應可以分為以下幾個步驟 1 停止主程式執行。當前指令執行完後立即終止現行程式的執行 2 保護斷點。把程式計數器pc 的當前值壓入堆疊,儲...
51微控制器 中斷
一 中斷的概念 cpu在處理某一事件a時,發生了另一事件b請求cpu迅速去處理 中斷發生 cpu暫時中斷當前的工作,轉去處理事件b 中斷響應和中斷服務 待cpu將事件b處理完畢後,再回到原來事件a被中斷的地方繼續處理事件a 中斷返回 這一過程稱為中斷 二 中斷源 在51微控制器中有5個中斷源 中斷號...