基于Keil 软件实现8 位流水灯的编程方法

2021-09-17 04:08仝敏
中国设备工程 2021年17期
关键词:运算符数组流水

仝敏

(陕西国防工业职业技术学院,陕西 西安 710300)

流水灯是指将多个LED 灯组成的灯串按顺序依次点亮,反复循环,流水灯在实际生活中得到了广泛的应用,例如,使用单片机实现广告牌、舞台等控制。对于流水灯的控制可以选用单片机作为控制元件,本次设计选用Keil uvision2作为开发环境,使用C 语言进行编程,以AT89C51 单片机的P2 端口为控制端口,使用四种编程方法实现8 位LED 的依次闪烁。

1 设计要求

本次设计选用AT89C51 单片机作为控制元件,共计控制8 个LED,8 个LED 的排列顺序为自右向左分别为D1、D2、D3、D4、D5、D6、D7、D8,其闪烁顺序为D1、D2、D3、D4、D5、D6、D7、D8, 实 现D1 至D8 逐次亮灭。其工作过程如图1 所示。

图1 流水灯的工作过程

2 编程方法

本次设计选用四种编程方法,分别使用位定义、移位运算符、循环移位函数以及数组实现流水灯程序的编写。

方法1:使用位定义(图2)。

图2 位定义实现流水灯

方法2:使用移位运算符(图3)。

图3 移位运算符实现流水灯

方法3:使用循环移位函数(图4)。

图4 循环移位函数实现流水灯

方法4:使用数组(图5)。

图5 数组实现流水灯

3 结语

本设计以AT89C51 为核心,根据设计要求实现8 个LED发光二极管的闪烁控制,在proteus 中对四种编程方法进行验证,四种编程方法均可实现。

猜你喜欢
运算符数组流水
JAVA稀疏矩阵算法
老祖传授基本运算符
流水
JAVA玩转数学之二维数组排序
用手机插头的思路学习布尔运算符
流水有心
Excel数组公式在林业多条件求和中的应用
前身寄予流水,几世修到莲花?
寻找勾股数组的历程
落红只逐东流水