王洪生
摘? ?要:我國科學技術飛速發展,使用單片機越發廣泛,在延時和中斷問題有很好的應用。單片機應用于檢測、控制智能儀能領域時,常需要使用時鐘來實現定時或是延時功能。中斷系統是計算機的組成部分。而中斷的使用使得計算機的功能變得更加高效和便利。為發現單片機的中斷和延時問題規律性的處理方法,在這兩者的應用研究越來越深入。
關鍵詞:單片機? 延時? 中斷? 方法
中圖分類號:TP368.1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1674-098X(2019)12(a)-0054-02
近年來集成電路板不斷發展,使得單片機在大規模的集成電路中獲得了廣泛的應用,其中央數據處理能力優良。在CPU、存儲器等各類接口中計時器、定時器。在TO中斷服務程序內監測MWatch的變換規律可以判斷主程序是否在正常運作,在其監測TOWatch的改變情況能夠評斷To的工作狀況[1]。如果監測到某一觀測變量不正常,例如應該加1而沒有加1,那么需要找到失誤程序將其故障排除。深入分析對主程序的循環周期與T1定時器的周期變化。把其集中到小而完整的微型計算機內,在工業控制領域目前已經發展到可以廣泛應用的程度,同時有很好的效果。
1? 單片機的應用現狀
1.1 單片機的應用概述
單片機中的定時器主要是經過技術對單片器內部的時鐘電路所產生的固定周期脈沖信號加以加法技術;而用于后者的技術控制時,經過對外部事件引發的脈沖信號進行計數[3]。所以,無論是哪種技術都是用16位加法計數器完成的。若技術最初設置的參數不同,將從一開始到加滿為止所需的時間也會是各不相同的,所以使用TO或TI時需通過軟件先設置好初始值。
2? 單片機的延時和中斷問題
2.1 單片機的中斷問題
中斷問題是通過計算機和外部設施將信息交流模式的變換,主要在CPU中發生。在CPU停止工作時,而單片機正處于執行某個程序的狀態,其便會保存數據程序。所以,單片機打斷過程主要通過特定的事件也就是中斷的電源或程序,對正在運行的程序不用處理,在中斷的程序解決完畢后,會回到主程序被打斷部位繼續處理程序。
2.1.1 單片機中斷技術發生的原因
單片機中斷技術在CP與外界信息互換的同時,若使用查詢功能,CPU則有很長時間的等待期,從而可以快速處理COU和外部設備間存有的矛盾關系。與此同時也和外部設備有不同步的狀況,所以便不能保障CPU很好的進行讀寫操作。查詢狀態中CPU主動查詢的全部外設,確定是否準備完備,可以進行數據的傳輸。在進行多個外設I/O操作時若有外設的實時性比較高,將很有可能由于CPU的原因造成數據流失。
2.2 中斷數據的優點與缺點
2.2.1 優勢
單片機中斷技術最先是為解決高速CPU與低速運作速度的差異,而實際的中斷功能已經遠超出預期的意愿,同時還被使用在實時處理、多級系統和人機交互。利用好中斷技術可以提高工作效率有以下幾個優點。
(1)分時操作。
實現外部和內部設備的同時運作,消除了等待時間,提升了使用效率;能夠同時管理兩個以上的外部設備,直接提升了輸出入的吞吐量,做到了設備和設備間設局的互換。連接完成了外部設備后便會執行自己進行的程序。當外設數據進行傳輸時立即會發出中斷信號,停止運作程序。中斷后CPU會接著進行運作,如此反復到數據傳輸完成為止。在整個操作過程中CPU是分段運作的,既是在熟悉了正常的程序后會接收外設的中斷信號,這時與外設一起運作[1]。
(2)實時處理。
通過對現場或隨機選定的參數,讓COU可以實時反應,依據中斷機制讓計算機可以實時處理,特別是對一些緊急事件的處理[1]。
(3)故障處理。
在計算機正常運行中如果出現故障,能夠利用此系統進行自行修復和恢復。
2.2.2 劣勢
在單片機中斷全體的系統后,在將處理其他程序解決后繼續進行被打斷的程序。這樣的方法需要復雜的處理系統和結構嚴密的硬件系統。在中斷完成后回到原位置,這個過程就涉及事物保留最后通過中斷技術對現場進行保護[2]。
(1)單片機延時問題。
在計算單片機延時問題時一般使用的是循環語句,如果不能計算也可以通過軟件仿真查出正確的時間信息,但是常規的延時不能用循環語句解決問題。利用單片機開展延時作業,定時器會得到廣泛的應用,由于延時時間和晶振有緊密關系,此系統通常選取不同型號的晶振。
3? 中斷問題處理措施
3.1 匯編指令中斷對策
單片機在匯編處理的同時,一般使用“0”或“1”數字序列進行處理,經過傳達地址、指令促使助記符間保持其嚴格的對應關系,開發人員也更變不了[3]。從單片機地址處能夠尋找到內部、輸入口的數據與外部存儲單元,所有的內部地址均已經提前被設計人員規劃好,不會被改變,而外部單元是開發者決定的。關于單片機的數據,微處理數據在不同應用電路中都有所差別,且被處理的數據間也有各不相同的狀況。最常見的地址是MOV,將地址送達1000H里,掌控顯示3,常數是THO,1oH表示定時常數,實際的輸出值是LED這類字形碼,比如P1接彩燈依據實際需要亮滅,執行指令為MOVP1或#ooH,而OOH表示的是實際的輸出值[3]。
3.2 中斷處理措施
單片機如果出現中斷,第一要解決的是如何將多個處理器進行重連和管控。因為多個處理系統一般有兩臺或多臺,可進行數據交互,輸入/輸出、外設、內存以及共享等均可由此系進行,可以全方位同時進行程序和處理器的進程、作業和交互,這是多處理器主要包含的概念[2]。那么如果突發一個外部事件,同時兩個核心中斷控制器都承認和準許此事件。那么這兩個核心偶會相應此事件,系統便會自行進行中斷初始化,再對其進行處理。具體的處理方式是通過將一些中斷事件交給另一個核進行處理,這樣能夠將中斷事件分為兩個核同時處理,但結果有所差異。如果系統出現異常事件,內核檢查到了后且將響應傳遞出去,CPU會查詢異常事件引擎,再對TDI中找到此事件傳索信號,在TDI中找到處理程序進口,在內核中保存制定內容,再用有關函數記性處理,比如一個全局的變量。設置一個處理后和沒有處理的標志,在其中一個核處理一個事件的一部分后,這一部分便會顯示已經處理的標志,而另一部分交由另一個核進行處理,通過辨識標志分析是否需要處理或返回,提高工作效率。中斷事件的處理中,CPU會尋找中斷程序入口并進入[4]。若是入口能夠跳轉,那么直接跳轉到中斷處理程序中,在獲取正確信號后才會尋到匹配的描述,之后進行制定函數的中斷操作,做后執行中斷程序,完成后返回[5]。
4? 結語
計算機的發展速度極快,單片機已經廣泛使用到了我們的生活中,可以有效解決設備的中斷處理和延時問題。隨著計算機科學技術的發展,單片機應用研究將得到更好的重視。
參考文獻
[1] 朱杰.單片機C語言中斷問題及解決辦法[J].計算機光盤軟件與應用,2014(5):308-309.
[2] 李學海.PIC16F87X單片機中斷系統應用必須關注的問題[J].單片機與嵌入式系統應用,2001,1(5):44-50.
[3] 王光平.一種與單片機接口的硬件延時驅動步進電機的方法[J].中國高教論叢,2002(2):88-91.
[4] 張景元,鞏秀鋼,王江紅.一種非正常中斷現象及處理方法[J].信息技術與信息化,2000(4):14-15.
[5] 許志鴻.單片機的延時與中斷問題及解決方法[J]. 電子制作,2014(16):26-27.