1 硬件電路原理
節(jié)拍器以AT89C51 單片機為控制中心,由LED 顯示模塊、調(diào)節(jié)鍵盤模塊、聲音輸出模塊組成。圖1 是節(jié)拍器的電路原理圖。ATMEL 公司生產(chǎn)的AT89C51 單片機與MCS51指令系統(tǒng)兼容,40 腳結(jié)構(gòu),是系統(tǒng)的控制中心。顯示模塊由四位一體的共陽極藍色LED 顯示器構(gòu)成,采用動態(tài)掃描顯示方式, Q11~ Q14是LED 的位選擇開關(guān)三極管, R6~ R13是數(shù)碼管段發(fā)光二極管的限流電阻。四位一體的LED 數(shù)碼管完成顯示節(jié)拍數(shù)、各功能代碼及參數(shù)值的功能。鍵盤調(diào)節(jié)模塊由4 只按鍵構(gòu)成,分別是功能選擇鍵A、設(shè)置參數(shù)選擇鍵B、參數(shù)增加鍵C和參數(shù)減少鍵D ,4 只按鍵可以完成各種功能的選擇和各參數(shù)的設(shè)置。聲音輸出模塊由以Q1、Q2、Q3和揚聲器為中心的功率放大電路組成,不同頻率的脈沖從單片機的P2.6口輸出, 經(jīng)R14限流和功率放大后,推動揚聲器發(fā)出洪亮的聲音。由于輸出的音頻信號是脈沖波,三極管工作在開關(guān)狀態(tài),損耗小發(fā)熱量不大, Q2、Q3使用小功率管C8050和C8550 即可。整個系統(tǒng)硬件結(jié)構(gòu)簡單。由外部提供12 V直流電直接供音頻功放模塊使用,經(jīng)LM7805 穩(wěn)壓成5 V 后供單片機及LED 顯示用。
2 軟件說明
軟件系統(tǒng)采用模塊化結(jié)構(gòu)設(shè)計,分別是主程序模塊、節(jié)拍器模塊、鍵盤識別和參數(shù)設(shè)置模塊等。其中每個模塊又由若干個子模塊構(gòu)成。上電或復(fù)位后進入調(diào)節(jié)功能,重復(fù)按A鍵在調(diào)節(jié)功能、節(jié)拍器功能之間輪換。當進入調(diào)節(jié)功能后,重復(fù)按B 鍵可選中不同的調(diào)節(jié)對象,再按C 或D 鍵增加或減少調(diào)節(jié)對象的參數(shù)值,調(diào)節(jié)時顯示調(diào)節(jié)對象的代碼和參數(shù)值。
2.1 主程序模塊
在主程序模塊中完成存儲單元的初始化、定時器計數(shù)器的初始化、中斷初始化、標志位的初始化、掃描鍵盤,并根據(jù)功能選擇鍵A 的值啟動以下功能模塊之一:參數(shù)設(shè)置功能、節(jié)拍器功能。
2.2 節(jié)拍器功能模塊
節(jié)拍速度在24~400 拍/min 范圍內(nèi)可調(diào),節(jié)拍誤差小于2%,節(jié)拍數(shù)為1~9可調(diào)。顯示器顯示節(jié)拍數(shù),揚聲器發(fā)出節(jié)拍聲,顯示節(jié)拍數(shù)1 時發(fā)出600 Hz 的高頻聲0.1 s ,顯示其他節(jié)拍數(shù)時發(fā)出300 Hz 的低頻聲0.1 s。該模塊由節(jié)拍延時部分、節(jié)拍數(shù)顯示部分、音頻脈沖形成部分組成。節(jié)拍功能模塊程序流程圖如圖2 所示。
2.3 參數(shù)調(diào)節(jié)模塊
按A 鍵選擇進入?yún)?shù)調(diào)節(jié)功能模塊后,重復(fù)按B 鍵,可以依次選擇節(jié)拍速度、節(jié)拍分度參數(shù)的設(shè)置,LED 顯示器上顯示參數(shù)類型代碼和該參數(shù)的數(shù)字,按C 或B 鍵則在該參數(shù)的取值范圍內(nèi)循環(huán)增加或減少一個單位值。代碼1 是節(jié)拍數(shù),取值范圍1~9。代碼2 是節(jié)拍速度,取值范圍是24~400拍/min。該模塊程序由鍵盤掃描識別部分、參數(shù)顯示部分、A鍵處理部分、B 鍵處理部分和C、D 鍵處理等子程序組成。
圖2 節(jié)拍器模塊流程圖
3 實驗
從顯示、按鍵、聲音和節(jié)拍精度等方面進行測試。
顯示觀察:處于節(jié)拍工作狀態(tài)時4 個數(shù)碼管同時循環(huán)顯示節(jié)拍數(shù),練琴時眼睛的余光就能看清節(jié)拍數(shù)。處于調(diào)節(jié)模式時,最高位顯示待調(diào)節(jié)的參數(shù)代碼,其余3 位顯示參數(shù)值,當參數(shù)高位為零時不顯示。顯示正確。
按鍵測試:按下功能鍵A ,可以在參數(shù)調(diào)節(jié)和節(jié)拍模式之間轉(zhuǎn)換。當處于參數(shù)調(diào)節(jié)模式時,按下參數(shù)更改鍵B ,可以在節(jié)拍數(shù)和節(jié)拍速度之間轉(zhuǎn)換;按下增加鍵C 或減少鍵D ,參數(shù)值在當前值基礎(chǔ)上增加或減少1 ,并且在參數(shù)的調(diào)節(jié)范圍內(nèi)循環(huán)變化。當處于節(jié)拍工作模式時,BCD 鍵不起作用。鍵盤工作正常。
聲音觀測:節(jié)拍音短促有力,起始拍與其余拍音調(diào)區(qū)別明顯。在鋼琴彈奏的環(huán)境中清晰可聞。
節(jié)拍精度測量:用秒表測量節(jié)拍器500 拍所用時間。節(jié)拍速度分別為72、112、144 拍/min 的時候, 用時分別為418.1 s、268.9 s、210.5 s ,誤差分別為0.29%、0.35%、1.1%。節(jié)拍精度達到設(shè)計要求。
4 結(jié)束語
節(jié)拍器的起始拍的聲音和其它拍的聲音不同,聽覺和視覺效果好,節(jié)拍精度高,調(diào)節(jié)方便。多名琴童使用該節(jié)拍器練鋼琴均取得很好的效果。硬件成本低廉,不易損壞,可以將外形設(shè)計成工藝品?;贏T89C51 單片機的節(jié)拍器具有較好的應(yīng)用價值。