一、有緣蜂鳴器和無緣蜂鳴器
所謂的有源蜂鳴器是指蜂鳴器內(nèi)部內(nèi)置振蕩電路,一通電就能響。但發(fā)生頻率固定,音色單一;無源蜂鳴器內(nèi)部不含振蕩源,內(nèi)部結(jié)構(gòu)相當(dāng)于電磁場揚(yáng)聲器,可以通過給他輸出一定頻率的信號才能發(fā)聲。人耳能聽到的頻率范圍在20Hz–20kHz之間,通過STM32的GPIO引腳快速切換高低電平輸出就能實(shí)現(xiàn)無源蜂鳴器的發(fā)聲,切換的頻率不同,發(fā)出的音調(diào)就不一樣。需要外部提供2~5khz左右的方波。
二、"哆瑞咪發(fā)…"的實(shí)現(xiàn)
每個音節(jié)都有不用的頻率可以發(fā)出不同的聲音
//Do Re Mi Fa So La Si
根據(jù)?f=72MHZ/[(arr+1)(psc+1)]公式(頻率確定后,再通過寄存器TIMX->CCRY寄存器來確定通道Y的占空比。計(jì)數(shù)器向上計(jì)數(shù)時,當(dāng)計(jì)數(shù)器的值比CCR寄存器值小時輸出低電平,比它大時就輸出高電平,高電平占總周期的時間就是占空比。)來實(shí)現(xiàn)發(fā)出不同的音調(diào)。
三、程序
1.timer.c文章來源:http://www.zghlxwxcb.cn/news/detail-432874.html
1.1//通用定時器3中斷初始化
//這里時鐘選擇為APB1的2倍,而APB1為36M
//arr:自動重裝值。
//psc:時鐘預(yù)分頻數(shù)
//這里使用的是定時器3!文章來源地址http://www.zghlxwxcb.cn/news/detail-432874.html
void TIM3_Int_Init(u16 arr,u16 psc)
{
TIM_TimeBaseInitTypeDef TIM_TimeBas
到了這里,關(guān)于無緣蜂鳴器——stm32定時器PWM實(shí)現(xiàn)控制發(fā)出“哆瑞咪發(fā)…“七個音及簡單音樂的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!