一个人摸摸索索搞了一个多月,以前失败过,最近有空又重新捡起来做,电路图和程序都是自己做的,瑕疵很多,还请各位轻喷。底座是买了一个散热风扇,改装而成,供电是用纽扣电池和无线供电,固定用的是热熔胶,然后就是源码和原理图奉上,一起交流切磋。至于为什么选用STM32F103,是因为该系列单片机教程多,易于维护和再开发。最后,此版本是初版,用于验证和交流,电路图上我还加了蓝牙,以便后续控制,后续版本还请继续关注。
以下,视频奉上
https://v.youku.com/v_show/id_XMzgxMjM0MDcyMA==.html
电路原理图如下:
stm32单片机旋转led源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "key.h"
- #include "sys.h"
- #include "usart.h"
- #include "timer3.h"
- #include "string.h"
- #include "exti.h"
- u16 t=0x0001;
- u8 flag=0;
- int i;
- int main(void)
- {
- delay_init(); //延时函数初始化
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
- LED_Init(); //LED端口初始化
- TIM3_Int_Init(99,799);//取MCU内部晶振8Mhz 定义10Khz的计数频率,计数到100为10ms
- TIM4_Int_Init(9999,799);//取MCU内部晶振8Mhz 定义10Khz的计数频率,计数到10000为1s
- exit_init(); //按键中断初始化
- while(1)
- {
- if(i<=0)
- {
- i=length;
- }
- for(i=length-1;i>0;i-=2)
- {
- led_passing(data[i-1],data[i]);
- delay_us(950);
- }
- }
- }
复制代码
所有资料51hei提供下载:
源码.rar
(286.23 KB, 下载次数: 85)
|