導航:首頁 > 軟體知識 > 如何判別是否為子程序單片機

如何判別是否為子程序單片機

發布時間:2024-12-23 12:52:08

㈠ 子程序的末尾有什麼指令

子程序的末尾一定要有RETI指令,子程序的調用是LCALL和ACALL。

RETI是中斷返回指令,這條指令的功能和RET指令相似,2條指令的不同之處是:本指令清除了中斷響應時,被置1的MCS-51內部不可定址的 「優先順序生效」觸發器清零。

執行這條指令後,CPU將會把堆棧中保存著的地址取出,送回PC,那麼程序就會從主程序的中斷處繼續往下執行了。中斷指令「RETI」作為中斷跳出指令,除了將堆棧中保存著的地址取出,送回PC,使程序從主程序的中斷處繼凳培續往下執行的作橡搏用外,還有將「優先順序梁粗祥生效」觸發器清零的功能。

(1)如何判別是否為子程序單片機擴展閱讀

單片機匯編指令中RETI和RET的區別

通常情況下,在普通的匯編子程序中用RET做返回,在中斷服務子程序中用RETI起中斷返回作用。兩條指令都能從堆棧中彈出斷點地址並裝入PC中,使CPU回到原來主程序的斷點處繼續運行。

然而,RET和RETI有本質的區別:當某一中斷源響應後,單片機中的標志寄存器flag H和flag L其中的一個將會自動置位,用於阻止比它低級或同級的中斷觸發。RETI可以清除「優先順序激活觸發器」(即flag寄存器),以保證後續中斷源的及時響應。

所以,當把RETI替換為RET後,該程序在第一次運行時可能不會出錯,但在第二次運行時就會出錯了。

㈡ 單片機的循環程序和子程序有什麼區別與聯系

呵呵 俺來幫你分析吧
單片機的循環程序和子程序有什麼區別與聯系
1 區別:
循環程序就是一段要反復執行的代碼 只能在該處執行一次
即(執行一次要循環多次這一段代碼)
子程序是一個相對獨立的代碼 單片機可以多次使用它 只要需要 就可以多次調用它
調用子程序要用到堆棧
每次運行只執行一次該段代碼 但可以多次執行(沒有次數上的限制)。
2 聯系:
二者都是單片機的一種程序形式,一個子程序內部可以包含一個循環程序(如延時子程序)。

呵呵 滿意就給加分嘍

閱讀全文

與如何判別是否為子程序單片機相關的資料

熱點內容
比特便士上的哪個交易平台 瀏覽:664
合力叉車代理怎麼做 瀏覽:320
糯米可以用什麼代理 瀏覽:823
順德花鳥市場有什麼買 瀏覽:809
什麼人適合學大數據學習 瀏覽:806
電子產品被換原件怎麼投訴 瀏覽:784
我的抖音為什麼不能顯示小程序 瀏覽:699
鄱陽紙業總代理在哪裡 瀏覽:242
ps怎麼給產品標尺寸 瀏覽:92
蜀山代理記賬多少錢 瀏覽:922
北京股交所什麼時候交易 瀏覽:280
如何判別是否為子程序單片機 瀏覽:268
代理個人公司注冊資金多少 瀏覽:645
噬魂做完怎麼不能交易 瀏覽:170
退保程序多久 瀏覽:519
如何寫電視機主程序 瀏覽:334
地下工程設計技術標准有哪些 瀏覽:931
新明珠集團有哪些品牌產品 瀏覽:693
國內交易所怎麼注冊 瀏覽:166
三流程序員如何轉行 瀏覽:481