彭建英, 彭光含, 曾志剛
?
基于單片機(jī)的簡易電子琴設(shè)計(jì)
彭建英, 彭光含, 曾志剛
(湖南文理學(xué)院物理與電子科學(xué)學(xué)院, 湖南常德, 415000)
采用單片機(jī)AT89S52作為主控芯片, 用4 × 4鍵盤電路進(jìn)行音調(diào)的選擇, 音調(diào)值由LED數(shù)碼管顯示, 設(shè)計(jì)了一款簡易電子琴, 實(shí)現(xiàn)了16個(gè)音調(diào)的發(fā)音和歌曲的播放。對音調(diào)的產(chǎn)生原理和節(jié)拍的控制進(jìn)行了說明。最后利用PROTEUS和KEIL軟件進(jìn)行了聯(lián)合仿真和調(diào)試, 較好地實(shí)現(xiàn)了16音調(diào)發(fā)音和歌曲播放的功能。
AT89S52; 電子琴; 音調(diào); PROTEUS仿真
電子琴的制作方法主要有基于集成電路或可編程器件[1–2]和基于單片機(jī)[3–4]2類。本文利用單片機(jī)AT89S52設(shè)計(jì)了一款簡易電子琴, 可以實(shí)現(xiàn)16音調(diào)的發(fā)音和歌曲的播放等功能。
電子琴系統(tǒng)由AT89S52單片機(jī)、4 × 4矩陣鍵盤、選擇按鍵、LED顯示器等模塊組成, 系統(tǒng)設(shè)計(jì)如圖1所示。
圖1 系統(tǒng)框圖
鍵盤電路利用4 × 4行列式矩陣鍵盤產(chǎn)生2個(gè)8度的音階, 0—7表示低8度do—xi, 8—F表示高8度的do—xi。P10—P13接行線, P14—P17接列線, 鍵盤電路如圖2所示。
圖2 鍵盤電路圖
數(shù)碼顯示電路由P0口提供數(shù)碼管的數(shù)據(jù)端, P0口作為輸出端口需要接上拉電阻, 數(shù)碼管選取共陽極數(shù)碼管。數(shù)碼管顯示0—F, 對應(yīng)鍵盤電路中的按鍵值。
揚(yáng)聲器電路如圖3所示, 由P3.0產(chǎn)生信號, 經(jīng)過電阻R3和R2分壓電路, R2上的電壓加在三極管的基極, 三極管的集電極加揚(yáng)聲器。當(dāng)P3.0為低電平時(shí), 三極管截止, 揚(yáng)聲器不發(fā)聲; 當(dāng)P3.0為高電平時(shí), 三極管導(dǎo)通, 揚(yáng)聲器發(fā)聲[5–8]。
圖3 揚(yáng)聲器電路
3.1 音階頻率的確定
在音樂理論中, 把一組音按音調(diào)高低的次序排列起來就成為音節(jié), 也就是dou, ruai, mi, fa, sou, la, xi, dou。高音dou的頻率正好是中音dou頻率的2倍。以下是音調(diào)A階、B階、C階、D階的頻率, 單位為Hz[9–10]。A: L1, 131; L2, 147; L3, 165; L4, 175; L5, 196; L6, 220; L7, 247。B: N1, 262; N2, 296; N3, 330; N4, 349; N5, 392; N6, 440; N7, 494。C: H1, 523; H2, 587; H3, 659; H4, 698; H5, 784; H6, 880; H7, 988。D: I1, 1 047; I2, 1 175; I3, 1 319; I4, 1 397; I5, 1 568; I6, 1 760; I7, 1 976。
3.2 單片機(jī)產(chǎn)生不同頻率脈沖信號的原理
要產(chǎn)生音頻脈沖, 只要計(jì)算出某一音頻脈沖的周期, 然后將此周期除以2, 利用定時(shí)器定時(shí)該半周期的時(shí)間, 每當(dāng)計(jì)時(shí)時(shí)間到后將輸出脈沖取反, 就可得到這個(gè)音頻信號的頻率。
所求得的16個(gè)音調(diào)對應(yīng)的定時(shí)器計(jì)數(shù)值建立的表為: TABLE DW
64 021, 64 103, 64 260, 64 400, 64 524, 64 580, 64 684, 64 777, 64 820, 64 896, 65 010, 65 030, 65 058, 65 110, 65 157, 65 178。TABLE后面的16個(gè)數(shù)是16個(gè)音調(diào)對應(yīng)的定時(shí)器計(jì)數(shù)值。
表1 節(jié)拍時(shí)間表
3.3 節(jié)拍的延時(shí)的確定
如果一拍為0.4 s, 則1/4拍為0.1 s, 只要設(shè)定延時(shí)時(shí)間就可求得節(jié)拍的時(shí)間。求得1/4拍的延時(shí)時(shí)間, 其余的節(jié)拍是它的倍數(shù), 表1為1/4和1/8節(jié)拍的時(shí)間設(shè)定。
3.4 軟件流程
軟件流程如圖4所示, 其中KEY鍵斷開播放歌曲, 閉合進(jìn)行音調(diào)的顯示和播放。
圖4 軟件流程圖
系統(tǒng)仿真如圖5所示, 由4 × 4鍵盤的16個(gè)按鍵對應(yīng)16個(gè)音調(diào), KEY鍵控制歌曲的播放。鍵盤按下1號鍵, 發(fā)do的音調(diào), 在數(shù)碼管上顯示1。
圖5 電子琴系統(tǒng)仿真圖
本設(shè)計(jì)是以AT89S52單片機(jī)為主控芯片設(shè)計(jì)了一款電子琴, 主要進(jìn)行了4 × 4鍵盤電路、按鍵選擇電路、LED數(shù)碼顯示和揚(yáng)聲器播放電路等硬件的設(shè)計(jì), 軟件部分對音調(diào)的產(chǎn)生原理和節(jié)拍的控制進(jìn)行了說明。利用PROTEUS和KEIL軟件進(jìn)行了仿真, 結(jié)果表明系統(tǒng)設(shè)計(jì)可行。
[1] 陳華容. 基于FPGA電子琴的設(shè)計(jì)[J]. 器件與電路, 2006(2): 26–29.
[2] 閆娟. 基于Verilog HDL的簡易電子琴設(shè)計(jì)[J]. 企業(yè)技術(shù)開發(fā), 2011(13): 104.
[3] 張丹, 馬淑云. 基于AT89C51單片機(jī)電子琴的設(shè)計(jì)[J]. 中國高新技術(shù)企業(yè), 2010(36): 6–7.
[4] 周琛暉. 基于AT89S51單片機(jī)的電子琴設(shè)計(jì)[J]. 電腦知識與技術(shù), 2009(27): 7 679–7 681.
[5] 胡建波. 微機(jī)原理與接口技術(shù)實(shí)驗(yàn)——基于Proteus仿真[M]. 北京: 機(jī)械工業(yè)出版社, 2011: 117–121.
[6] 樓然苗. 單片機(jī)課程設(shè)計(jì)指導(dǎo)[M]. 北京: 北京航空航天大學(xué)出版社, 2007: 1–10.
[7] 藍(lán)和慧, 寧武. 全國大學(xué)生電子設(shè)計(jì)競賽單片機(jī)應(yīng)用技能精解[M]. 北京: 電子工業(yè)出版社, 2010: 32–33.
[8] 謝維成, 楊加國. 單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)[M]. 北京: 清華大學(xué)出版社, 2009: 192–196.
[9] 張建平, 朱偉娜. 單片機(jī)電子琴[J]. 無線電, 2008(5): 76–77.
[10] 李林濤, 陳明, 梁宜勇, 等. 基于單片機(jī)的簡易電子琴錄/放音系統(tǒng)[J]. 數(shù)字技術(shù), 2010(2): 14–15.
(責(zé)任編校:劉剛毅)
Design of simple electronic piano based on single chip microcomputer
PengJianying, Peng Guanghan, Zeng Zhigang
(College of Physics and Electronics, Hunan University of Art and Science, Changde 415000, China)
A simple electronic piano is designed based on AT89S52 MCU, the tone is chosen by 4 × 4 keyboard circuit to and the tone value is displayed by the LED digital tube, which has the function of the 16 tones’s pronunciation and song’s play. At the same time, the tone realization principle and the control of the rhythm is described. Finally, the PROTEUS and KEIL softwares are used to simulate and debug, the functions of the 16 tones’s pronunciation and song’s play are achieved.
AT89S52; electronic piano; tone; PROTEUS simulation
10.3969/j.issn.1672–6146.2015.04.007
TP 273+.5
1672–6146(2015)04–0030–03
彭建英,1186198908@qq.com。
2015–07–11
湖南省教育廳項(xiàng)目(13C626)。