



付費下載
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第第頁初學stm32-PWM的應用-呼吸燈PWM概述脈沖寬度調制(PWM),是英文“PulseWidthModulation”的縮寫,簡稱脈寬調制,是利用微處理器的數字輸出來對模擬電路進行控制的一種非常有效的技術。簡單一點,就是對脈沖寬度的控制,PWM原理如圖:STM32F4的定時器除了TIM6和7。其他的定時器都可以用來產生PWM輸出。通過查看開發板的原理圖(如下),可發現PF9引腳連接LED0,同時也是作為TIM14_CH1的復用輸出端口,知道此前提,我們就可以開始搞事情了。PWM輸出步驟使能定時器14和相關IO口時鐘。使能定時器14時鐘:RCC_APB1PeriphClockCmd();使能GPIOF時鐘:RCC_AHB1PeriphClockCmd();初始化IO口為復用功能輸出。函數:GPIO_Init();GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;//復用功能GPIOF9復用映射到定時器14GPIO_PinAFConfig(GPIOF,GPIO_PinSource9,GPIO_AF_TIM14);初始化定時器:ARR,PSC等:TIM_TimeBaseInit();初始化輸出比較參數:TIM_OC1Init();使能預裝載寄存器:TIM_OC1PreloadConfig(TIM14,TIM_OCPreload_Enable);使能自動重裝載的預裝載寄存器允許位TIM_ARRPreloadConfig(TIM14,ENABLE);使能定時器。不斷改變比較值CCRx,達到不同的占空比效果:TIM_SetCompare1();呼吸燈實現pwm.c
#include"pwm.h"
/*引腳說明:LED0燈連接PF9,TIM14通道1TIM14--APB1,定時器頻率:84MHZ*/
voidPwm_Led0_Init(void){GPIO_InitTypeDefGPIO_InitStruct;TIM_TimeBaseInitTypeDefTIM_TimeBaseStruct;TIM_OCInitTypeDefTIM_OCInitStruct;//定時一個該結構體//開啟TIM14和和GPIO時鐘,配置PF9選擇復用功能AF9(TIM14)輸出。//庫函數使能TIM14時鐘RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM14,ENABLE);//還需要使用到GPIOF9,所以也要使能該引腳RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE);//由于使用到PF9的復用功能,利用庫函數使其引腳與TIM14定時器GPIO_PinAFConfig(GPIOF,GPIO_PinSource9,GPIO_AF_TIM14);GPIO_InitStruct.GPIO_Pin=GPIO_Pin_9;//GPIOF9GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF;//配置引腳為復用功能GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;//速度50MHzGPIO_InitStruct.GPIO_OType=GPIO_OType_PP;//推挽復用輸出GPIO_InitStruct.GPIO_PuPd=GPIO_PuPd_UP;//上拉GPIO_Init(GPIOF,//初始化PF9,用庫函數寄存器
TIM_TimeBaseStruct.TIM_Prescaler=84-1;//設置定時器的分頻值1MHZTIM_TimeBaseStruct.TIM_Period=500-1;//設置定時器的的自動重裝載的值周期為500usTIM_TimeBaseStruct.TIM_CounterMode=TIM_CounterMode_Up;//設置定時器為向上計數模式TIM_TimeBaseStruct.TIM_ClockDivision=TIM_CKD_DIV1;//設置定時器的時鐘分頻因子TIM_TimeBaseInit(TIM14,//初始化定時器14TIM_OCInitStruct.TIM_OCMode=TIM_OCMode_PWM1;//選擇PWM的模式,選擇PWM模式1TIM_OCInitStruct.TIM_OCPolarity=TIM_OCPolarity_Low;//輸出的極性,輸出是高電平還是低電平,這里選擇低電平TIM_OCInitStruct.TIM_OutputState=TIM_OutputState_Enable;//用于設置輸出的使能,使能PWM輸出到端口//根據設定信息配置TIM14OC1--通道1TIM_OC1Init(TIM14,//使能預裝載寄存器:TIM_OC1PreloadConfig(TIM14,TIM_OCPreload_Enable);//使能自動重裝載的預裝載寄存器允許位TIM_ARRPreloadConfig(TIM14,ENABLE);
//使能定時器。TIM_Cmd(TIM14,ENABLE);
}
main.c
#include"stm32f4xx.h"#include"led.h"#include"delay.h"#include"pwm.h"
intmain(void){//NVIC分組(一個工程當中只能配置一次分組)搶占優先級2位,值范圍:0~3;響應優先級2位,值范圍:0~3;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//LED燈初始化Led_Init();Delay_Init();Pwm_Led0_Init();//對比的燈GPIO_ResetBits(GPIOE,GPIO_Pin_14);inti;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國溫度生物指示器行業市場全景監測及投資戰略咨詢報告
- 中國畜牧擠奶設備市場規模現狀及投資規劃建議報告
- 中國酒店床行業市場發展現狀及投資潛力預測報告
- 秸稈生產有機肥可行性研究報告
- 類比演繹推理
- 2025年中國環氧酯耐溫防腐漆行業市場發展前景及發展趨勢與投資戰略研究報告
- 年產0萬噸鎂及鎂合金項目可行研究報告共174文檔
- 2025年中國運動健身科技行業市場發展現狀及投資方向研究報告
- 中國香枝木行業市場調查研究及發展戰略規劃報告
- 2025年中國USB光電鼠標市場競爭態勢及行業投資潛力預測報告
- 浙江開放大學2025年《社會保障學》形考任務4答案
- 中國海洋工程行業市場發展分析及前景趨勢與投資前景研究報告
- 2025年大學輔導員招聘考試題庫時事政治專項試卷
- 醬料研發知識培訓課件
- 2025核輻射突發事件放射性污染人員洗消流程及技術要求
- 登革熱疫情應急處置桌面推演方案(2025年)
- 湖北省黃岡市黃梅縣2023-2024學年六年級下學期語文期末質量監測試卷(含答案)
- 醫療廢物處置項目可行性研究報告(范文)
- 圍棋行業跨境出海戰略研究報告
- 附件-珠海市職業衛生分類及分級管理辦法
- 第三單元名著導讀《駱駝祥子》教學設計 2023-2024學年統編版語文七年級上冊
評論
0/150
提交評論