標題: 這段單片機匯編語言的運行流程是怎樣的? [打印本頁]

作者: MagicKrse    時間: 2022-7-15 20:57
標題: 這段單片機匯編語言的運行流程是怎樣的?
特別想弄清楚單片機代碼的第4~6行是什么意思。 運行流程是RESET(3行) -> MAIN(8行) -> PT0M0(12行) -> HERE(10行),然后不停的等待定時中斷發(fā)生嗎?這樣的話,4~6行就沒有執(zhí)行嘛


作者: Hephaestus    時間: 2022-7-16 08:05
第4、5兩行是中斷使用的。第6行是main的位置。
作者: Y_G_G    時間: 2022-7-16 09:00
ORG是匯編偽指令,意思就是以下代碼是從某個地址開始執(zhí)行的
ORG         000BH :以下的代碼是從000BH 這個地址開始的
而這個000BH 是8051T0定時器的中斷向量入口
如果你不知道什么叫中斷向量,那就得跟你解釋一下什么叫中斷,還得講中斷的執(zhí)行過程.....
那就太多了,說不完的
《8051微控制器(第4版)》
這本書里有說明,你可以搜索一下
作者: zhxiufan    時間: 2022-7-16 14:35
很簡單的程序,初始化后,就是中斷起作用了,產生周期為100毫秒的方波。P1.0輸出。
作者: Skyfree369    時間: 2022-7-16 16:10
找本51單片機匯編語言的書籍好好看看吧,挺簡單的
作者: 188610329    時間: 2022-7-16 18:10
4~6行就沒有執(zhí)行嘛

=>
你要先分清楚,偽指令 和 匯編指令  的區(qū)別。 第4行和第6行都是偽指令,是給編譯器看的,本來就不會執(zhí)行。
然后,第5行,自然是等中斷發(fā)生了再執(zhí)行,有什么問題么?
作者: MagicKrse    時間: 2022-7-16 21:05
188610329 發(fā)表于 2022-7-16 18:10
4~6行就沒有執(zhí)行嘛

=>

原來是中斷發(fā)生后會自動跳轉到中斷入口地址然后執(zhí)行該地址后的代碼,我懂了,謝謝
作者: frank_tw    時間: 2022-7-17 10:07
1) L4:T0中斷入口地址,中斷發(fā)生后會自動跳轉到 000BH 執(zhí)行代碼
2)L5:  AJMP IT0P 轉跳到"IT0P" Label地址
3)執(zhí)行下方代碼
IT0P:      
        MOV  TL0,#0B0H      
        MOV  TH0,#3CH
        CPL  P1.0
        RETI
END




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1