中斷就是暫停正在執(zhí)行的程序語(yǔ)句,轉(zhuǎn)去執(zhí)行另一功能(函數(shù))的程序語(yǔ)句,執(zhí)行完后,立即返回原先暫停執(zhí)行的語(yǔ)句處,繼續(xù)執(zhí)行。單片機(jī)的中斷系統(tǒng)解決了單片機(jī)運(yùn)算速度快,外設(shè)(如鍵盤)速度慢之間的數(shù)據(jù)傳輸問(wèn)題,提高了單片機(jī)的實(shí)時(shí)性和數(shù)據(jù)處理能力。
中斷源:產(chǎn)生中斷的地方,ATmega16具有20個(gè)中斷源和一個(gè)復(fù)位中斷,不同的單片機(jī)中斷源的個(gè)數(shù)是不一樣的。單片機(jī)的中斷源分為外部中斷源和內(nèi)部中斷源,有三個(gè)外部中斷源有INT0,INT1,INT2,當(dāng)連接在單片機(jī)引腳的上的外部電平發(fā)生變化時(shí),將產(chǎn)生相應(yīng)的中斷。內(nèi)部中斷源由單片機(jī)內(nèi)部的功能單元如定時(shí)器,串行通訊產(chǎn)生的中斷。按是否可屏蔽可分為,非屏蔽中斷,和可屏蔽中斷,非屏蔽中斷有系統(tǒng)復(fù)位(reset)中斷,可屏蔽中斷:屏蔽指的的是中斷可由軟件編程控制是否允許中斷,或禁止中斷,大部分都是可屏蔽中斷。
中斷向量:?jiǎn)纹瑱C(jī)的每個(gè)中斷源都有一個(gè)固定的入口地址,這個(gè)地址由單片機(jī)的硬件決定的,單片機(jī)相應(yīng)中斷后,自動(dòng)跳轉(zhuǎn)到相應(yīng)的地址,這個(gè)地址就叫中斷矢量。