標題:
這段單片機匯編語言的運行流程是怎樣的?
[打印本頁]
作者:
MagicKrse
時間:
2022-7-15 20:57
標題:
這段單片機匯編語言的運行流程是怎樣的?
特別想弄清楚單片機代碼的第4~6行是什么意思。 運行流程是RESET(3行) -> MAIN(8行) -> PT0M0(12行) -> HERE(10行),然后不停的等待定時中斷發(fā)生嗎?這樣的話,4~6行就沒有執(zhí)行嘛
ORG 0000H
RESET:
AJMP MAIN
;轉主程序
ORG 000BH
;T0的中斷入口
AJMP IT0P
;轉T0的中斷處理程序IT0P
ORG 0100H
MAIN:
ACALL PT0M0
;調用子程序PT0M0
HERE:
AJMP HERE
;自身跳轉,模擬主程序
PT0M0:
MOV TL0,#0CH
;T0初始化程序,T0置初值
MOV TH0,#0F0H
SETB TR0
SETB ET0
SETB EA
RET
IT0P:
MOV TL0,#0B0H
MOV TH0,#3CH
CPL P1.0
RETI
END
作者:
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