|
本帖最后由 Hackerpro 于 2016-1-9 08:57 编辑
点LED是单片机的基本功,跟人家说你会点LED可能会被高手笑话
不过只要你敢想的话,一个LED也可以很强大
1、单闪、双闪、快闪、慢闪、常亮……每种方式表示一种状态,不错吧
2、摩斯码?晃晃灯
3、……我能想到的,目前就这些了
- static const u8 LedTab[8] = {0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF};//存放闪灯方式,转成二进制后,0灭1亮,可以自己随意设定
- uiDataOne = LedTab[1];
- while(1)
- {
- for (i = 0; i < 8; i++)
- {
- if (0 != (uiDataOne & 0x80)) LED(ON);
- else LED(OFF);
- uiDataOne = uiDataOne << 1;
- delay(20);
- }
- delay(100);//用来间隔两次闪灯过程
- }
复制代码
其实程序是借鉴了HC595的驱动程序,这个demo对spi理解有很大帮助的
红线就是数据端电平
目前设定的控制位数为8个,也可以用用两个16进制数来表示,就可以有更多的花样
我用STM32定时器做的,用定时器去实现闪灯,main只管显示内容
Arduino也可以,不过貌似只能在主程序跑了 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|