顧嚴 邢巖
摘 要:游戲是兒童的天性,同時也在孩子們的童年中扮演著“啟蒙老師”的角色,對兒童的身也發(fā)展起到至關(guān)重要的作用。當前電子玩具在市場上供不應(yīng)求,電子琴玩具就是一個非常好商機。電子琴經(jīng)過上百年的發(fā)展,其設(shè)計生產(chǎn)技術(shù)已經(jīng)趨于成熟。近幾年兒童玩具的微型電子琴研究具有廣闊的市場前景。該文通過單片機AT89C1發(fā)聲原理制定微型電子琴系統(tǒng)設(shè)計方案。首先,通過編程控制單片機產(chǎn)生不同頻率來獲取音階。其次,設(shè)計基于單片機的微型電子琴的整體模型。最后,對整個系統(tǒng)進行仿真測試和調(diào)試。系統(tǒng)運行過程中可以演奏不同樂曲以及模擬各種大自然音響,如生日快樂歌、兩只老虎、雨滴聲、叮咚門鈴聲等,取得了較好的控制效果。
關(guān)鍵詞:單片機 電子琴 Proteus 音階
中圖分類號:TP36 文獻標識碼:A 文章編號:1672-3791(2019)01(b)-0-02
單片機又稱單片微控制器(Single-Chip Microcomputer),就是將微處理器、存儲器(程序存儲器ROM或數(shù)據(jù)存儲器RAM)、總線、定時器/計數(shù)器、輸入/輸出接口(I/O口)和其他多種功能器件集成在一塊芯片上。由于它具有重量輕、體積小、功能強、可靠性高、性價比高等特點,因此幾乎滲透到工業(yè)和日常生活的各個領(lǐng)域,如,數(shù)據(jù)傳輸與通訊、數(shù)據(jù)處理、儀表控制、實時控制以及程控玩具等[1-2]。
隨著人們對精神生活越來越重視,音樂漸漸進入了人們的生活。傳統(tǒng)樂器是由機械振動產(chǎn)生的聲音的,如空腔諧振、膜的振動、弦的振動等;而電子琴是通過控制脈沖信號的頻率來產(chǎn)生音源。電子琴因其操作簡單,攜帶方便, 價格較低廉,且能逼真地模擬各種傳統(tǒng)樂器的音色以及各種大自然音響,如鋼琴、雨滴聲、叮咚門鈴聲等,而深受音樂愛好者和消費者的喜歡。如今電子技術(shù)和電子計算機技術(shù)的快速發(fā)展,為電子樂器的產(chǎn)生和發(fā)展,提供了廣闊的空間。特別是大規(guī)模集成電路技術(shù)的高度發(fā)展,使得電子琴在音域上超出鋼琴、風(fēng)琴、小提琴等傳統(tǒng)樂音電子琴成為可能。可以說,電子琴是是音樂和計算機技術(shù)相結(jié)合的產(chǎn)物,既滿足人們對精神生活的追求,又符合科技發(fā)展的規(guī)律。
該文設(shè)計一種微型電子琴模型及其演奏系統(tǒng),采用單片機AT89C51作為控制芯片,并配以鍵盤和蜂鳴器實現(xiàn)該系統(tǒng)。其主要原理為:通過編程控制單片機的定時/計數(shù)器T0產(chǎn)生各種不同頻率的脈沖信號來驅(qū)動蜂鳴器發(fā)聲,并通過控制蜂鳴器驅(qū)動信號的變化規(guī)律,即可實現(xiàn)的微型電子琴的演奏功能。
1 仿真環(huán)境
Proteus軟件是英國著名的EDA工具(仿真軟件),由Lab Center Electronics公司出版。是由PCB設(shè)計、實時交互仿真及電子應(yīng)用系統(tǒng)設(shè)計組成的最先進的平臺[3],集EDA工具軟件的仿真功能和單片機及外圍器件的仿真為一體。從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。
Proteus軟件的功能特點為主要有下幾點。
(1)不僅能仿真單片機的工作情況,還能仿真單片機外圍電路或沒有單片機參與的其他電路的工作情況。因此,這種仿真彌補了實驗和工程應(yīng)用間脫節(jié)的矛盾[4]。
(2)同時支持模擬電路和數(shù)字電路仿真,可以利用系統(tǒng)提供的虛擬的輸入輸出器件或設(shè)備,如開關(guān)、按鈕、鍵盤、發(fā)光二極管、數(shù)碼管、LCD 顯示器及圖形儀表等直觀實現(xiàn)信息的輸入輸出交互[5]。
(3)支持第三方集成編譯軟件,如IAR、Keil和MPLAB等多種編譯器,進行高級語言的源碼級仿真和調(diào)試[6]。
綜上所述,Proteus軟件具有開發(fā)周期短、設(shè)計成本低、實現(xiàn)效率好和競爭力強等特點,是目前比較好的仿真單片機及外圍器件的工具,很大程度上為電子產(chǎn)品的開發(fā)提供了幫助。該控制系統(tǒng)采用Proteus8.7進行仿真。
2 控制系統(tǒng)建模與仿真
2.1 控制系統(tǒng)模型建立
通過分析微型電子琴控制系統(tǒng)的設(shè)計要求,硬件電路選用單片機AT89C51作為核心器件,建立單片機最小系統(tǒng)電路,然后設(shè)計出完整的控制系統(tǒng)原理框圖及仿真模型。
該控制系統(tǒng)是采用單片機AT89C51作為控制芯片,通過定時/計數(shù)器T0產(chǎn)生各種不同頻率的脈沖信號,來實現(xiàn)的微型電子琴的演奏功能,單片機時鐘頻率為12MHz。
系統(tǒng)中通過按下S1~S8共8個按鈕開關(guān)來演奏樂曲,單片機通過鍵盤掃描電路判斷出是哪個按鈕被按下,并通過查表得到相應(yīng)按鈕的頻率,然后通過編程實現(xiàn)不同的音階,最后通過揚聲器播出音樂。
2.2 鍵盤掃描電路
鍵盤電路的原理圖包括S1~S8共8個按鈕開關(guān),按鈕-音階對照關(guān)系為:按鈕S1-S8分別對應(yīng)中音Do、中音Re、中音Mi、中音Fa、中音So、中音La、中音Si、中音Si、高音Do。
鍵盤掃描電路掃描方式有兩種:(1)常用的行掃描法;(2)速度較快的線反轉(zhuǎn)法。該系統(tǒng)采用行掃描法,需要完成的工作如下。
(1)采用軟件延時,調(diào)用延時子程序?qū)崿F(xiàn)去抖處理,并判斷是否有鍵按下。
(2)根據(jù)反饋給單片機的信號確定是哪個按鈕被按下,并發(fā)送給主程序,以實現(xiàn)相應(yīng)的功能。
2.3 晶振電路
晶振電路的原理圖包含一個晶振和兩個電容。其中電容是幫助振蕩器起振和微調(diào)振蕩器的頻率,一般情況下其值均為30pF。
2.4 復(fù)位電路
復(fù)位電路的原理圖包括電源,0.1微法電容,100K電阻和復(fù)位按鈕。
2.5 仿真測試
在Keil C51中編寫微型電子琴的軟件控制程序。首先,編寫源程序(微型電子琴. c),對源程序進行調(diào)試、編譯。直至編譯通過后,在Keil C51中點擊“option for target”按鈕,打開相應(yīng)對話框,選擇“Outpu”選項卡,勾選“Creat HEX file”選項,以生成可執(zhí)行HEX文件(微型電子琴. hex)。
其次,在Proteus中搭建微型電子琴控制系統(tǒng)仿真模型,并將Keil C51產(chǎn)生的HEX文件(微型電子琴. hex)下載到單片機中,選中 AT89C51芯片,單擊左鍵從編輯屬性窗口中增加“微型電子琴. hex”文件即可。
最后,點擊Proteus工具欄的“Debug”下拉菜單中的“Run simulation”按鈕或點擊左下角的快捷鍵,開始運行仿真系統(tǒng)。
運行過程中演奏不同樂曲以及模擬各種大自然音響,如生日快樂歌、兩只老虎、雨滴聲、叮咚門鈴聲等,取得了較好的控制效果。
3 結(jié)語
該文建立了一種基于單片機的微型電子琴模型,該微型電子琴控制系統(tǒng)包括AT89C51模塊電路、鍵盤掃描模塊電路、復(fù)位電路、晶振電路、電源模塊電路等。采用Keil C51編寫微型電子琴控制程序,并下載到單片機中,最后利用Proteus8.7軟件對控制系統(tǒng)電路進行仿真測試和調(diào)試。通過演奏不同樂曲以及模擬各種大自然音響,表明該微型電子琴有較好的控制效果,實現(xiàn)了電子琴的簡單、低成本的控制方法。
參考文獻
[1] 郇玉龍.單片機實驗教學(xué)仿真系統(tǒng)的設(shè)計與開發(fā)[D].山東師范大學(xué),2008.
[2] 邱偵毅.基于FreescaleMCgS12系列單片機開發(fā)板的設(shè)計[D].南昌大學(xué),2011.
[3] 常育新,李曼,郝剛,等.Proteus 環(huán)境下的硬件設(shè)計[J].現(xiàn)代工業(yè)經(jīng)濟和信息化,2018(16):36-37.
[4] 王海燕,楊艷華.Proteus和Keil軟件在單片機實驗教學(xué)中的應(yīng)用[J].實驗室研究與探索,2012,31(5):88-91.
[5] 朱敏玲,張偉,侯凌燕.基于Proteus的微機原理與接口技術(shù)教學(xué)改革[J].實驗室研究與探索,2016,35(1):155-160.
[6] 陳飛,顧啟民,王偉.基于Proteus和Keil的項目教學(xué)法在單片機教學(xué)中的應(yīng)用[J].實驗科學(xué)與技術(shù),2013,11(5):48-52.