• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于STM32單片機(jī)的無線電子琴系統(tǒng)設(shè)計

      2023-03-20 08:05:46何健諾謝樹波曾敏羽
      電腦迷 2023年23期
      關(guān)鍵詞:電子琴音調(diào)電路設(shè)計

      何健諾 謝樹波 曾敏羽

      【摘? 要】 在1958年,我國就制造出了電子琴,訖今為止它的設(shè)計方法和發(fā)聲原理各種各樣,主要是利用單片機(jī)、PLC技術(shù)、EDA技術(shù)等發(fā)出聲音和控制音調(diào)。現(xiàn)代的電子琴通常采用的是PCM技術(shù)進(jìn)行采樣音源,它依舊和以前的電子琴一樣內(nèi)置濾波器和振蕩器,靠同樣的原理來產(chǎn)生和使用音色。本研究設(shè)計的電子琴是一種能夠發(fā)出8種音階的小型、簡易的單片機(jī)電子琴。該系統(tǒng)設(shè)計是以STM32F103C8T6單片機(jī)為主控芯片,通過連接硬件電路和編寫程序來實現(xiàn)。該設(shè)計的特點是采用單片機(jī)的定時器相關(guān)寄存器輸出的值控制輸出PWM來發(fā)出不同音調(diào),實現(xiàn)升調(diào)降調(diào)、自動演奏,還可以演奏簡單的音樂。

      【關(guān)鍵詞】 電子琴;STM32F103C8T6;定時器;PWM

      一、系統(tǒng)總體設(shè)計

      (一)系統(tǒng)總體框架設(shè)計

      如今電子琴是通常采用PCM或者AWM技術(shù)采樣音源的形式來完成對傳統(tǒng)樂器的音色呈現(xiàn),一般的原理是先對樂器的聲音進(jìn)行采樣記錄,然后通過ADC數(shù)字化存儲在ROM中,再按鍵盤模仿所記錄的頻率回放聲音,用振蕩電路和濾波器形成各種音色。

      事實上,音樂有一個穩(wěn)定的周期信號。該設(shè)計采用STM32F130C8T6的定時器進(jìn)行控制,在IO口輸出PWM信號產(chǎn)生聲音。利用按鍵控制選擇每次輸出的頻率,發(fā)出不同的音調(diào),這樣就可以制作出簡單的電子琴。該設(shè)計的電子琴在演奏方面要求的音色并不是很高,用單片機(jī)自身產(chǎn)生的一般頻率就可以滿足此次設(shè)計的基本要求。

      對電子琴的電路功能進(jìn)行系統(tǒng)的解析,采取由上到下的設(shè)計理念,先從設(shè)計的整個結(jié)構(gòu)進(jìn)行研討,把整體設(shè)計的內(nèi)容進(jìn)行步驟詳細(xì)化,最終實行系統(tǒng)結(jié)構(gòu)的整體設(shè)計。該設(shè)計對電子琴系統(tǒng)的用途和優(yōu)劣并沒有十分精準(zhǔn)和完整的要求,系統(tǒng)的效果需求有基本的按鍵功能、自行進(jìn)行演奏功能、主動升調(diào)降調(diào)功能共3種。

      (二)系統(tǒng)總體方案設(shè)計

      1. 此次設(shè)計的無線電子琴還有音樂儲存功能,能夠自動彈奏存儲好的歌曲。通過編程把數(shù)首曲子的頻率編入系統(tǒng)中,按下設(shè)置的演奏按鈕,電子琴便能夠播放歌曲。

      2. 設(shè)置相關(guān)按鍵。當(dāng)按鍵按下時,使用存儲好的一組音調(diào),這里存儲了兩組音調(diào),分別是低音和中音,通過查詢資料,可以得出都是不同頻率的do、re、mi、fa、so、la、si、do八個音調(diào)。

      3. 設(shè)計的主要工作原理是利用STM32內(nèi)置的定時器TIM3產(chǎn)生一個PWM信號驅(qū)動揚(yáng)聲器產(chǎn)生特定頻率的聲音,通過改變定時器TIM3的分頻預(yù)置數(shù)改變PWM信號的頻率,從而產(chǎn)生不同音調(diào)的聲音,通過改變占空比,產(chǎn)生不同音量的聲音。

      4. 用ST32F103C8T6來做核心控制,設(shè)計中運用單片機(jī)的定時寄存器來產(chǎn)生PWM,然后把音調(diào)分別對應(yīng)不同的頻率信號,最后用無線激光進(jìn)行控制,通過揚(yáng)聲器進(jìn)行輸出。

      5. 設(shè)計中用KEIL5進(jìn)行軟件的設(shè)計編寫,然后搭建硬件電路運行,采取中斷系統(tǒng)和定時器對應(yīng)寄存器的原理掌握電子琴發(fā)聲的頻率,用編程語言實現(xiàn)樂曲演奏必須明確樂曲的音調(diào),通過它來演奏、播放音樂。

      二、模塊化分析

      (一)揚(yáng)聲器模塊

      脈沖寬度調(diào)制(PWM)是英文Pulse Width Modulation的縮寫,簡稱脈寬調(diào)制,應(yīng)用未處理器的數(shù)字輸出來模擬電路進(jìn)行控制的一種技術(shù)。PWM的周期就是由定時器的自動重裝值和CNT計數(shù)頻率決定的,而CNT的計數(shù)時鐘是CK_PSC經(jīng)分頻器PSC得到,通過脈寬調(diào)制解決電子琴的發(fā)聲問題。

      揚(yáng)聲器引腳是PB1。把PB1作為定時器通道,定時器作為單片機(jī)的重點難點,定時器的溢出時間如下:

      Tout=((arr+1)*(psc+1))/Tclk。

      式中,Tout是溢出時間;psc(分頻系數(shù))決定數(shù)數(shù)字的快慢;arr為自動重裝值;Tclk為輸入時鐘頻率,設(shè)置頻率為72/(8+1)=8MHz。

      頻率為arr,Tout=arr+1/8000000,而頻率是時間的倒數(shù),音調(diào)與頻率有關(guān),音調(diào)(頻率)用:Autoreload=(8000000/usFraq)-1方法自動重裝值。

      因為人耳只能聽到大于20Hz小于20000Hz頻率的聲音,自動重裝值最大為65535,所以對應(yīng)值為122。為了防止有噪聲輸出,需要一個判斷頻率的函數(shù)。判斷輸入的頻率小于122Hz大于20000Hz頻率為靜音,使用語句TIM_SetCompare4(TIM3,0)來停止發(fā)聲。

      (二)自動演奏模塊

      每一段音樂都是不同頻率的聲音按照一定的時間節(jié)拍變換發(fā)出。演奏出音樂需要熟悉音樂的音調(diào)和節(jié)拍的信息。查閱到各首音樂的頻率和節(jié)拍。創(chuàng)建兩個數(shù)組AllBGM1[]和AllBGM2[]分別用來存放兩首音樂,里面存放的是音樂的頻率,當(dāng)自動演奏的時候就依次使用數(shù)組里的頻率,但演奏音樂時,每個音調(diào)需要節(jié)拍都不同,需要在每一次調(diào)用數(shù)組里面的頻率時就延時一段時間,音符節(jié)奏分為一拍、半拍、1/4拍、1/8拍,制作者設(shè)定一拍音符的時間為1,半拍為0.5,1/4拍為0.25,1/8拍為0.125……每個音符以這樣的拍子播放出來,音樂就完成了。用實驗板的KEY5和KEY6作為AllBGM1和AllBGM2的按鍵,KEY5或KEY6按下后,揚(yáng)聲器就可以開始自動演奏內(nèi)置音樂。

      (三)激光頭傳感器模塊

      設(shè)計中采用激光頭傳感器模塊KY-008作為無線電子琴的琴鍵。激光頭傳感器模塊KY-008,中間是正極,S是控制腳,工作電壓為5V,規(guī)格為15*24mm,光源波長為650nm,重量為2.2g。當(dāng)電路中的激光被物體擋住時,激光頭傳感器模塊就會輸出不同的電平,比傳統(tǒng)固定直接式按鍵更加靈敏,激光頭傳感器輸出電平信號接到單片機(jī)IO口,單片機(jī)識別之后就做出相應(yīng)的反應(yīng)。使用時更加簡便,觸摸激光線便能使電子琴發(fā)聲,保證了電子琴演奏的新穎性。

      三、硬件設(shè)計

      (一)激光頭傳感器電路設(shè)計

      激光頭傳感器模塊KY-008作為琴鍵是無線電子琴,通過設(shè)計8個激光光傳感器作為8個音階,及8個激光發(fā)射端、8個激光信號接收端,電路設(shè)計如圖1所示。

      (二)主控模塊電路設(shè)計

      主控模塊采用STM32單片機(jī),主控單元的IO口接收激光信號,經(jīng)過程序判斷對應(yīng)IO口,輸出設(shè)定的PWM頻率信號,不同頻率信號對應(yīng)不同的Do-Re-Mi-Fa-Sol-La-Ti-Do音符,每個音符一個音節(jié),主控電路設(shè)計如圖2所示。

      (三)輸出驅(qū)動模塊電路設(shè)計

      輸出的揚(yáng)聲器使用TDA7279驅(qū)動,芯片TDA7279性能穩(wěn)定,屬于是立體聲雙橋式放大器,工作電壓范圍寬,驅(qū)動電路設(shè)計如圖3所示。

      四、軟件設(shè)計

      (一)低音/高音選擇程序設(shè)計

      單片機(jī)下載完成后,初始化完成等待選擇模式,按下key1,進(jìn)入低音模式,按下key2,進(jìn)入高音模式,可以開始彈奏。低音,高音對應(yīng)的升調(diào)和降調(diào)程序。

      u16 CL[8]={262,294,330,349,392,440,494,523};

      u16 CM[8]={523,587,659,698,784,880,988,1047};

      void play(u32 tone)

      {switch(tone_level)

      {case1:buzzerSound(CL[tone],1);break;

      case2:buzzerSound(CM[tone],1);break;}}

      if(KEY11_STA==KEY_DN)

      {tone_level=2;}

      if(KEY12_STA==KEY_DN)

      {tone_level=1;}

      創(chuàng)建兩個數(shù)組CL[]和CM[]分別用來存放低音和中音,里面存放的是各個音調(diào)的頻率,使用的時候就從數(shù)組里提取。用實驗板的KEY1(KEY11_STA)和KEY2(KEY12_STA)作為升調(diào)和降調(diào)的按鍵,在主函數(shù)中設(shè)置按鍵初始化,使用while函數(shù)掃描按鍵狀態(tài),用if函數(shù)判斷按鍵是否按下,KEY1或KEY1按下后,選用低音或高音。這樣就可以實現(xiàn)電子琴的升調(diào)和降調(diào)功能。

      (二)程序流程圖設(shè)計

      通過判斷無線激光器的線,使用while函數(shù)掃描激光頭傳感器模塊輸出狀態(tài),程序設(shè)計流程如圖4所示。

      猜你喜歡
      電子琴音調(diào)電路設(shè)計
      春的呼喚
      新航空(2024年3期)2024-06-03 22:25:26
      基于AT89C51單片機(jī)的電子琴設(shè)計
      電子制作(2019年13期)2020-01-14 03:15:30
      Altium Designer在電路設(shè)計中的應(yīng)用
      電子制作(2019年16期)2019-09-27 09:34:58
      負(fù)反饋放大電路設(shè)計
      電子制作(2019年23期)2019-02-23 13:21:36
      劉濤《音調(diào)未定的儒家——2004年以來關(guān)于孔子的論爭·序》
      名作欣賞(2017年25期)2017-11-06 01:40:12
      電子琴
      基于UC3843的60W升壓電路設(shè)計
      基于UC3842應(yīng)用電路設(shè)計
      決定音調(diào)高低的因素
      20世紀(jì)十大超囧的發(fā)明
      源流(2012年1期)2012-04-29 00:44:03
      江油市| 南昌市| 汾阳市| 元谋县| 江门市| 桐梓县| 博罗县| 磴口县| 大新县| 德兴市| 安仁县| 伊春市| 和静县| 孟连| 南岸区| 奉化市| 崇州市| 绥棱县| 富平县| 曲阳县| 泗阳县| 五华县| 铜鼓县| 陵川县| 涞源县| 济阳县| 汉阴县| 永靖县| 南皮县| 四平市| 瑞金市| 循化| 错那县| 黔西县| 兰州市| 鄂尔多斯市| 三门县| 平舆县| 普兰县| 康平县| 太保市|