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