
51单片机中的$符号怎么用
比如DELAY:MOVR7,#0F6HLP:MOVR6,#0FAHDJNZR6,$DJNZR7,LPRET中的$这段的程序求解释...
比如DELAY:MOV R7,#0F6H
LP:MOV R6,#0FAH
DJNZ R6,$
DJNZ R7,LP
RET
中的$
这段的程序求解释 展开
LP:MOV R6,#0FAH
DJNZ R6,$
DJNZ R7,LP
RET
中的$
这段的程序求解释 展开
4个回答
展开全部
是延时等待的意思,相当于NOP,在51单片机的汇编语言里经常这么用。
这段子程序的意思是,先给R7赋值为十六进制数F6,这个也是循环的次数,循环体是LP这一段,就是给R6赋值FA,R6的值减一后判断是否为0,如果不是0,那么就一直等待,循环执行R6值减一的动作,直到R6的值为0后,将R7的值减一,这样知道R7的值也为0,子程序结束。
用C语言对这一段子程序可以这样表达:
void delay(void)
{
unsigned char i=;
unsigned char j;
for(i=0XF6;i>=0;i--)
{
for(j=0XFA;j>=0;j--)
;
}
}
这段子程序的意思是,先给R7赋值为十六进制数F6,这个也是循环的次数,循环体是LP这一段,就是给R6赋值FA,R6的值减一后判断是否为0,如果不是0,那么就一直等待,循环执行R6值减一的动作,直到R6的值为0后,将R7的值减一,这样知道R7的值也为0,子程序结束。
用C语言对这一段子程序可以这样表达:
void delay(void)
{
unsigned char i=;
unsigned char j;
for(i=0XF6;i>=0;i--)
{
for(j=0XFA;j>=0;j--)
;
}
}

2021-01-14 广告
51单片机高电平复位。以当前使用较多的AT89系列单片机来说,在复位脚加高电平2个机器周期(即24个振荡周期)可使单片机复位。复位后,主要特征是各IO口呈现高电平,程序计数器从零开始执行程序。 复位方式有两种。 1. 手动复位:按钮按下,复...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
这是一段标准的延时程序,两层循环嵌套。
DJNZ R6,$的意思是先给R6赋了值FAH,这条指令每执行一次,R6的值减1,如果R6不为0的条件满足,就跳转到自己所在的这条指令继续执行。
相当于:
A0:DJNZ R6,A0
DJNZ R6,$的意思是先给R6赋了值FAH,这条指令每执行一次,R6的值减1,如果R6不为0的条件满足,就跳转到自己所在的这条指令继续执行。
相当于:
A0:DJNZ R6,A0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在汇编语言中$是个比较特殊的字符,它代表当前地址。比如说"SJMP $"的意思是,程序跳转到当前地址,即PC指针停留在当前地址。

你对这个回答的评价是?
展开全部
字符结束符号。
追问
能说具体点吗?本人初学 不太懂这个
追答
$在你上述的子程序中,表示执行到$处,就跳转了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询