单片机汇编语言中SJMP $是什么意思
4个回答
展开全部
因为不循环那么过阵单片机会从运行到最后从头来
因为PC的值不停的增加到最后变0000就是起始了所以要有个死循环让PC不会被溢位而导致0000发生
因为PC的值不停的增加到最后变0000就是起始了所以要有个死循环让PC不会被溢位而导致0000发生
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SJMP $意味着跳转到该指令的开头以开始执行,因此它变为循环执行,就地跳转,通常用于等待中断。但是本指令也不宜滥用。这是一条死循环指令,如果系统的中断是开放的,那么SJMP $指令实际上是在等待中断,当有中断申请后,CPU 转至执行中断服务程序。中断返回时,仍然返回到这条死循环指令,继续等待中断,而不是返回到该指令的下一条指令。这是因为执行SJMP $后,PC 仍指向这条指令,中断的断点就是 [3] 这条指令的首字节地址。扩展资料1)在51中,与外部存储器RAM打交道的只可以是A累加器。所有需要送入外部RAM的数据必需要通过A送去,而所有要读入的外部RAM中的数据也必需通过A读入。在此我们可以看出内外部RAM的区别了,内部RAM间可以直接进行数据的传递,而外部则不行,比如,要将外部RAM中某一单元(设为0100H单元的数据)送入另一个单元(设为0200H单元),也必须先将0100H单元中的内容读入A,然后再送到0200H单元中去。2)要读或写外部的RAM,当然也必须要知道RAM的地址,在后两条指令中,地址是被直接放在DPTR中的。而前两条指令,由于Ri(即R0或R1)只是一个8位的寄存器,所以只提供低8位地址。因为有时扩展的外部RAM的数量比较少,少于或等于256个,就只需要提供8位地址就够了。3)使用时应当首先将要读或写的地址送入DPTR或Ri中,然后再用读写命令。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询