何為中斷?
是暫停正在執行的程序,轉而去執行特定的程序。 為什么要有中斷? 提高效率。 譬如平時的上課。 老師只管講課,學生有問題會舉手,老師會停下進度,轉而去回答學生的問題。 若是老師講一句,就問學生有沒有問題,這樣就太浪費啦。 中斷的流程特點: 斷點出會有一個標記,便于中斷程序完成回返回主程序。此處與堆棧有關,不提。 51系列單片機有5個中斷兩個外部中斷INT0、INT1兩個內部定時\計數器中斷IT0、IT1以及一個串口中斷 譬如舉手打斷老師講話一樣,中斷也需要一個信號觸發。 外部中斷有負邊沿觸發和低電平觸發。單品及通過捕捉INTO(12腳)、INT1(13腳)的信號變化來判定是不是有外部中斷請求。 僅僅有觸發還不夠,單片機必須認同這些信號才行。所以需要對單片機設置。主要是兩個寄存器 IE 中斷使能寄存器 TCON 定時器\計數器控制寄存器 這兩個寄存器都是可位尋址,且在reg51.h頭文件中已經定義,所以可以直接指定一個位的值,方便呀! 譬如 
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表示中斷優先級的順序 第一位即INTO 1表示用第一寄存器組
{
Re=0;
}
|