|
(定時(shí)器/外部)中斷系統(tǒng)工作原理
中斷工作過程:中斷源被允許,中斷請(qǐng)求(系統(tǒng)自己判斷),斷點(diǎn)壓入堆棧(系統(tǒng)硬件自動(dòng)完成),跳到中斷服務(wù)程序,跳回?cái)帱c(diǎn)。
中斷源 這里要使用定時(shí)器中斷,即中斷源為計(jì)時(shí)器的情況。下面以定時(shí)器T0為例。
下面就中斷過程講解
中斷源允許:設(shè)置IE寄存器,圖一介紹IE每一位的功能,圖二介紹設(shè)置IE寄存器的兩種方法(對(duì)位賦值和整體寄存器賦值)
注意:一定要先將總開關(guān)EA打開,否則打開了ET0等也無法使用。
使用定時(shí)器0的代碼:
SETB EA
SETB ET0
中斷請(qǐng)求(即中斷判斷)
硬件自行判斷中斷發(fā)生--查看中斷請(qǐng)求標(biāo)志位。
(定時(shí)器T0中斷發(fā)生時(shí),系統(tǒng)將TF0置1,系統(tǒng)通過查詢TF0的值來判斷中斷發(fā)生)。
中斷響應(yīng)
判斷中斷發(fā)生時(shí),系統(tǒng)保存斷點(diǎn)地址到堆棧中(中斷返回應(yīng)執(zhí)行的指令地址),再通過中斷號(hào)(見圖0)找到中斷服務(wù)程序(該程序編寫時(shí)需要遵循一定的格式,見圖三中列),執(zhí)行。
中斷返回
中斷服務(wù)程序執(zhí)行結(jié)束后,返回
QUSTION:k在中斷服務(wù)程序里面變化,在主程序中有效嗎?
PS:截圖資料來自B站視頻
|
|