ORG 0000H AJMP MAIN ORG 000BH MOV TL0,#XXH MOV,TH0,#XXH CPL P1.0 REITMAIN:MOV TMOD,#01H MOV TL0,#XXH MOV,TH0,#XXH SETB TR0 SETB ET0 SETB EA SJMP $ END可以复制下然后在每句后面标注数字表示执行的先后。谢谢,并解释下他怎么实现方波输出
ORG 0000H ;1 AJMP MAIN ;2 ORG 000BH ;进入中断 MOV TL0,#XXH ;定时器低八位值 MOV,TH0,#XXH ;定时器高八位值 CPL P1.0 ;P1.0取反输出方波 REIT ;推出中断MAIN:MOV TMOD,#01H ;3 MOV TL0,#XXH ;4 MOV,TH0,#XXH ;5 SETB TR0 ;6 SETB ET0 ;7 SETB EA ;8 SJMP $ ;9 等待中断 END 追问 AJMP MAIN不是跳转到main去了吗? 这段程序:ORG 000BH MOV TL0,#XXH MOV,TH0,#XXH CPL P1.0 REIT 怎么执行呢? 追答 这段程序:ORG 000BH MOV TL0,#XXH MOV,TH0,#XXH CPL P1.0 REIT 怎么执行呢?这是中断子程序,当定时器达到定时时间后从000BH 这个地址进入,然后执行下面的程序,加我好友吧,百度名是q号
ORG 0000H AJMP MAIN;0001,跳转到main函数 ORG 000BH MOV TL0,#XXH;0008,重载定时器0初值 MOV,TH0,#XXH;0008,重载定时器0初值 CPL P1.0;0009,翻转P1.0管脚 REITMAIN:MOV TMOD,#01H;0002,设置定时器0工作方式1 MOV TL0,#XXH;0003,配置定时器0重载初值 MOV,TH0,#XXH;0003,配置定时器0重载初值 SETB TR0;0004,启动定时器0计数 SETB ET0;0005,开启定时器0中断 SETB EA;0006,开启中断 SJMP $;0007,死循环,主程序体从此不再做什么事情,定时进入中断 END