我們從單片機的工作原理可以看出單片機是執行程序來完成我們所要求的任務的,在單片機中有很多子程序,單片機根據外部的不同執行條件去調用不同的子程序,因而就完成了不同的任務了。
單片機的工作過程
由于單片機的工作過程是比較復雜的,為了說明問題,下面我們先來簡單了解一下單片機的工作過程,單片機在執行我們給它的命令時是按照三步走的方法去執行的,它先是從它的記憶存儲“容器”ROM中取出要執行的一條命令,接收到命令后就要分析這條命令的具體內容,然后按照命令的具體內容去完成相應的任務。這有點和我們人類接收任務是一樣的。
單片機主程序的執行過程
下面我們舉出一個大家非常熟悉而又簡單的交通燈的程序,來說明主程序是如何執行的。我們知道交通燈有紅綠黃燈的交替轉換,還有數顯的倒計時。那么主程序的主要任務是根據條件是不是滿足來調用各個子程序進行工作,主程序有點像樂隊的指揮,當需要哪種樂器發出聲音,指揮就去引導樂手去執行演奏,指揮可以一遍又一遍地不停重復地執行下去。那么單片機的主程序也這種情況差不多,當電源一但開啟其,單片機復位完畢后就先執行主程序,當條件滿足后就不停地調用各個子程序。在交通燈程序中,主程序要不停地調用亮燈子程序和數碼管倒計時子程序。只有這樣交通燈才能周而復始地不斷重復循環運行著,這就是主程序的功能。如果在主程序沒有死循環的話,交通燈只會運轉一遍亮燈閃爍和倒計時,一但執行完一遍后就不會有下文了。所以我們要把這些子程序放在主程序的死循環語句里,使整個程序周而復始地運行著。
不但交通燈程序是這樣工作的,其它程序也是如此,不管是分支結構還是順序結構的程序,都要把這些子程序放在主程序的死循環當中,然后根據所執行的條件去調用執行子程序。
單片機子程序與主程序的關系
在主程序中是可以調用子程序的,子程序之間也是可以相互調用的。但是在子程序中有一種程序我們不用主程序調用,它就是中斷程序或者中斷定時程序。這個中斷子程序一般是主程序執行的條件,一但觸發中斷了,主程序就會立馬去執行這個中斷子程,當中斷程序完成后,主程序必須還要回到剛才所執行的程序當中。所以子程序是在主程序中的,它要由主程序不斷地調用去執行。
責任編輯人:CC
-
單片機
+關注
關注
6063文章
44915瀏覽量
646904 -
程序
+關注
關注
117文章
3823瀏覽量
82402
發布評論請先 登錄
STM32單片機DEBUG進入不了主程序的原因
stc單片機燒錄協議分析

怎么讀取單片機程序_單片機程序是如何執行的_如何讀懂單片機程序
為什么單片機的主程序是死循環
【51單片機】有關單片機執行中斷無法恢復主程序探討

謹慎處理單片機中斷,中斷等價于比主程序優先級更高的線程

單片機是怎么執行指令的?

基于單片機的外部中斷實驗 中斷系統知識介紹

評論