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