這個說法不確切。因為單片機的工作本身就是一個自循環(huán)系統(tǒng)。
單片機從啟動開始,首先要建立一個系統(tǒng)的工作初始環(huán)境和基本數(shù)據(jù),這部分程序稱為初始化。
然后單片機要執(zhí)行一些順序結(jié)構(gòu)的控制程序,這部分程序要完成基本的功能驅(qū)動,如顯示、接口連接等。
然后是單片機的主程序,這部分程序是完成單片機在設(shè)備中的主要功能。
這部分的功能由主程序控制,一般是一個自循環(huán)的過程,可能就是題主說的是一個“死循環(huán)”,因為設(shè)計者就是要單片機在主程序中完成所設(shè)定的任務(wù)。
在主程序中單片機還要根據(jù)需要和外部指令進行子程序調(diào)用,數(shù)據(jù)的輸入和控制,接口的控制等等。這些子程序完成后,還必須回到主程序,以保證主控工作任務(wù)的完成。
所以,應(yīng)該說單片機的程序是一個完整的自控程序,它必須回到主程序控制中循環(huán)運行。
所以在單片機程序設(shè)計中要保證在任何干擾和錯誤操作的情況下都能回到自己的程序循環(huán)中。否則就會造成系統(tǒng)死機,因為單片機先死機了。
單片機程序是從上到下執(zhí)行的,到底了需要從頭開始
單片機集成了CPU、RAM、ROM、GPIO、定時器、中斷等等,是一個“微型的小電腦”。我們編寫的程序經(jīng)過編譯后,需要下載到單片機的ROM。上電后,單片機就可以讀取并執(zhí)行ROM中的程序了。我們編寫的程序經(jīng)過編譯后,其實就是一些單片機可以識別和執(zhí)行的指令,單片機的CPU只有一個線程,一次只能執(zhí)行一條指令,指令從上到下執(zhí)行,到了最后需要跳回最前面才可以生新執(zhí)行,所以單片機的主程序是一個死揗環(huán)。
單片機程序是怎么樣的?
單片機上電后,需要進行初始化,初始化只需要執(zhí)行一次就可以了,所以初始化程序一般不會放入主程序的死循環(huán)中。主程序需要不斷的連續(xù)執(zhí)行的,所以會放入到一個死循環(huán)中去。
由此可見,單片機的程序是從上到下順序執(zhí)行的,需要一個一個任務(wù)排隊運行。單片機還有一個中斷系統(tǒng),如果發(fā)生需要即時響應(yīng)的事件,可以把主程序暫停打斷,先把中斷事件處理完,再返回主程序繼續(xù)執(zhí)行。就像你正在開會的時候,突然老板來電話了,您就需要把會議暫停,先接完老板電話,然后繼續(xù)會議。當然中斷事件也是可以屏蔽的,就像開會的時候來了一個騷擾電話,您可以不理它,或者掛斷它。
-
單片機
+關(guān)注
關(guān)注
6039文章
44585瀏覽量
636483 -
程序
+關(guān)注
關(guān)注
117文章
3792瀏覽量
81165
發(fā)布評論請先 登錄
相關(guān)推薦
評論