stm32呼吸燈本程序是利用占空比來調節led燈的漸亮漸暗的
芯片:stm32f10x
單片機源程序如下:
- #include<stm32f10x.h>
- #include "sys.h"
- #include "delay.h"
- #include "usart.h"
- #include "led.h"
- void ledbreath(u16 t,u16 i)
- {
- PAout(3)=0;
- PAout(3)=1;//電平先拉低,在拉高
- delay_us(i);//高電平的時間
- PAout(3)=1;
- PAout(3)=0;//電平先拉高,再拉低
- delay_us(t-i);//低電平的時間
-
- } //形成一個基本的pwm波,但占空比在變,
- int main(void)
- {
- int i=0;
- delay_init(); //延時函數初始化
- LED_Init(); //初始化與LED連接的硬件接口
- while(1)
- {
- for(i=1;i<25000;i+=350)//25000,250,這兩個參數隨便調,只要效果明顯就行了,先開始i增加占空比在增大
- {
- ledbreath(25000,i);
- }
- for(i=25000;i>1;i-=350)//后占空比開始減小
- {
- ledbreath(25001,i);
- }
- }
- }
- // int main(void)
- // {
- // delay_init(); //延時函數初始化
- // LED_Init(); //初始化與LED連接的硬件接口
- // while(1)
- // {
- // LED0=0;
- // LED1=1;
- // delay_ms(300); //延時300ms
- // LED0=1;
- // LED1=0;
- // delay_ms(300); //延時300ms
- // }
- // }
- /**
- *****************下面注視的代碼是通過調用庫函數來實現IO控制的方法*****************************************
- int main(void)
- {
-
- delay_init(); //初始化延時函數
- LED_Init(); //初始化LED端口
- while(1)
- {
- GPIO_ResetBits(GPIOB,GPIO_Pin_5); //LED0對應引腳GPIOB.5拉低,亮 等同LED0=0;
- GPIO_SetBits(GPIOE,GPIO_Pin_5); //LED1對應引腳GPIOE.5拉高,滅 等同LED1=1;
- delay_ms(300); //延時300ms
- GPIO_SetBits(GPIOB,GPIO_Pin_5); //LED0對應引腳GPIOB.5拉高,滅 等同LED0=1;
- GPIO_ResetBits(GPIOE,GPIO_Pin_5); //LED1對應引腳GPIOE.5拉低,亮 等同LED1=0;
- delay_ms(300); //延時300ms
- }
- }
-
- ****************************************************************************************************
- ***/
-
-
- /**
- *******************下面注釋掉的代碼是通過 直接操作寄存器 方式實現IO口控制**************************************
- int main(void)
- {
-
- delay_init(); //初始化延時函數
- LED_Init(); //初始化LED端口
- while(1)
- {
- GPIOB->BRR=GPIO_Pin_5;//LED0亮
- GPIOE->BSRR=GPIO_Pin_5;//LED1滅
- delay_ms(300);
- GPIOB->BSRR=GPIO_Pin_5;//LED0滅
- GPIOE->BRR=GPIO_Pin_5;//LED1亮
- delay_ms(300);
- }
- }
- **************************************************************************************************
- **/
復制代碼
所有資料51hei提供下載:
呼吸燈實驗.7z
(178.71 KB, 下載次數: 149)
2020-3-14 15:06 上傳
點擊文件名下載附件
stm32 下載積分: 黑幣 -5
|