新浪博客

51单片机中的$符号怎么用

2011-10-07 00:27阅读:
比如DELAY:MOV R7,#0F6H
LP:MOV R6,#0FAH
DJNZ R6,$
DJNZ R7,LP
RET
中的$
这段的程序求解释
是延时等待的意思,相当于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--)
;
}
}

我的更多文章

下载客户端阅读体验更佳

APP专享