標題: 單片機中斷 [打印本頁]
作者: daliu 時間: 2014-9-13 12:47
標題: 單片機中斷
何為中斷?
是暫停正在執(zhí)行的程序,轉(zhuǎn)而去執(zhí)行特定的程序。
為什么要有中斷?
提高效率。
譬如平時的上課。
老師只管講課,學生有問題會舉手,老師會停下進度,轉(zhuǎn)而去回答學生的問題。
若是老師講一句,就問學生有沒有問題,這樣就太浪費啦。
中斷的流程特點:
斷點出會有一個標記,便于中斷程序完成回返回主程序。此處與堆棧有關(guān),不提。
51系列單片機有5個中斷兩個外部中斷INT0、INT1兩個內(nèi)部定時\計數(shù)器中斷IT0、IT1以及一個串口中斷
譬如舉手打斷老師講話一樣,中斷也需要一個信號觸發(fā)。
外部中斷有負邊沿觸發(fā)和低電平觸發(fā)。單品及通過捕捉INTO(12腳)、INT1(13腳)的信號變化來判定是不是有外部中斷請求。
僅僅有觸發(fā)還不夠,單片機必須認同這些信號才行。所以需要對單片機設(shè)置。主要是兩個寄存器
IE 中斷使能寄存器
TCON 定時器\計數(shù)器控制寄存器
這兩個寄存器都是可位尋址,且在reg51.h頭文件中已經(jīng)定義,所以可以直接指定一個位的值,方便呀!
譬如

IE寄存器
TCON

下面是一段程序:
#include
sbit Re =P3^0;
sbit Intur =P3^2;
void main()
{
EA=1;
EX0=1;
IT0=0;
Re = 1;
while(1)
{
Re =1;
}
}
void In(void) interrupt 0 using 1 0表示中斷優(yōu)先級的順序 第一位即INTO 1表示用第一寄存器組
{
Re=0;
}
作者: blj178 時間: 2014-10-22 14:04
看看有多經(jīng)典
作者: hjlost 時間: 2014-10-24 14:03
掘墓高手,專挖古墓,一挖一個坑,坑坑見墓。。
歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |