80C51单片机中断

来源:百度知道 编辑:UC知道 时间:2024/05/11 19:07:09
程序如下:
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP DVT0 ;转向中断服务程序
ORG 0100H
MAIN:MOV TMOD,#01H ;置T0工作于方式1
MOV TH0,#0D8H ;装入计数初值
MOV TL0,#0F0H
SETB ET0 ;T0开中断
SETB EA ;CPU开中断
SETB TR0 ;启动T0
SJMP $ ;等待中断
DVT0:CPL P1.0
MOV TH0,#0D8H
MOV TL0,#0F0H
RETI ;中断返回
END
上述程序中的中断返回RETI,为什么返回到SJMP $?

因为你的主程序在SJMP $在这条指令上不断的执行,当然中断返回后只能返回到这里了,你可能没搞明白SJMP $这条指令是什么意思
SJMP $,这条指令的意思是 转移到标号,如果标号是$ ,就表示转移到原条指令上。