唐求陽 衡陽技師學院
?
基于單片機的微型電子琴研究與實現(xiàn)分析
唐求陽 衡陽技師學院
摘 要:單片機是集成電路快速發(fā)展的產(chǎn)物,穩(wěn)定可靠、價格低廉、高速度、高性能是其典型特征。當前單片機的開發(fā)應(yīng)用已經(jīng)成為時代發(fā)展的必然產(chǎn)物。微型電子琴實際上是電子技術(shù)同音樂緊密結(jié)合的產(chǎn)物,利用單片機來實現(xiàn)電子琴是當前可取的措施,單片機作為電子琴的核心控制元件,在其中能夠發(fā)揮非常重要地作用。
關(guān)鍵詞:單片機 電子琴 彈奏
電子琴在我國還處在一種初期普及階段,但是由于其具有功能強大、音色豐富、彈奏簡單等特點因而得到了人們的喜愛,尤其是在音樂教學中得到了迅速推廣。學習并掌握電子琴逐漸成為了人們一種非常重要的技能。從當前電子琴自身設(shè)計情況來看,還存在著一定不足,在微型電子琴設(shè)計方面還是比較薄弱的。為了能夠提升微型電子琴設(shè)計水平,本文將以單片機為主來進行科學設(shè)計。
在具體設(shè)計過程中首先是要明確系統(tǒng)總體框架,這是設(shè)計的首要步驟。本文主要是以單片機來實現(xiàn)微型電子琴沿軸功能。對于單片機而言主要工作是要利用定時/計數(shù)器T0來產(chǎn)生不同頻率脈沖信號,用戶演奏過程中按下鍵盤演奏樂曲,此時單片機則應(yīng)該根據(jù)用戶案件來查到頻率,從而發(fā)出正確樂音,通過這樣一種形式把音樂通過揚聲器發(fā)出。
在具體設(shè)計過程中,對于節(jié)拍主要是由用戶來控制的。之所以進行這樣的設(shè)計是因為單片機本身是沒有足夠驅(qū)動能力的,因而不能夠通過音頻脈沖直接驅(qū)動揚聲器輸出,此時為了滿足需要就應(yīng)該采用音頻功率放大電路。從實際出發(fā),本文選擇LM386低壓音頻功率放大器。
(一)硬件設(shè)計。在具體設(shè)計過程中硬件設(shè)計主要指的是各種模塊電路設(shè)計,對于這些模塊電路進行設(shè)計是保證微型電子琴正常運行的重要前提。具體模塊電路設(shè)計主要是表現(xiàn)在以下幾個方面:
鍵盤掃描電路。對于鍵盤掃描電路的掃描往往是通過線反轉(zhuǎn)法和行掃描法兩種方式來實現(xiàn),在實際設(shè)計過程中本文主要采用的是行掃描法。先是在P20到P23循環(huán)送出掃描信號,而后是在P24到P27上的輸入按鍵上輸入高低電平信息傳送給單片機。最后就是根據(jù)行列信號來判斷哪個按鍵被按下,確定之后在發(fā)送給主程序從而來實現(xiàn)不同功能。在鍵盤掃描電路設(shè)計過程中經(jīng)常是會出現(xiàn)毛刺現(xiàn)象的,為了能夠有效消除毛刺通常是要采用延時重復掃描法。這種方法實際上在操作過程中就是當有按鍵被單片機檢測到動靜之后就應(yīng)該延時10ms-20ms之后再來看電平能否保持原來的狀態(tài),如果能就說明是有效的,相反則是無效的。
AT89S52電路設(shè)計。這是非常關(guān)鍵的設(shè)計內(nèi)容,對于單片機模塊電路的設(shè)計要高度重視,這一電路設(shè)計水平將直接影響到具體設(shè)計效果。當用戶按下鍵盤之后,單片機主程序會讀取鍵盤掃描程序返回的鍵盤碼,通過根據(jù)該碼就能夠查到樂音-音頻對應(yīng)表,進而能夠得到樂音定時器初始值以及數(shù)碼管顯示編碼,在輸出之后將能夠得到相應(yīng)控制單元,最終將會產(chǎn)生不同振動頻率。
音頻處理電路。在對音符信號處理的過程中之所以要加設(shè)功率放大裝置,主要是因為單片機驅(qū)動不夠。低功耗、高增益、低功耗輸出是LM386的基本特征,這些特征也符合單片機要求。因此要加設(shè)可靠的音頻信號放大器。
晶振電路。單片機定時控制主要是利用內(nèi)部時鐘和外部時鐘兩種方式來實現(xiàn),本文選取的是內(nèi)部時鐘方式。從實際情況來看XTAL1、XTAL2是單片機內(nèi)部反相放大器輸入及輸出端,在外面還設(shè)置有定時反饋元件,這樣就能夠組成振蕩器。單片機控制器的控制節(jié)拍同時鐘頻率是成正比的。
時鐘頻率。單片機內(nèi)部有時鐘振蕩電路。單片機工作主要是由時鐘頻率來驅(qū)動的,可見時鐘頻率在其中扮演著非常重要地角色。對此必須要進行科學設(shè)計。在具體設(shè)計過程中通過外接振蕩源,那些位于單片機內(nèi)部的各個單元就能夠受到時鐘信號,它的振蕩頻率決定了單片機工作速度。通常情況下是要選擇石英晶體振蕩器來作為外部振蕩源電路的。此時往往是電路在通電時延遲10ms之后,振蕩器才能夠起振。
(二)軟件設(shè)計。軟件設(shè)計實際上就是要對電子琴各種程序來進行科學設(shè)計,通過對這些程序進行設(shè)計來最終實現(xiàn)對電子琴的有效控制。
為了能夠真正使得微型電子琴能夠科學運轉(zhuǎn),在工作中還應(yīng)該科學實現(xiàn)系統(tǒng)各項內(nèi)容,具體而言主要是包含以下方面:
音樂節(jié)拍的實現(xiàn)。在系統(tǒng)中音高主要是取決于發(fā)音物體振動頻率高低,通常情況下頻率低音高就低,頻率高音高就高。在具體實現(xiàn)音的過程中主要是利用定時器來實現(xiàn)。系統(tǒng)中的定時器0處在工作模式0狀態(tài)時,記時時長通常是要根據(jù)發(fā)音頻率來確定的,對于定時器計數(shù)初值通常是通過頻率值來推算出來的。節(jié)拍控制是實際控制的重要內(nèi)容,節(jié)拍主要是利用單片機延時功能來實現(xiàn)。在播放音樂的時候,節(jié)拍設(shè)置在程序設(shè)計過程中就應(yīng)該充分考慮。
鍵盤掃描按鍵程序的實現(xiàn)。在具體工作中要觀察琴鍵是否被按下,當有被按下的情況是就應(yīng)該記錄鍵值同時還應(yīng)該跳轉(zhuǎn)到功能轉(zhuǎn)移程序,沒有的時候就應(yīng)該繼續(xù)監(jiān)測琴鍵。對于那些被檢測到的琴鍵值還應(yīng)該進行準確判斷處理,如果判斷它是琴鍵,此時就應(yīng)該跳轉(zhuǎn)到琴鍵處理系統(tǒng)程序。當檢查過程中發(fā)現(xiàn)是功能鍵的時候就應(yīng)該跳轉(zhuǎn)到相應(yīng)功能處理程序上。這樣做是非常重要的。
音樂處理模塊實現(xiàn)。對于音樂處理模塊而言,在具體設(shè)計過程中主要是利用定時/計數(shù)器T0,工作模式則采用的是1.通常情況下在改變TL0和TH0的計數(shù)值之后就能夠生成不同頻率的脈沖信號。在啟動脈沖分配子程序之后,首先要做的就是要初始化程序。
微型電子琴的研究與實現(xiàn)是一項專業(yè)工作,為了能夠真正做好這項工作就應(yīng)該進一步加強對單片機的研究,通過對單片機性能的分析是進一步提升微型電子琴性能的重要手段。本文重點是分析了基于單片機的微型電子琴的設(shè)計與實現(xiàn),為了能夠?qū)崿F(xiàn)上述功能,在具體設(shè)計過程中就應(yīng)該進行科學設(shè)計。
參考文獻:
[1]周琛暉.基于AT89S51單片機的電子琴設(shè)計[J].電腦知識與技術(shù),2009(9)
[2]施眾.Protues在單片機學習領(lǐng)域教學中的應(yīng)用[J].漳州職業(yè)技術(shù)學院學報,2010 (10)
[3]張世正,王維.電子琴控制芯片設(shè)計方法的研究[J].上海師范大學學報,2014(5)