51微控制器的外部中斷有兩種模式:電平觸發模式和跳變沿觸發模式
第一,選擇電平觸發時,微控制器在每個機器週期檢查中斷源口線,檢測到低電平,即置位中斷請求標誌,向cpu請求中斷。第二,選擇邊沿觸發方式時,微控制器在上乙個機器週期檢測到中斷源口線為高電平,下乙個機器週期檢測到低電平,即置位中斷標誌,請求中斷。
區別:電平觸發模式時,
中斷標誌暫存器不鎖存電平中斷請求訊號
。微控制器把每個週期的s5p2取樣外部中斷口的電平邏輯直接賦值到中斷標誌暫存器。標誌暫存器對於請求訊號來說是透明的。這樣當中斷請求被阻塞而沒有得到及時響應時,將被丟失。
換言之,就是要
使電平觸發的中斷被cpu響應並執行,必須保證外部中斷源口線的低電平維持到中斷被執行為止。
因此當cpu正在執行同級中斷或更高階中斷期間,產生的外部中斷源(產生低電平)如果在該中斷執行完畢之前撤銷(變為高電平)了,那麼將得不到響應,就如同沒發生一樣。同樣,當cpu在執行不可被中斷的指令(如reti)時,產生的電平觸發中斷如果時間太短,也得不到執行。
邊沿觸發方式時,中斷標誌暫存器鎖存了中斷請求。中斷口線上乙個從高到低的跳變將記錄在標誌暫存器中,直到cpu響應並轉向該中斷服務程式時,由硬體自動清除。
因此當cpu正在執行同級中斷(
甚至是外部中斷本身
)或高階中斷時,產生的外部中斷(負跳變)同樣將被記錄在中斷標誌暫存器中。在該中斷退出後,將被響應執行。如果你不希望這樣,
必須在中斷退出之前,手工清除外部中斷標誌
。在使用外部中斷的時候,最好都手工清除外部中斷標誌。
51微控制器學習筆記 中斷
52微控制器共有6個中斷源。中斷源解釋 埠線int0 外部中斷0,低電平或下降沿引起 p3.2 int1 外部中斷1,低電平或下降沿引起 p3.3 t0定時器 計數器0,由t0計數器計滿回零引起 p3.4 t1定時器 計數器1,由t1計數器計滿回零引起 p3.5 t2定時器 計數器2,由t2計數器計...
學習筆記之 51微控制器中斷
通俗的講,中斷就是cup正在工作的時候,突然外部來了某一請求,要求cpu轉去處理請求的事件,當事情做完之後cup再回來繼續它的工作。這一過程稱為中斷 微控制器中斷響應可以分為以下幾個步驟 1 停止主程式執行。當前指令執行完後立即終止現行程式的執行 2 保護斷點。把程式計數器pc 的當前值壓入堆疊,儲...
微控制器學習筆記二(微控制器的儲存結構)
8051微控制器在物理結構上有4個儲存空間 1.片內程式儲存器 2.片外程式儲存器 3.片內資料儲存器 4.片外資料儲存器 邏輯上,8051微控制器有三個儲存空間 1.片內外統一編址的64k的程式儲存器位址空間 movc 2.256b的片內資料儲存器的位址空間 mov 3.64k片外資料儲存器的位址...