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