标题: 基于STM32F103的POV-LED初版源码与电路分享 [打印本页]

作者: luoyejian818    时间: 2018-9-5 21:52
标题: 基于STM32F103的POV-LED初版源码与电路分享
一个人摸摸索索搞了一个多月,以前失败过,最近有空又重新捡起来做,电路图和程序都是自己做的,瑕疵很多,还请各位轻喷。底座是买了一个散热风扇,改装而成,供电是用纽扣电池和无线供电,固定用的是热熔胶,然后就是源码和原理图奉上,一起交流切磋。至于为什么选用STM32F103,是因为该系列单片机教程多,易于维护和再开发。最后,此版本是初版,用于验证和交流,电路图上我还加了蓝牙,以便后续控制,后续版本还请继续关注。
以下,视频奉上
https://v.youku.com/v_show/id_XMzgxMjM0MDcyMA==.html

电路原理图如下:


stm32单片机旋转led源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "usart.h"        
  6. #include "timer3.h"
  7. #include "string.h"
  8. #include "exti.h"


  9. u16 t=0x0001;
  10. u8 flag=0;
  11. int i;
  12. int main(void)
  13. {                        
  14.         delay_init();                     //延时函数初始化         
  15.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
  16.          LED_Init();                             //LED端口初始化
  17.         TIM3_Int_Init(99,799);//取MCU内部晶振8Mhz  定义10Khz的计数频率,计数到100为10ms
  18.         TIM4_Int_Init(9999,799);//取MCU内部晶振8Mhz  定义10Khz的计数频率,计数到10000为1s
  19.         exit_init();  //按键中断初始化
  20.         while(1)
  21.         {        
  22.                 if(i<=0)
  23.                 {
  24.                         i=length;
  25.                 }
  26.         for(i=length-1;i>0;i-=2)
  27.    {               
  28.            led_passing(data[i-1],data[i]);        
  29.            delay_us(950);
  30.          }
  31.         }
  32. }
复制代码

所有资料51hei提供下载:
源码.rar (286.23 KB, 下载次数: 87)
原理图.zip (26.63 KB, 下载次数: 58)




作者: jlclwx88    时间: 2018-9-5 23:04
期待楼主分享实物图

作者: luoyejian818    时间: 2018-9-5 23:17
jlclwx88 发表于 2018-9-5 23:04
期待楼主分享实物图

实物就在视频里呀  亲
作者: gowin31581191    时间: 2018-10-18 00:18
轉速很重要
作者: QGMZ1717    时间: 2019-4-12 08:03
感谢楼主分享
作者: 逝水、流年    时间: 2019-10-15 11:44
感谢分享
作者: 逝水、流年    时间: 2019-10-24 17:30
感谢分享
作者: 000-0    时间: 2021-4-15 13:23
楼主的是平面旋转的吗
作者: romking11    时间: 2022-2-16 19:31
感谢分享先,先收藏了后续学习。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1