走进Arduino的神奇世界(四)

4 篇文章 0 订阅
1 篇文章 0 订阅

1、二进制基础

简单的说,二进制就是只有0和1表示的计数规则,逢2进1。以此可以看出我们的十进制就是使用0-9表示的技术规则,逢10进1。
进制的英文名称:

二进制是Binary,简称为B;八进制是Octal,简称为O;十进制是Decimal,简称为D;十六进制为Hexadecimal,简称为H。

进制的表示方法:

0B表示二进制数;0O表示八进制数;0D表示十进制数(一般省略不写);0X表示十六进制数。

一般的各进制转化为十进制的方法:

整数二进制用数值乘以2的幂次依次相加,小数二进制用数值乘以2的负幂次然后依次相加。

arduino运行实例

image
https://wokwi.com/projects/336784470606611026

2、二进制运算 与&、或|、非~

&与运算:

就把二进制中的“1”看成男人,“0”看成女人。&运算就看成男人和女人吵架,根据常识“男人和女人吵架基本上都是女人赢”,可得以下结论:0 & x–0;1 & x–x。

image

|或运算:

就把二进制中的“1”看成猫,“0”看成狗。根据常识“狗怕猫”,可以得出以下结论:1 | x–1; 0 | x–x。
在这里插入图片描述

在这里插入图片描述

~非运算:非运算较为简单,就是把目标数中的“0”变为“1”,“1”变为“0”。

各种运算的作用

1、&与运算:取一个数中指定位,方法:找一个数,对应X要取的位,该数的对应位为1,其余位为零,此数与X进行“与运算”可以得到X中的指定位。

在这里插入图片描述

2、|或运算:把一个二进制数变为高电平,方法:把要取高电平的对应位为1,其余位为0。

在这里插入图片描述

3、~非运算:把一个二进制数变为低电平。
&----Read(),|----digitalWrite(HIGH),&+~----digitalWrite(LOW)

3、二进制运算进阶

异或^运算:

异或,英文为exclusive OR,缩写成xor。异或(eor)是一个数学运算符。它应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为“eor”。运算法则:相同为0,不同为1。

作用:可以让目标二进制位翻转

在这里插入图片描述

位移<< >>运算:

位移运算是最快的运算。 方法:左移就相当于乘以2的位移个数次幂,右移就是除以2的位移个数幂。一个数往左移越来越大,往右移越来越小。
在这里插入图片描述

二进制运算代码运行实例

在这里插入图片描述

https://wokwi.com/projects/336905705736897106

4、寄存器

寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。在arduino操作中,可以直接操作寄存器,以便更快的控制arduino。如果说loop循环是毫秒级别的,那寄存器操作就是微妙级别的。

arduino有三种端口,分别是PD、PB、PC。每种接端口有3种寄存器,分别是DDR、PORT、PIN。
在这里插入图片描述

代码运行实例

O~3526 D)M8 16%ONJ `SR
https://wokwi.com/projects/336956361141125714

5、中断

在计算机科学中,中断指计算机CPU获知某些事,暂停正在执行的程序,转而去执行处理该事件的程序,当这段程序执行完毕后再继续执行之前的程序。整个过程称为中断处理,简称中断,而引起这一过程的事件称为中断事件。中断是计算机实现并发执行的关键,也是操作系统工作的根本。

特点:

同步工作,异常处理,实时处理。切记:中断不能使用delay()函数。

代码运行实例

在这里插入图片描述

https://wokwi.com/projects/336959925572862548

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

客场的消音器

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值