51render(51render渲染器之家机械臂)
51聊天软件
进入用户管理中心,点击底部左边的论坛。
51单片机中R0,R1,R2.....都表示的是什么
stmib
,{r1,r2}
将r1和r2的值保存到r0指向的存储单元中(r0自动加1)
ldmia
,{r1,r2}
是指将r0指向的单元格中的数据读入r1和r2 (r0自动加1)。这是一个循环嵌套程序。注意延迟后的六条线中间是否对称?一套一个,MOV R5,# 20;只需要给R5赋一个初始值。具体的“延迟0.2秒”是结合实际电路实现0.2s的延迟。不同电路中不同的晶振不一定是0.2s,延时子程序后面是RET,RET是子程序返回指令,RO-R7都是单片机的通用寄存器。整个程序的功能是产生一个周期为0.4秒的方波。
MOV,#20是将#20写入寄存器R5,DJNZ是跳转指令,DJNR7中的' $ ',$这句话就是这个指令的意思。将R5的值减去1,然后判断是否为0。如果不是0,继续执行这条语句;如果是0,执行下一个。DJNZ R6,D2的意思是不为0时跳转到D2。所以延迟时间大致是(20 * 248 * 20)* 2=198400个机器周期。stmib r0!{r1,r2}
将r1和r2的值保存到r0指向的存储单元中(r0自动加1)
ldmia r0!{r1,r2}
是指将r0指向的单元格中的数据读入r1和r2 (r0自动加1)。这就是所谓的软件延时程序。因为单片机执行一条指令需要时间。以上程序用文字描述:
DELAY: MOV R5,# 20;延时子程序,延时0.2秒
这句话是把十进制数20转移到寄存器R5。
D1: MOV R6,20号
D1是标签,传递20到R6。
MOV路248号D2:
DJNZ R7,美元
如果R7不为0,跳转到该指令的开头,直到它减少到0。
D2 DJNZ R6
R6每被处决一次,就减1。如果它不是0,它将跳转到D2,直到它减少到0。
DJNZ R5
R1每被处决一次,就减1。如果它不是0,它将跳转到D1,直到它减少到0。
浸水使柔软
这是子程序返回指令,明白吗?
其实这个延时节目并不准确。如果它需要精确的延迟,它将被一个定时器中断。51什么是R0,R1,R2.都代表在单片机里?
当前工作寄存器组中的寄存器。
(有4组,每组8个,都表示为r0-r7;
使用psw寄存器中的第3和第4位RS0和RS1进行选择。
复位后,psw默认为00H,
Rs0和rs1组合成00。
因此,公共寄存器组是组0。)
就像一个蓄电池什么的,
它用于存储数据,可以是00H-ffH,
也就是说,它可以是从0到255的任何数字,
当然,因为单片机只识别0和1。
寄存器又是8位的,
也就是00000000b-11111111b。
8位二进制数,
十六进制的话就是00H-ffH。
兄弟们懂吗?
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容请联系我们,一经查实,本站将立刻删除。
转载联系作者并注明出处:https://www.blogone.net/qiu/1898.html
标签:
相关文章