亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于STM32單片機(jī)的數(shù)字音樂盒設(shè)計(jì)

        2019-01-02 03:50:36慶,
        關(guān)鍵詞:音樂盒重裝彩燈

        胡 慶, 余 晨

        (成都大學(xué) 信息科學(xué)與工程學(xué)院, 四川 成都 610106)

        0 引 言

        隨著電子行業(yè)的興起,智能化已經(jīng)逐漸成為一種潮流和趨勢(shì)[1],人們不再滿足于機(jī)械式音樂盒的單一功能,功能多樣化的數(shù)字音樂盒逐漸成為主流產(chǎn)品.與此同時(shí),單片機(jī)的功能不斷完善,特別是STM32系列微處理器,其基于ARM Cortex-M內(nèi)核的32-bit閃存微控制器,主頻高達(dá)72 MHz,具有高集成度、實(shí)時(shí)性、數(shù)字信號(hào)處理、低功耗、低電壓操作等特點(diǎn),應(yīng)用很廣泛[2].本研究以STM32F103C8T6單片機(jī)為核心,外部加上時(shí)鐘與復(fù)位電路、按鍵電路、喇叭電路、LED電路及音量控制電路,以此來實(shí)現(xiàn)音樂盒的硬件電路,通過C語言來控制單片機(jī)內(nèi)部的定時(shí)器使其產(chǎn)生一定頻率的PWM從而驅(qū)動(dòng)喇叭發(fā)聲,通過AD采集來改變占空比,從而控制音量的增減,通過控制按鍵來實(shí)現(xiàn)上一首、下一首及暫停播放.本研究設(shè)計(jì)的數(shù)字音樂盒外觀精致小巧,制作工藝簡(jiǎn)單,具有較強(qiáng)實(shí)用性.

        1 系統(tǒng)的結(jié)構(gòu)與功能

        本設(shè)計(jì)的系統(tǒng)結(jié)構(gòu)框圖如圖1所示.系統(tǒng)以STM32-F103C8T6單片機(jī)為核心, 采用USB供電. 按鍵電路使用定時(shí)器2產(chǎn)生中斷,從而達(dá)到選曲的目的以及暫停播放功能.定時(shí)器3輸出PWM驅(qū)動(dòng)喇叭發(fā)聲以及LED的隨機(jī)閃動(dòng).另外,復(fù)位電路中,當(dāng)程序運(yùn)行出錯(cuò)時(shí),復(fù)位鍵可使系統(tǒng)重新工作.

        圖1系統(tǒng)結(jié)構(gòu)框圖

        2 系統(tǒng)硬件設(shè)計(jì)

        2.1 控制處理器

        STM32F1微控制器系列,具有較高的性能、一流的外圍設(shè)備以及較低消耗的功能與電壓[3].STM32F103系列微處理器時(shí)鐘頻率為72 MHz,電壓范圍為2.0~3.6 V.本設(shè)計(jì)采用STM32F103C8T6[4]作為系統(tǒng)的控制處理器.

        2.2 穩(wěn)壓芯片

        AMS1117系列穩(wěn)壓器有可調(diào)版與多種固定電壓版,可提供1 A輸出電流且工作壓差可低至1 V.在最大輸出電流時(shí),AMS1117器件的最小壓差保證不超過1.3 V,并隨負(fù)載電流的減小而逐漸降低.常用電路圖如2所示.

        圖2 AMS1117常用電路

        本設(shè)計(jì)使用AMS1117穩(wěn)壓芯片給喇叭單獨(dú)供電,考慮到AMS1117在工作中易發(fā)熱,使用了一個(gè)穩(wěn)壓二極管降壓,再通過AMS1117穩(wěn)壓芯片輸出3.3 V給喇叭供電.因?yàn)锳MS1117的最小工作壓差為1 V,本設(shè)計(jì)只使用一個(gè)穩(wěn)壓二極管,就可以保證穩(wěn)壓芯片的正常工作.

        2.3 電源電路

        電源電路如圖3所示.

        圖3電源電路

        單片機(jī)使用5 V電源,通過Mirco USB接口供電,再通過系統(tǒng)板上的LDO低壓差線性穩(wěn)壓器RT9193將5 V轉(zhuǎn)為3.3 V輸出,如圖4所示.為了達(dá)到對(duì)干擾信號(hào)的抑制,系統(tǒng)再通過電容濾波(見圖5).由于喇叭消耗功率較大,所以單獨(dú)使用降壓芯片AMS1117-3.3給喇叭供電.

        圖4 5 V轉(zhuǎn)3.3 V電路

        圖5濾波電路

        2.4 復(fù)位電路

        STM32F103的NRST引腳輸入驅(qū)動(dòng)使用CMOS工藝,連接一個(gè)不能斷開的上拉電阻R,電阻值如表1所示[4].上拉電阻由電阻串聯(lián)一個(gè)可開關(guān)的PMOS實(shí)現(xiàn),這個(gè)PMOS開關(guān)的電阻很小(約占10%).

        表1 STM32F103的NRST引腳上拉電阻值

        復(fù)位電路如圖6所示.復(fù)位源將最終作用于RESET引腳,并在復(fù)位過程中保持低電平,復(fù)位入口矢量地址設(shè)置為0x0000~0004.當(dāng)復(fù)位鍵按下時(shí),單片機(jī)引腳接收到一個(gè)低電平的信號(hào),從而實(shí)現(xiàn)外部復(fù)位.

        2.5 按鍵電路

        本設(shè)計(jì)使用普通的按鍵接法,通過單片機(jī)PA0、PC14、PC15口控制,實(shí)現(xiàn)歌曲播放順序的調(diào)換和暫停播放功能.按鍵電路圖如圖7所示.

        圖6復(fù)位電路

        圖7按鍵電路

        2.6 LED電路

        LED電路包括:一個(gè)LED作為系統(tǒng)指示燈,當(dāng)按鍵按下時(shí)為常亮,而當(dāng)系統(tǒng)正常工作時(shí),燈按1.3 s的頻率閃爍;一個(gè)LED作為電源指示燈,上電常亮,如圖8所示;一個(gè)LED作為音階指示燈,當(dāng)變換一次音階時(shí)變換一次,而當(dāng)播放暫停時(shí),為常亮;一個(gè)LED作為頻率指示燈,跟隨著音樂的變換而隨機(jī)閃爍,如圖9所示.

        圖8系統(tǒng)指示和電源指示LED電路

        圖9 音階和頻率指示LED電路

        2.7 喇叭電路

        喇叭的功率為3 W,電阻為4 Ω,通過AMS1117芯片所輸出的3.3 V給喇叭供電.STM32的PA6引腳接到三極管的基極,通過引腳輸出不同的PWM信號(hào),從而使喇叭發(fā)出不同的聲音.喇叭電路如圖10所示.

        圖10喇叭電路

        2.8 音量控制電路

        通過改變滑動(dòng)變阻器電阻改變流過的電壓和電流,音量控制電路如圖11所示.引腳PA2采集信號(hào)通過改變占空比來改變音量.

        圖11音量控制電路

        3 系統(tǒng)軟件設(shè)計(jì)

        3.1 系統(tǒng)軟件設(shè)計(jì)流程

        系統(tǒng)軟件的主程序流程圖如圖12所示.首先對(duì)系統(tǒng)時(shí)鐘、延時(shí)函數(shù)、ADC采樣、按鍵、彩燈、定時(shí)器TIM2與TIM3的PWM進(jìn)行初始化,清除一些標(biāo)志位,設(shè)置定時(shí)器的工作方式、初值及中斷優(yōu)先級(jí)等,使程序能夠正常運(yùn)行[5].然后,檢測(cè)歌曲是否結(jié)束,未結(jié)束則讀取音階即頻率,再由定時(shí)器產(chǎn)生不同的PWM信號(hào),從而驅(qū)動(dòng)喇叭發(fā)聲直至歌曲結(jié)束.

        3.2 定時(shí)器的設(shè)置

        音樂盒的設(shè)計(jì)主要是利用STM32F103C8T6內(nèi)部的定時(shí)器[6].該定時(shí)器有4路PWM輸出,將其中1路輸出給喇叭使其發(fā)聲,而將另外3路輸出給彩燈使其隨機(jī)閃爍[7].本設(shè)計(jì)通過設(shè)定不同的分頻系數(shù)以及重裝值讓PWM產(chǎn)生不同的頻率.節(jié)拍是利用延時(shí)函數(shù)來設(shè)置的,通過讓每個(gè)音階延時(shí)一段時(shí)間(即節(jié)拍)來演奏一首完整的樂曲.

        圖12主程序流程圖

        本設(shè)計(jì)所用的定時(shí)器有:測(cè)量輸入信號(hào)的脈沖長(zhǎng)度或產(chǎn)生需要的輸出波形的通用定時(shí)器TIM2和定時(shí)器TIM3,用來確保延時(shí)函數(shù)精確性的24-bit遞減計(jì)數(shù)器SysTick.

        定時(shí)器相關(guān)參數(shù)設(shè)置如下:定時(shí)器TIM2的初始化為10 ms中斷一次,其中,arr為自動(dòng)重裝值,psc為時(shí)鐘預(yù)分頻數(shù).

        定時(shí)器溢出時(shí)間計(jì)算方法為,

        Tout=((arr+1)·(psc+1))/Ft

        (1)

        式中,F(xiàn)t為定時(shí)器工作頻率,因?yàn)橄到y(tǒng)時(shí)鐘為72 MHz,所以本設(shè)計(jì)定時(shí)10 ms溢出一次時(shí),自動(dòng)重裝值arr設(shè)置為99,時(shí)鐘預(yù)分頻數(shù)psc可以設(shè)置為7199,則溢出時(shí)間Tout為,

        Tout=((99+1)×(7199+1))/72=10 ms

        (2)

        代碼如下:

        void TIM2-Int-Init(u16 arr,u16 psc)//定時(shí)器TIM2初始化

        {

        RCC->APB1ENR|=1<<0;//TIM2時(shí)鐘使能

        TIM2->ARR=arr;//arr=99

        TIM2->PSC=ps;//psc=7199

        TIM2->DIER|=1<<0;//允許更新中斷

        TIM2->CR1|=0x01;//使能定時(shí)器TIM2

        MY-NVIC-Init(1,3,TIM2-IRQn,2);//搶占1,子優(yōu)先級(jí)3,組2

        }3.3 PWM輸出設(shè)計(jì)

        本設(shè)計(jì)利用定時(shí)器TIM3輸出PWM來控制喇叭發(fā)聲,再通過調(diào)節(jié)占空比控制音量.TIM3有4路PWM輸出,其中1路接上喇叭,另外3路分別接上3個(gè)彩燈,使得彩燈跟隨頻率的不同而隨機(jī)閃爍,為音樂盒增添一份美感.代碼如下:

        void F-set(u8 psc)

        {

        TIM3->ARR = 999;//重裝值,溢出值,計(jì)數(shù)周期

        TIM3->PSC=yinjie[psc];//設(shè)置分頻,設(shè)定發(fā)聲頻率

        TIM3->CCR1 = vlo;//賦值為音量

        TIM3->CCR2 = psc%5*(psc%7*140)+400;

        TIM3->CCR3 = psc%3*(psc%7*140)+400;

        TIM3->CCR4 = psc%2*(psc%7*140)+400;//彩燈,占空比不同,亮度不同,對(duì)5、3、2取余,盡量隨機(jī)閃動(dòng)

        }

        3.4 按鍵處理程序設(shè)計(jì)

        本設(shè)計(jì)有3個(gè)功能按鍵,分別為上一曲、下一曲及暫停功能,首先要對(duì)按鍵初始化,使能按鍵對(duì)應(yīng)的硬件端口,再對(duì)鍵值進(jìn)行判斷,最后執(zhí)行相應(yīng)的操作.具體代碼如下:

        if(KEY0==0||KEY1==0||KEY2==0)//按鍵按下

        {

        LED1 = 0;//按下紅燈常亮

        if(KEY-sta==0)//第1次掃描

        {

        KEY-sta|=0x20;//按下標(biāo)記

        KEY-sta|= (KEY0?0:0x01);//存按鍵值

        KEY-sta|= (KEY1?0:0x02);

        KEY-sta|= (KEY2?0:0x04);

        }

        else if(KEY-sta&0x20) KEY-sta |= 0x80;//連續(xù)第2次掃描,認(rèn)為按鍵按下,標(biāo)記鍵值處理

        }

        else//按鍵釋放,標(biāo)記鍵值處理

        {

        if(KEY-sta&0x80)//確定按鍵按下標(biāo)記,進(jìn)行鍵值處理

        {

        if(KEY-sta&0x01) Next=2;//按鍵0,上一曲

        else if(KEY-sta&0x02) Suspend=(Suspend==0)?1:0;//按鍵1,暫停

        else if(KEY-sta&0x04) Next = 1;//按鍵2,下一曲

        }

        KEY-sta = 0;//釋放按鍵,狀態(tài)清0

        }

        4 仿真及功能測(cè)試

        測(cè)試時(shí),本研究在Proteus軟件下新建仿真項(xiàng)目,搭建好原理電路圖如圖13所示,然后結(jié)合Keil對(duì)電路進(jìn)行仿真調(diào)試.實(shí)物圖如圖14所示.音樂盒通電,系統(tǒng)正常工作,電源指示黃色燈常亮,系統(tǒng)指示燈以1.3 s的頻率閃爍,藍(lán)色的頻率燈常亮,4引腳的彩燈隨頻率閃爍,喇叭發(fā)出音樂.本設(shè)計(jì)通過按鍵設(shè)置上一首、下一首及暫停播放,實(shí)現(xiàn)了數(shù)字音樂盒功能.

        在測(cè)試時(shí),本設(shè)計(jì)在嘗試使喇叭發(fā)聲的過程中,最初將重裝值設(shè)置為1999,即周期為2000,此時(shí)定時(shí)器重裝值大了,分頻數(shù)小,當(dāng)頻率高時(shí),頻率不準(zhǔn),誤差大,高音聽起來就像雜音.對(duì)此, 本設(shè)計(jì)嘗試減小重裝值,將重裝值設(shè)置為999,即周期為1000,此時(shí)分頻數(shù)提高,精度也相對(duì)提高,頻率誤差減少,音質(zhì)更加準(zhǔn)確.此外,本設(shè)計(jì)在調(diào)節(jié)音量大小時(shí),通過不斷嘗試,最后也找到了使音量最大的占空比.

        圖13 Proteus軟件仿真

        圖14硬件測(cè)試

        5 結(jié) 語

        本設(shè)計(jì)以STM32F103系列芯片作為控制芯片,利用定時(shí)器的4路PWM輸出,1路控制喇叭發(fā)聲,其余3路分別接上3個(gè)彩燈,使得彩燈跟隨頻率的不同而隨機(jī)閃爍,為音樂盒增添了一份美感,同時(shí),還設(shè)置了上一首、下一首及暫停播放,實(shí)現(xiàn)人性化控制.本設(shè)計(jì)的數(shù)字音樂盒工藝簡(jiǎn)單,有較強(qiáng)的實(shí)用價(jià)值,稍加外觀設(shè)計(jì)便可用于玩具制造行業(yè).

        猜你喜歡
        音樂盒重裝彩燈
        彩燈
        重裝出擊:現(xiàn)代坦克戰(zhàn)術(shù)(4)
        重裝出擊:現(xiàn)代坦克戰(zhàn)術(shù)(2)
        特別的音樂盒
        重裝出擊:現(xiàn)代坦克戰(zhàn)術(shù)(9)
        元宵佳節(jié)點(diǎn)彩燈
        裝滿悔恨的音樂盒
        一個(gè)后悔的音樂盒
        “光伏領(lǐng)跑者”重裝上陣?
        能源(2017年5期)2017-07-06 09:25:55
        音樂盒里的秘密
        国产欧美日韩在线观看| 人妻少妇被猛烈进入中文字幕 | 国产激情久久久久影院老熟女| 日韩少妇激情一区二区| 精品人妻少妇一区二区不卡| 深夜福利国产| 日本一本二本三本道久久久| 国产自拍av在线观看| 开心五月天第四色婷婷| 亚洲av无码乱码在线观看牲色| 国产精品综合色区在线观看| 免费人成再在线观看视频| 日本韩无专砖码高清| 啪啪视频一区二区三区入囗| 一区二区三区午夜视频在线观看| 日本在线综合一区二区| 精品少妇一区二区av免费观看| 免费女人高潮流视频在线观看| 人妻丰满熟妇av无码处处不卡| 国产免费一级在线观看| 亚洲av福利天堂在线观看 | 亚洲人成网站77777在线观看 | 国产精品色内内在线播放| 亚洲麻豆av一区二区| 夜夜高潮夜夜爽免费观看| 丰满熟妇乱又伦精品| 无码吃奶揉捏奶头高潮视频| 99精品视频69V精品视频 | 日产精品久久久久久久性色| 成在线人视频免费视频| 久久国产精品av在线观看| 久久av粉嫩一区二区| 精品视频一区二区三区在线观看| 竹菊影视欧美日韩一区二区三区四区五区| 亚洲成AV人片在一线观看| 中文字幕一区二区三区综合网| 亚洲tv精品一区二区三区| 亚洲av永久无码精品网址| 久久免费看少妇高潮v片特黄| 日韩国产欧美成人一区二区影院| 亚洲中文字幕乱码免费看|