极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9187|回复: 0

点灯大师——Blink的花样玩法

[复制链接]
发表于 2016-1-9 08:52:27 | 显示全部楼层 |阅读模式
本帖最后由 Hackerpro 于 2016-1-9 08:57 编辑

点LED是单片机的基本功,跟人家说你会点LED可能会被高手笑话
不过只要你敢想的话,一个LED也可以很强大
1、单闪、双闪、快闪、慢闪、常亮……每种方式表示一种状态,不错吧
2、摩斯码?晃晃灯
3、……我能想到的,目前就这些了

  1. static const u8 LedTab[8] = {0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF};//存放闪灯方式,转成二进制后,0灭1亮,可以自己随意设定

  2. uiDataOne = LedTab[1];

  3. while(1)
  4. {
  5. for (i = 0; i < 8; i++)
  6. {

  7.          if (0 != (uiDataOne & 0x80))        LED(ON);   
  8.          else                                                LED(OFF);

  9.          uiDataOne = uiDataOne << 1;
  10.          delay(20);

  11. }
  12. delay(100);//用来间隔两次闪灯过程
  13. }
复制代码

其实程序是借鉴了HC595的驱动程序,这个demo对spi理解有很大帮助的

红线就是数据端电平

目前设定的控制位数为8个,也可以用用两个16进制数来表示,就可以有更多的花样
我用STM32定时器做的,用定时器去实现闪灯,main只管显示内容
Arduino也可以,不过貌似只能在主程序跑了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 17:42 , Processed in 0.063756 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表