一個有趣實用的程序,通過簡單延時,程序模擬PWM波實現LED呼吸閃爍。
這是一個在PB5引腳上的LED燈 ,程序正確可執行,直接修改可移植。分享一些有趣的實驗小程序.....
單片機源程序如下:
- ///////////////////////////////////////////////////////////////////////////////////
- // *名稱: 呼吸燈 - (LED燈通用) //
- // *詳情: 通過程序模擬PWM波實現LED燈的漸變過程。 //
- // 該例程是作用在PB5口上的LED顯示,移植其他程序在led.c中修改, //
- // 呼吸時長可在主程序中修改。 //
- // *作者: WJin //
- // *固件庫: V3.5.0 //
- // //
- ///////////////////////////////////////////////////////////////////////////////////
- #include "stm32f10x.h"
- #include "led.h"
-
- void delay(uint32_t counter)
- {
- while (counter --);
- }
- int main (void)
- {
- int i, a, b;
- LEDBX_BREATHE_Init();
- a= 5600;
- b = 5200; //修改數值來調整呼吸時長
- while(1)
- {
- for (i = 0; i < a; i ++)
- {
- GPIO_ResetBits(GPIOB, GPIO_Pin_5);
- delay(a - i);
- GPIO_SetBits(GPIOB, GPIO_Pin_5);
- delay(i);
- }
-
- for (i = 0; i < b; i++)
- {
- GPIO_ResetBits(GPIOB, GPIO_Pin_5);
- delay(i);
- GPIO_SetBits(GPIOB, GPIO_Pin_5);
- delay(b - i);
- }
- delay(100);
- }
- }
復制代碼
所有資料51hei提供下載:
呼吸燈.rar
(285.69 KB, 下載次數: 72)
2018-1-29 16:38 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|