基于STM32的PWM音樂播放器應(yīng)用設(shè)計(jì)
3.2.2 主程序設(shè)計(jì)
程序流程如圖3所示。由于STM32的PWM輸出引腳是PB5,所以我們采用TIM3的通道2來產(chǎn)生PWM輸出。在GPIO設(shè)置程序中,將TIM3的通道2引腳部分重映像到PB5,GPIO模式選擇為復(fù)用推挽輸出。程序循環(huán)讀取樂譜,根據(jù)音階修改定時(shí)器的預(yù)分頻系數(shù),并重新設(shè)置定時(shí)器和PWM。同時(shí),利用STM32的內(nèi)部SysTick進(jìn)行精確計(jì)時(shí),根據(jù)節(jié)拍實(shí)現(xiàn)ms級(jí)延時(shí),并減少內(nèi)核消耗。圖4為示波器測(cè)量得到的低音So的PWM輸出波形。根據(jù)表1,該波形頻率應(yīng)為392 Hz,實(shí)測(cè)為391.549 Hz,可見本方案的PWM輸出誤差較小。
結(jié)語
STM32既可以搭載μC/OS,也可以作為單片機(jī)使用,是一款性價(jià)比較高的處理器。本文利用STM32的定時(shí)器,產(chǎn)生PWM音頻脈沖波形,實(shí)現(xiàn)了音樂播放功能。這種方法可用于電機(jī)控制、電子琴以及無線報(bào)務(wù)中的電子鍵設(shè)計(jì)等,具有較高的實(shí)用價(jià)值。
pwm相關(guān)文章:pwm是什么
pwm相關(guān)文章:pwm原理
蜂鳴器相關(guān)文章:蜂鳴器原理
評(píng)論