❶ 单片机指令 DJNZ R6,$
转移到原地了,等于是一个循环,只到等于零的时候才执行下一条指令。
❷ 单片机中R0,R1,R2,R5,R6,R7是怎样用的是怎样计算时钟周期和延时程序的时间的
R0,R1,R2,R5,R6,R7
1.是通用寄存器,存取数据使用;
2.R0,R1用于间接寻址,指定内外0-255存储单元,如MOV A,@R0,MOVX @R1;
延时时间按照指令周期计算,每个指令周期为振荡周期的12倍(对于单周期的单片机当然等于振荡周期)。例如,如果单片机使用的晶振为12MHZ,那么指令周期等于1微妙。
❸ 单片机内部循环吗和外部循环的寄存器是什么,R6和R7吗
内部循环和外部循环是指循环嵌套,一个循环的内部又包括了另一个循环。
在结构上,位于内部的循环叫内循环,位于外部的循环叫外循环,由外循环控制内循环。
例如: 上面程序中的 DAY2:DJNZ R6,DLY2 就是内循环 循环次数为123次,每次执行
DJNZ R6,DLY2 指令的时间为2个机器周期。
上面程序中的DAY2:DJNZ R6,DLY2
NOP
DJNZ R7,DLY1
就是外循环 循环次数为200次,R6为内循环计数器,R7为外循环计数器。
由外循环计数器R7控制DJNZ R6,DLY2和 NOP反复执行200次。
总的循环延时时间=[(内循环时间)]×外循环次数
补充:从结构上就可以看出,R6寄存器和DAY2:DJNZ R6,DLY2等是外部循环寄存器R7
循环的所包含的一个部分。故R6是内部循环的寄存器