主页 > 工具导航 > 正文

51render(51render渲染器之家机械臂)

工具导航 2022-07-02 18:51:24 0 xiang2024
  

51聊天软件

  进入用户管理中心,点击底部左边的论坛。


51render


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。

  兄弟们懂吗?

标签:

2019-2025 © https://www.blogone.net/ All Rights Reserved 粤ICP备15014801号 粤公网安备44170202000418号

sitemap | 联系我们

ONE技术网(www.blogone.net)为您提供生活中基础常识小技巧,帮助您解决生活烦恼!