中斷程序在程序開始定義中斷入口地址,初始化中必須打開中斷允許位,程序運行時不用判斷溢出狀態位,溢出后硬件清零;
查詢方式在程序運行時必須判斷溢出狀態位,溢出后須軟件清零。
查詢方式:發送數據——先發后查;
接收數據——先查后收。
中斷方式:發送數據——發送、等待中斷、中斷中發送;
接收數據——等待中斷、在中斷中接收
中斷方式,是事件觸發的,換言之只要有事件產生都會進入中斷,并且取得最優運行,因此響應更快,及時。
查詢方式,就是在主函數里面不停循環,查詢端口狀態,明顯其弊端在于響應速度,在處理事件多,處理流程復雜,函數嵌套執行的情況下,由于處理不過來容易丟失事件。
舉個例子,在電話用戶接入系統里面,一個單片機管理1個電話端口的摘掛機,執行周期要求8ms,用查詢的方式足夠了,但是當電話增加到16個,用查詢方式,效果就差了,曾出現過電話響起的時(12個電話齊呼),拿起話筒,電話還在振鈴,明顯處理不過來。
這個時候,有兩個辦法,一個采用中斷方式,另一個采用更高效的CPU,明顯前者只需要修改軟件,后者需要增加硬件成本,還延長開發時間。