Arduino-Proteus仿真03-LED流水灯

Arduino-Proteus仿真03-LED流水灯

在元件模式中点击P选项,在元件库中搜索所需的元件名称,双击后便可添加到元件清单中。

3) 电路连接

①定义一个16位的数组变量Pattern,用于存放136个数据,数据用16进制表示,例如第一个数据0XFCFF,转换为2进制为B1111110011111111,分别对应ledpins[0]~ledpins[15]的状态,在后面程序按位与操作中,将每一位都与0X0001进行与运算,1 & 1的结果为1, 0 & 1的结果为0,当结果为0时,将对应的led所接引脚置高电平,根据电路连接可以知道,给引脚加高电平的话就是熄灭led灯,反之,当结果为1时,将对应的led所接引脚置低电平,所有led引脚都共阳,因此,给低电平的话就是点亮led灯。这样的话每种16颗led的效果都可以用一个16进制的数据表示。例如想点亮16颗led灯,对应的二进制为B1111111111111111,对应的16进制为0XFFFF;当想点亮2 引脚(第一颗灯)的led灯,其余led都关闭的话,其二进制数据为B0000000000000001,16进制表示为0X0001。
(Pattern[i]>>j & 0x0001)
此行代码的意思就是让每个16进制数据移动j位再跟0X0001进行按位与运算,j依次加1,因此每个数据的16个位能依次跟0X0001进行运算,从而将运算结果与led状态想匹配,达到控制16颗led灯效果的目的

5) 软件操作

程序编写完成后点击Arduino IDE编译器的文件—首选项,将编译选项勾选上。点击好以后进行编译,编译完成后复制HEX文件所在的路径,复制完成后返回Proteus软件,双击Arduino控制板,在Program File处粘贴HEX文件的路径。点击确定以后即可进行仿真,点击Proteus软件下方运行仿真按钮,可以看到仿真的效果。

Arduino-Proteus仿真03-LED流水灯

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月2日
下一篇 2021年1月2日

相关推荐