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