LED灯流水灯程序解释(STC15F2K60S2蓝桥杯开发板)

需要掌握知识:C语言基础,二进制,十进制和十六进制的转换,二进制的逻辑运算符(与或非等)

需要安装软件:KEIL,STC-isp

1.LED灯原理图:

本开发板为共阳极LED灯,即右侧VCC位置为电源正极,此时只需在LED左侧引脚低电平(让对应的P0口输出低电平)即可点亮该LED灯。

1.添加开发板头文件。

头文件里包含数据接口的声明,即包含了STC15F2K60S2单片机的内容。

2.初始化。

下图为74HC138的原理图:

下表可见当P25,26,27口输入对应高低电平时,Y口输出对应信 ,且Y口同时只能有一个低电平(也就是在同一时刻只能控制一个元件)。

 P2=0X80 即将P2口调节成二进制的 1000 0000,这条语句等同于P25 = 1,P26=0,P27=0;此时Y4口输出低电平,可以用M74HC573M1R芯片上的P0控制LED灯。

 3.点亮LED灯

可以通过下述方式单独控制P01,02,03口,打开LED灯。

 也可以用P0=0X**控制所有LED灯(这种方式看上去更加简洁)。

需要注意的是,P0=0X**从右往左编 依次对应P01~P08(示例代码如下)。

以下代码功能为点亮左侧第一个LED灯。

此时就可以解释初始化代码中的P2=0X80;P0=0XFF;先将P2口调整到控制LED灯,然后令P0=0XFF以关闭所有LED灯。

4.延时函数

这个emmm(反正我是直接背的),向这个函数传递的数字即为延迟的毫秒数。

有了这个就可以做一些简单的例子了。

5.简单流水灯

这个写法比较低级,但是容易理解。

通过while循环可以让流水灯一直执行。

这种比较简洁,但是相对来说比较难理解,因为用到了位运算符,<<位左移,>>位右移,~取反运算符。

还有一些其他LED可以实现的功能,只要知道原理都可以实现,这里就不多写了。

文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览33828 人正在系统学习中

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

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

相关推荐