杜平
?
基于51單片機的聲光電子琴設(shè)計
杜平*
(廣東科學(xué)技術(shù)職業(yè)學(xué)院,廣東廣州,510640)
該設(shè)計采用AT89S52單片機作為核心控制器設(shè)計的一款簡易聲光電子琴。通過P0、P2口兩組管腳連接的LED燈實現(xiàn)多種閃爍效果,同時配有多首音樂播放和電子琴彈奏功能。音樂的播放采用單片機定時器實現(xiàn)。通過對音階和節(jié)拍的雙重設(shè)計,音質(zhì)清晰悅耳。本文對此方案的軟硬件進行了介紹,對設(shè)計原理進行了系統(tǒng)地闡述。
單片機;電子琴 定時器;流水燈;LED
單片機因其體積小,功能強,價格低廉而廣泛應(yīng)用到了各個行業(yè)之中,它具有強大的控制功能和靈活的編程實現(xiàn)特性。近年來,簡易電子琴在玩具和娛樂設(shè)施等行業(yè)被廣泛地推廣,給人們的生活增添了很多情趣[1]。本文以單片機為核心開發(fā)了一款以音樂和多種led閃爍效果為主要特點的電子琴系統(tǒng)。其優(yōu)點是運行穩(wěn)定、軟件功能完善、控制系統(tǒng)可靠、性價比較高,具有一定的實用和參考價值。
該電子琴系統(tǒng)由AT89S52單片機、8個音樂控制按鍵、led模式按鍵、LED 顯示器等模塊組成[2], 系統(tǒng)主要硬件設(shè)計如圖1所示。
圖1 電子琴系統(tǒng)
該電子琴主要實現(xiàn)三個功能。1、按鍵0控制花樣流水燈。每按鍵一次切換一種樣式,共四種樣式。2、按鍵1控制音樂播放。每按鍵一次切換一首音樂,共三首音樂。3、八個按鍵P30-P37產(chǎn)生八個音階。每一次按下后,揚聲器發(fā)出對應(yīng)的音階,可進行音樂演奏[3]。
通過單片機演奏音樂的關(guān)鍵是將音階轉(zhuǎn)化成電信號。經(jīng)過分析每個音階對應(yīng)著不同的頻率,通過向揚聲器發(fā)送固定頻率的脈沖信號,就產(chǎn)出了該音階。配合不同的節(jié)拍,就演奏出了音樂。
要產(chǎn)生音階脈沖,要先計算出該脈沖的周期,然后將此周期除以2,利用定時器進行定時,每當(dāng)定時完成后就將輸出的脈沖取反,就得到了想要的音階[4]。
該電子琴的單片機時鐘工作于12MHZ。采用定時器工作方式1的模式來產(chǎn)生不同頻率的脈沖。此種工作方式下定時器通過16位寄存器產(chǎn)生各種頻率的定時信號。根據(jù)不同頻率預(yù)先設(shè)定初值后,寄存器跟隨著時鐘周期進行自動加1的操作。在數(shù)值加到65535時達(dá)到上限[5],再進行一次加1后產(chǎn)生溢出和中斷,同時通知主函數(shù)進行中斷處理。中斷函數(shù)中對揚聲器進行交替賦值“0”和“1”,產(chǎn)生了脈沖信號。對于不同的音階,只需要改變定時器的初值來產(chǎn)生不同的頻率。其對應(yīng)關(guān)系如表1所示。
表1 音階頻率與計數(shù)值對比關(guān)系[6-7]
除了音符以外,節(jié)拍也是音樂的關(guān)鍵組成部分。節(jié)拍實際上就是音階持續(xù)時間的長短,在單片機系統(tǒng)中可以用延時來實現(xiàn)。先建立一個基本的單位延時函數(shù),將各音階的延時長度[8]除以單位延時得出延時次數(shù)s,將延時次數(shù)存入數(shù)組。在脈沖頻率產(chǎn)生后中調(diào)用s次的單位延時函數(shù),就實現(xiàn)了節(jié)拍。
軟件設(shè)計方案中主函數(shù)中調(diào)用了兩個子函數(shù)keysan()和check_key(),keysan()根據(jù)按鍵0多次按下切換花樣流水燈[9],根據(jù)按鍵1多次按下切換音樂,check_key()根據(jù)不同按鍵的輸入播放對應(yīng)音階。設(shè)計流程[10]如圖2所示。
圖2 聲光電子琴軟件設(shè)計流程
本文以單片機AT89S52作為核心控制芯片,設(shè)計了一個聲光電子琴。文中對電子琴的設(shè)計原理,軟件設(shè)計方法進行了詳細(xì)的闡述。該電子琴設(shè)計思路清晰簡潔??梢詰?yīng)用于單片機教學(xué)、玩具、娛樂設(shè)施等領(lǐng)域。
[1] 邵貝貝. 單片機技術(shù)的發(fā)展與單片機應(yīng)用的廣泛選擇[J]. 電子技術(shù)應(yīng)用, 1993, (3): 4-6.
[2] 徐江維, 李菲. 基于51單片機的電子琴設(shè)計[J]. 電子世界, 2017, (09): 125.
[3] 孫萬麟. 基于STC89C51單片機的電子琴設(shè)計[J]. 電腦知識與技術(shù), 2010, 06(20): 5626-5627.
[4] 彭建英, 彭光含, 曾志剛. 基于單片機的簡易電子琴設(shè)計[J]. 湖南文理學(xué)院學(xué)報(自然科學(xué)版). 2015, (4): 30-32.
[5] 馮川放. MCS_51單片機定時器的應(yīng)用與誤差糾正[J]. 計算機時代, 2008, (10): 48-49.
[6] 劉建超. 用單片機制作簡易電子琴[J]. 單片機開發(fā)與應(yīng)用, 2005, (7): 24-25.
[7] 任肖麗, 王驥. 基于STC89C51單片機的電子琴設(shè)計[J]. 電子元器件應(yīng)用, 2010, 12(7): 27-28.
[8] 朱麗. 基于STC89C54微控制器的模擬電子琴設(shè)計[J]. 電腦編程技巧與維護, 2015, (24): 111-112.
[9] 王志, 許建明, 陳炯明. 基于單片機的簡易電子琴設(shè)計[J]. 電子世界, 2016, (6): 79.
[10] 程家勤, 劉強強, 等. 基于單片機的多功能電子琴設(shè)計[J]. 電子電路設(shè)計與方案, 2017, (11): 9-11.
Acousto-optic Electronic Organ Based on 51 MCU
DU Ping*
(Guangdong Polytechnic of Science and Technology, Guangdong Guangzhou, 510640, China)
A simple acoustic photoelectronic organ designed by AT89S52 MCU as the core controller is designed in this design. A variety of flickering effects are achieved through the two groups of LED lamps connected by the P0 and P2 ports, with multiple music playback and electronic piano playing. The play of music is realized by timer of MCU. Through the double design of the scale and rhythm, the sound quality is clear and sweet. In this paper, the software and hardware of this scheme are introduced, and the design principle is systematically expounded.
MCU; Electronic; organ Timer; Flow lamp; LED
10.19551/j.cnki.issn1672-9129.2017.08.021
TN41
J
1672-9129(2017)08-0048-02
杜平. 基于51單片機的聲光電子琴設(shè)計[J]. 數(shù)碼設(shè)計, 2017, 6(8): 48-49.
DU Ping. Acousto-optic Electronic Organ Based on 51 MCU[J]. Peak Data Science, 2017, 6(8): 48-49.
2017-03-11;
2017-04-15。
杜平(1982-)女,工程師,山東,2008年于華南理工大學(xué)碩士畢業(yè),現(xiàn)任職于廣東科學(xué)技術(shù)職業(yè)學(xué)院,研究方向:主要從事電子技術(shù)和計算機方面的教學(xué)工作。E-mail:DUPING963@163.com