1樓:
答: 先看看你的bai中斷程式:du void exter0() interrupt 0 也就是叫d1置零而已。zhi
執行dao完這句就內跳出中斷了,繼續執行主容函式。 那麼你叫中斷一直低電平,是不是就一直觸發中斷呀?是的。
你認為只要一直觸發中斷,是不是就應該永遠執行中斷函式,而不幹別的了? 當程式從中斷函式跳出時如果又來了中斷,微控制器會在跳出中斷後執行一條指令才進入中斷的! 也就是執行reti這句彙編指令後,接著又執行一條語句,才進入中斷函式。
跳出後又執行一條語句....依此類推 所以你的程式就是這樣的情況。你看到的就是跳動的頻率變滿了。
51微控制器中的外部中斷有什麼作用?
2樓:匿名使用者
實際應用中這個開關什麼時候按下去是不確定的,你能用程式實現嗎?最簡單的就是報警,比如電路中過流監測,你怎麼知道什麼時候什麼時候電流會過大?如果你把過流產生的訊號接到外部中斷上,一旦過流,微控制器就可以馬上響應。
當然,你也可以用另一種方法,就是把過流產生的訊號接到io腳上(假設正常監測電路輸出為高電平,過流時為低電平),微控制器不斷地判斷這個引腳是不是變成了低電平,一旦變成了低就響應。這就是查詢的方法。如果微控制器只要幹這件事,這種方法也是可行的,但往往它還有其它的很多事要處理,那麼這種查詢的方法就會浪費很多資源。
借用樓上的例子,一個老闆(微控制器) 每天有很多事要處理,他派一個員工(外部中斷)看著倉庫,說一旦倉庫著火就告訴他(中斷請求),他再派人去滅火(響應中斷)
。這總比老闆自己一直盯著倉庫好吧。當然,老闆比較閒的話,也可以在那兒一直盯著或者每過一會兒就去看看,不過這樣工作與能力不匹配,就有點浪費老闆的才幹了。
3樓:匿名使用者
可以打個比方,每天上班你都隨時需要知道你同事的工作進度情況,你是希望你不停地打個**去問「你做完了嗎」,還是希望他做完了主動打個**給你講「我做完了,我們談談吧」。這就是中斷的意義,在不需要的時候不影響處理 器做其它的事情,提高效率,增強程式的實時性。
4樓:匿名使用者
你沒明白?外部中斷——引腳、或者微控制器本身是實現中斷的硬體部分。但是中斷髮生後要處理怎樣的事情,這就是程式的內容了。所以一個完整的中斷時軟體和硬體的結合。
51微控制器外部中斷到底什麼意思?
5樓:匿名使用者
51微控制器有兩個外部中斷申請輸入端:int0 和 int1
這兩個引腳對應兩個中斷入口,只有這兩個引腳上的電平變化,才會觸發相應的中斷
51微控制器中斷執行過程?坐等,51微控制器中斷中的斷點地址問題,坐等!!!!
51微控制器中斷執行過程,如外部中斷。當 cpu 檢測到 有 中斷觸發 訊號後,首先 執行完成 當前執行的指令,將下一條指令 的 地址 壓入堆疊,cpu 進入中斷 入口 地址,開始 執行 中斷服務程式,當然在中斷服務程式中不能破壞正常執行 程式的各種 暫存器的 狀態 和 資料,中斷服務 程式執行 完...
51微控制器URAT中斷接收資料,51微控制器串列埠接收多個字元 假如是4位元組 ,是分4次中斷傳輸的,還是一次中斷完成的?
t1定時器的初始化程式 void init1 main void main tmod 0x01 th0 th0 tl0 tl0 es 1 允許uart串列埠的中斷ri 0 ea 1 et0 1 tr0 1 init1 main tmod,被初始化了兩次不同的數值,只有最後一次,才是有效的。應該統一使...
請教微控制器中斷的問題,請教一個微控制器中斷的問題
需要具體情況具體分析,因為不同的微控制器在中斷機制上有細微的差別,需要查他的資料。一般來說,一箇中斷源請求中斷,對cpu來說,是一次性的做了一個 中斷 假如當時因條件不滿足 例如cpu正在 關中斷 即沒有開啟 中斷允許 而沒有響應中斷,則 資訊還在,這樣,將來一旦開啟了中斷允許,仍然會響應,只是晚了...