欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機中斷函數是如何運行的,和主函數有沖突嗎? [打印本頁]

作者: 帥鍋    時間: 2017-9-12 23:35
標題: 單片機中斷函數是如何運行的,和主函數有沖突嗎?
中斷函數是如何運行的,和主函數有沖突嗎?
作者: HC6800-ES-V2.0    時間: 2017-9-13 08:34
中斷是為使單片機具有對外部或內部隨機發生的事件實時處理而設置的,中斷功能的存在,很大程度上提高了單片機處理外部或內部事件的能力。它也是單片機最重要的功能之一,是我們學習單片機必須要掌握的。很多初學者被困在中斷中,學了很久仍然不知道中斷究竟是個什么東西,大家千萬不要認為它有多難,其實只要掌握正確的學習方法,沒有哪個知識點是學不會的。
為了能讓大家更容易理解中斷概念,我們先來舉一個生活事例:你打開火,燒上一壺水。然后去洗衣服,在洗衣服的過程中,突然聽到水壺發出水開的報警聲,這時,你停止洗衣服動作,立即去關掉火,然后將開水灌入暖水瓶中,灌完開水后,你又回去繼續洗衣服。這個過程中實際上就發生了一次中斷。
對于單片機來講,中斷是指CPU在處理某一事件A時,發生了另一事件B,請求CPU迅速去處理(中斷發生);CPU暫時停止當前的工作(中斷響應),轉去處理事件B(中斷服務);待CPU將事件I.,處理完畢后,再回到原來事件A被中斷的地方繼續處理事件A(中斷返回),這一過程稱為中斷。
再回來看前面講的生活事例,與單片機中斷結合分析,你的主任務是洗衣服,水開報警這是一個中斷請求,這一時刻相當于斷點處,你響應中斷去關火,然后將開水灌入暖水瓶中,這一動作實際上就是處理中斷程序,灌完開水后再回去繼續洗衣服,相當于處理完中斷程序后再返回主程序繼續執行主程序。這里需要注意的是,水開是隨時都有可能的,但是無論什么時候開,只要一開你將立即去處理它,處理完后再回來繼續接著洗剛才那件衣服。單片機在執行程序時,中斷也隨時有可能發生,但無論何時發生,只要一旦發生,單片機將立即暫停當前程序,趕去處理中斷程序,處理完中斷程序后再返回剛才暫停處接著執行原來的程序。單片機在執行程序時其程序流程圖。
                              
引起CPU中斷的根源,稱為中斷源,中斷源向CPU提出中斷請求,CPU暫時中斷原來的事務A,轉去處理事件B,對事件B處理完畢后,再回到原來被中斷的地方(即斷點),稱為中斷返回。實現上述中斷功能的部件稱為中斷系統(中斷機構)。
中斷的開啟與關閉、設置啟用哪一個中斷等都是由單片機內部的一些特殊功能寄存器來決定的,在以前的學習中我們僅對單片機內部的特殊功能寄存器IO口寄存器設置過,從下節起我們將會設置單片機內部更多的特殊功能寄存器。

當中央處理機CPU正在處理某件事的時候外界發生了緊急事件請求,要求CPU暫停當前的工作,轉而去處理這個緊急事件,處理完以后,再回到原來被中斷的地方,繼續原來的工作,這樣的過程稱為中斷。實現這種功能的部件稱為中斷系統,請示CPU中斷的請求源稱為中斷源。微型機的中斷系統一般允許多個中斷源,當兒個中斷源同時向CPU請求中斷,要求為它服務的時候,這就存在CPU優先響應哪一個中斷源請求的問題。通常根據中斷源的輕重緩急排隊,優先處理最緊急事件的中斷請求源,即規定每一個中斷源有一個優先級別。CPU總是先響應優先級別最高的中斷請求。

中斷理解.jpg (26.8 KB, 下載次數: 52)

中斷理解.jpg

作者: mengzhixinheng    時間: 2017-9-13 09:05
至于怎么運行,樓上已經解釋清楚
作者: 漫步經心    時間: 2017-9-13 09:05
中斷就是你一件事沒有做完中間來了一件立即要處理的事,你先處理完這件事,處理完了然后返回來處理之前的事,而且是從你中斷的地方開始。其實就是壓棧出棧。不可能影響你的主函數,除非你的代碼有問題
作者: mengzhixinheng    時間: 2017-9-13 10:15
mengzhixinheng 發表于 2017-9-13 09:05
至于怎么運行,樓上已經解釋清楚

影響是有的,這要看你怎么去杜絕!中斷了主程序的執行,不就是在浪費主程序執行時間嘛。只是如果中斷函數執行時間短,中斷級數不深,這個影響被忽略罷了。如果你有一個時序要求很高的通信程序,這時候你中斷試試麻煩大了。如果中斷函數臃腫,你的程序效率會降低很多。
作者: klwanghl    時間: 2017-9-13 13:55
中斷函數是被單片機系統硬件自動執行的,與主函數沒關系,中斷函數類似于高級語言的回調函數
作者: 18707072428    時間: 2017-9-13 21:04
沒有沖突,有外部中斷,定時器中斷,運行不同
作者: 向霧白楊    時間: 2017-9-13 22:05
中斷函數不要太長 不然會影響主函數的一些循環 但一般的沖突不大
作者: 80088a    時間: 2021-5-21 03:32
HC6800-ES-V2.0 發表于 2017-9-13 08:34
中斷是為使單片機具有對外部或內部隨機發生的事件實時處理而設置的,中斷功能的存在,很大程度上提高了單片 ...

解析的非常透徹,對初學者大有益處
作者: rayin    時間: 2021-5-21 09:15
通俗一點: 你正在寫作業的時候, 你的同學來找你去打球, 你可能需要中斷你的作業, 把作業現場保存好, 然后和你的同學打了半小時后回來, 在保存好的作業現場繼續把作業完成.  

和主函數的沖突就是會占用主函數的執行時間周期, 中斷處理函數的事務不能太長,要盡可能精悍.




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1