基于89C51單片機的節(jié)拍器設計
1 硬件電路原理
本文引用地址:http://www.ex-cimer.com/article/173229.htm節(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 的位選擇開關三極管, R6~ R13是數(shù)碼管段發(fā)光二極管的限流電阻。四位一體的LED 數(shù)碼管完成顯示節(jié)拍數(shù)、各功能代碼及參數(shù)值的功能。鍵盤調(diào)節(jié)模塊由4 只按鍵構(gòu)成,分別是功能選擇鍵A、設置參數(shù)選擇鍵B、參數(shù)增加鍵C和參數(shù)減少鍵D ,4 只按鍵可以完成各種功能的選擇和各參數(shù)的設置。聲音輸出模塊由以Q1、Q2、Q3和揚聲器為中心的功率放大電路組成,不同頻率的脈沖從單片機的P2.6口輸出, 經(jīng)R14限流和功率放大后,推動揚聲器發(fā)出洪亮的聲音。由于輸出的音頻信號是脈沖波,三極管工作在開關狀態(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)設計,分別是主程序模塊、節(jié)拍器模塊、鍵盤識別和參數(shù)設置模塊等。其中每個模塊又由若干個子模塊構(gòu)成。上電或復位后進入調(diào)節(jié)功能,重復按A鍵在調(diào)節(jié)功能、節(jié)拍器功能之間輪換。當進入調(diào)節(jié)功能后,重復按B 鍵可選中不同的調(diào)節(jié)對象,再按C 或D 鍵增加或減少調(diào)節(jié)對象的參數(shù)值,調(diào)節(jié)時顯示調(diào)節(jié)對象的代碼和參數(shù)值。
2.1 主程序模塊
在主程序模塊中完成存儲單元的初始化、定時器計數(shù)器的初始化、中斷初始化、標志位的初始化、掃描鍵盤,并根據(jù)功能選擇鍵A 的值啟動以下功能模塊之一:參數(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é)功能模塊后,重復按B 鍵,可以依次選擇節(jié)拍速度、節(jié)拍分度參數(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é)拍器模塊流程圖
評論