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