![STM32CubeMX-LED定時閃爍和輸出PWM波_第1頁](http://file4.renrendoc.com/view/8fceded6a281e1ebb228bf3fe1233d4f/8fceded6a281e1ebb228bf3fe1233d4f1.gif)
![STM32CubeMX-LED定時閃爍和輸出PWM波_第2頁](http://file4.renrendoc.com/view/8fceded6a281e1ebb228bf3fe1233d4f/8fceded6a281e1ebb228bf3fe1233d4f2.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 STM32CubeMXLED定時閃爍和輸出PWM波簡介通過學習STM32CubeMX軟件,掌握配置各個部件的基本法;了解外部中斷,定時器中斷,PWM波產(chǎn)等功能的原理,編寫程序代碼,實現(xiàn)相應的功能。程序預期結果:LED初始設置間隔2秒閃爍次,每按下次按鍵,間隔時間減少0.5秒;當間隔時間減少為0后,LED閃爍改變?yōu)楹粑鼰?,BEEP蜂鳴器開始播放樂星星。STM32CubeMX 前期準備了解基本功能STM32CubeMX可以成硬件的初始化代碼,可視化的界使配置更便捷。Cube安裝及配置安裝流程安裝Java環(huán)境 - 安裝STM32CubeMX軟件 - 安裝STM32CubeMX庫件安裝Java環(huán)境官
2、站下載,STM32CubeMX軟件運需要java環(huán)境1.8.0_45(64-bit)以上安裝庫件(依據(jù)芯型號選擇相應庫件)法 在線安裝打開STM32CubeMX軟件 Help Manage embedded software packages 在彈出的列表中,勾選需要的庫件版本 點擊下側 Install Now 開始下載庫,直安裝成功法 導本地包提前在官下載好庫件(軟件與庫在同址下)打開STM32CubeMX軟件 Help Manage embedded software packages 在彈出的窗中,點擊左下 “FromLocal” 在彈出的窗中找到已經(jīng)下載好的庫件 選中并點擊 “Open
3、” 開始解壓件包,直解壓成功整體設計思路先使TIM3定時器,初始時間間隔為2s,在中斷服務函數(shù)中點亮次LED,完成閃爍使WK_UP按鍵EXTI0外部中斷,在中斷服務函數(shù)中判斷時間間隔是否為0,若不為0,則修改TIM3定時器裝載的值,時間間隔減少0.5s;若為0,修改標識PWM_OK的值為1,表主程序可以進PWM波控制部分主函數(shù)不斷檢測標識PWM_OK的值,當PWM_OK零,進PWM波部分,先將TIM13,TIM14初始化為PWM模式,關閉TIM3,之后不斷修改PWM的占空,實現(xiàn)LED呼吸燈和BEEP發(fā)出不同調各部分簡述STM32CubeMX配置部分: 利STM32CubeMX軟件完成各個硬件的
4、初始化作定時閃爍部分: 利TIM3定時器控制LED實現(xiàn)定時閃爍外部中斷部分: 利EXTI0外部中斷實現(xiàn)WK_UP按鍵功能呼吸燈部分: 利TIM14控制輸出PWM波,實現(xiàn)LED呼吸燈樂部分: 利TIM13控制輸出PWM波,實現(xiàn)BEEP發(fā)出不同調詳細設計說明 STM32CubeMX配置部分新建程 選擇相應的STM32芯RCC設置High Speed Clock 選為 Crystal/Ceramic ResonatorLow Speed Clock 選為 Crystal/Ceramic ResonatorClock Configuration 修改HCLK為168MHzProject ManageP
5、roject: 設置程名及路徑Code Generator: 勾選Generated peripheral initialization as a pair of .c/.h files per peripheralGPIO設置 PA0 WK_UP外部中斷下拉PF9 LED普通輸出PF8 BEEPTIM13_CH1輸出PWM波 Timers 設置TIM3接在APB1時鐘線上,APB1頻率84MHz分頻8400,TIM3頻率10000Hz重載數(shù)值,20000每2s觸發(fā)次中斷TIM14通道1產(chǎn)PWM波,分頻8400,10000Hz重載數(shù)值,200PWM波周期0.02s,即20ms TIM13通道1
6、輸出PWM波分頻840,頻率100KHz重裝數(shù)值,20PWM波周期,0.0002s,0.2ms NVIC 設置使能EXIT0外部中斷使能TIM3定時器中斷成代碼點擊右上 “ GENERATE CODE ”定時閃爍部分中斷程序簡述中斷服務函數(shù)中斷處理函數(shù)中斷回調函數(shù)中斷服務函數(shù) :MDK中已經(jīng)確定,發(fā)中斷后執(zhí)中斷處理函數(shù) :由中斷服務函數(shù)調;作,判斷狀態(tài),清除中斷標識位,然后調中斷回調函數(shù)中斷回調函數(shù) :由戶編寫程序,即中斷后戶希望執(zhí)的操作戶只需修改中斷回調函數(shù)中的內(nèi)容即可定時器中斷服務函數(shù) 利定時器中斷,定時器溢出后觸發(fā)中斷,執(zhí)中斷服務函數(shù)TIM3初始值設置為2s溢出觸發(fā)中斷修改定時器中斷回調
7、函數(shù)的內(nèi)容程序源碼:HAL_GPIO_WritePin(GPIOF,GPIO_PIN_9,GPIO_PIN_RESET);/LED亮HAL_Delay(100);/持續(xù)點亮HAL_GPIO_WritePin(GPIOF,GPIO_PIN_9,GPIO_PIN_SET);/LED滅,閃爍完成外部中斷部分外部中斷簡述外部中斷的015線,每條線對應個EXTI寄存器,每個寄存器對應9個IO0線EXTI0PA0,PB0,PC0,PD0,PE0,PF0,PG0,PH0,PI01線EXTI1PA1,PB1,PC1,PD1,PE1,PF1,PG1,PH1,PI115線EXTI15PA15,PB15,PC15,
8、PD15,PE15,PF15,PG15,PH15每條線每次只能連接個IO外部中斷服務函數(shù) 按下按鍵WK_UP,執(zhí)中斷函數(shù)如果定時器的時間于0.5s,那么減少定時器的時間0.5s,并重新初始化定時器否則將PWM_OK標志設置為1,主函數(shù)可以進PWM程序部分程序源碼void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)HAL_Delay(100);if(htim3.Init.Period 5000)/判斷定時器時間是否于0.5shtim3.Init.Period =htim3.Init.Period-2500 ;/重新設置定時器時間HAL_TIM_Base_I
9、nit(&htim3);/重新初始化TIM3HAL_TIM_Base_Start_IT (&htim3);/啟 動TIM3elsePWM_OK=1;/PWM_OK 1標 志main()可以執(zhí)PWM程序呼吸燈部分PWM波重要參數(shù)頻率 :頻率越,模擬效果越好占空 :占空越,模擬的電壓越設置PWM波輸出將TIM14的PWM波輸出到PF9,對PF9進初始化 TIM14_PWM占空 設置函數(shù)通過修改TIM14的PWM波的占空,改變輸出電壓,從改變LED的發(fā)光亮度程序源碼void user_pwm_setvalue (uint16_t value)/TIM14_PWM占空 設置函數(shù)TIM_OC_InitT
10、ypeDef sConfigOC ;/定義結構體變量,PWM初始化時使sConfigOC.Pulse = value;/將傳的數(shù)據(jù)設置為PWM新的占空sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;PWM占空逐漸變化通過逐漸改變PWM的占空,實現(xiàn)LED亮度漸變程序源碼/使pwm_value step兩個變量/在main()函數(shù)while循環(huán)中,令pwm_value在0300之間不斷變化if(pwm_value = 0) step = 10;/ pwm_value到達最值,s
11、tep設為正值,使pwm_value增加if(pwm_value = 300) step = -10;/ pwm_value到達最值,step設為負值,使pwm_value減少pwm_value += step;/修 改pwm_value值user_pwm_setvalue (pwm_value);/ 將逐漸變化的pwm_value值傳PWM占空設置函數(shù),逐漸改變PWM占空HAL_Delay(100);蜂鳴器播放樂部分TIM13_PWM控制蜂鳴器的聲強度7個不同的占空控制PWM波,分別產(chǎn)不同強度的聲,對應Do,Re,Mi,F(xiàn)a,So,La,Xi,7種聲設置聲對應的占空程序源碼 #define
12、Do 6#define Re 9#define Mi 11#define Fa 13#define So 15#define La 19#define Xi 20TIM13_PWM占空 設置函數(shù)void user_pwm_time13 (uint16_t tone)/TIM13_PWM占空 設置函數(shù)sConfigOC.Pulse = tone;/將傳的數(shù)據(jù)設置為新的占空sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;主程序main()函數(shù)變量說明使靜態(tài)變量PWM_OK作為P
13、WM開始標志PWM_OK=0,不能開始PWM輸出PWM_OK=1,可以開始PWM輸出使變量start標志表TIM13,TIM14是否已經(jīng)初始化Start=0,未經(jīng)過初始化Start=1,已經(jīng)初始化使維數(shù)組Tone記錄樂曲譜 程序源碼static int PWM_OK=0;/使靜態(tài)變量PWM_OK作 為PWM開始標志/PWM_OK=0,不能開始PWM輸出/PWM_OK=1,可以開始PWM輸出int main(void)void user_pwm_setvalue (uint16_t value);/聲 明TIM14_PWM占空 設置函數(shù)uint16_t pwm_value =0;/占空變化所變量
14、uint16_t step=0;uint16_t start=0;/使變量start標志表TIM13,TIM14是否已經(jīng)初始化/Start=0,未經(jīng)過初始化/Start=1,已經(jīng)初始化uint16_t i,j,k;/使維數(shù)組Tone記錄樂曲譜uint16_t Tone 67=Do,Do,So,So,La,La,So,Fa,Fa,Mi,Mi,Re,Re,Do,So,So,Fa,Fa,Mi,Mi,Re,So,So,Fa,Fa,Mi,Mi,Re,Do,Do,So,So,La,La,So,Fa,Fa,Mi,Mi,Re,Re,Do; SystemClock_Config();HAL_TIM_Base_S
15、tart_IT (&htim3);/PWM_OK=0,直執(zhí)判斷PWM_OK的值/Start=1,已經(jīng)初始化,跳過初始化程序HAL_TIM_Base_DeInit(&htim3);for(i=0;i6;i+)/次循環(huán),播放整樂曲for(j=0;j7;j+)/次循環(huán),播放個節(jié)樂譜for(k=0;k5;k+)/同調延續(xù)五拍user_pwm_time13 (Toneij);/產(chǎn)對應的調if(pwm_value = 0) step = 10;/呼吸燈if(pwm_value = 300) step = -10;pwm_value += step;user_pwm_setvalue (pwm_value);for(k=0;k1;k+)/每個調結束后,暫停拍if(pwm_value = 0) step = 10;/呼吸燈繼續(xù)if(pwm_value = 300) step = -10;pwm_value += step;user_pwm
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能交通管理系統(tǒng)建設與運營合同
- 2024-2025年中國電液伺服系統(tǒng)行業(yè)市場評估分析及投資發(fā)展盈利預測報告
- 2025年度航空航天材料研發(fā)與應用合同-@-1
- 2025年萃取菁蒿素項目可行性研究報告
- 2025年度住宅小區(qū)公共區(qū)域美化裝修合同樣本
- 申請戶口申請書
- 2020-2025年中國孕婦化妝品行業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y戰(zhàn)略咨詢報告
- 2025年單纖維強力測試儀項目投資可行性研究分析報告
- 2025年度企業(yè)內(nèi)部培訓合作辦學協(xié)議
- 農(nóng)村分戶申請書的格式
- 全名校北師大版數(shù)學五年級下冊第三單元達標測試卷(含答案)
- 新員工入職通識考試(中軟國際)
- 四星級酒店工程樣板房裝修施工匯報
- 圓翳內(nèi)障病(老年性白內(nèi)障)中醫(yī)診療方案
- 中考物理復習備考策略
- 博士后進站申請書博士后進站申請書八篇
- 小報:人工智能科技科學小報手抄報電子小報word小報
- GB/T 41509-2022綠色制造干式切削工藝性能評價規(guī)范
- 公安系防暴安全03安檢
- 孫權勸學教案全國一等獎教學設計
- 企業(yè)生產(chǎn)現(xiàn)場6S管理知識培訓課件
評論
0/150
提交評論