【51单片机系列】点灯大师三之流水灯 本文实现了LED D1 ~ D8 ~ D1逐个点亮,表现流水灯的效果。 LED流水灯的实现 硬件实现 使用proteus设计如下LED模块。
共阳极LED模块 软件实现 轮流点亮过程中用到了头文件中的函数和。附录提供了头文件中的内容及说明。函数将unsigned char类型的数据val循环右移n位,若n=1,即首先将数据右移一位,然后将原来bit0的数据放到bit7的位置;比如对于数据调用后得到;函数将unsigned char类型的数据val循环左移n位,若n=1,即首先将数据左移一位,然后将原来bit7的数据放到bit0的位置;比如对于数据调用后得到。 实现代码如下:
代码实现 仿真结果
仿真结果 附录 intrins.h头文件内容如下: 比较常用的是上面8个函数,作用分别如下: 空操作指令函数函数产生一个NOP指令,该函数可以用作C程序的时间比较,C51在函数工作期间不产生函数调用。 测试并清零指令函数产生一个JBC指令,该函数测试一个位,当置位时返回1,否则返回0,该函数只能用于可直接寻址的位,在表达式中不允许使用。 循环移位函数、、、、、 将unsigned char类型数据val循环右移n位;将unsigned char类型数据val循环左移n位;将unsigned int类型数据val循环右移n位;将unsigned int类型数据val循环左移n位;将unsigned long类型数据val循环右移n位;将unsigned long类型数据val循环左移n位;
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/78189.html