電路原理圖: 2) 軟件原理: i. 使用89S52的內(nèi)部定時器0控制頻率(也就是音高); ii. 使用定時器1控制節(jié)拍(也就是音長); iii. 內(nèi)置曲子的每個字節(jié)記錄著音高和音長,高4位記錄音長,第四位記錄音高,音長有9個,分別為:1/8節(jié)拍、1/4節(jié)拍、1/2節(jié)拍、1個節(jié)拍、2個節(jié)拍、3個節(jié)拍、4個節(jié)拍、8個節(jié)拍、16個節(jié)拍;而有16個音高,分別為:停止、低音4 5 6 7、中音1 2 3 4 5 6 7、高音1 2 3 4,基本包含了常見曲子的個音高; iv. 自由彈奏允許使用其中的中音1 2 3 4 5 6 7和高音1這八個音; v. 由于系統(tǒng)內(nèi)存的限制,該電子琴大致允許記錄20多個音。 實物圖 各功能鍵說明如下: 電子琴的工作狀態(tài)通過一個雙色發(fā)光二極管來指示,該雙色發(fā)光二極管可發(fā)出綠色或者紅色的光; 3) 綠色表明電子琴工作在播放內(nèi)置歌曲狀態(tài)、紅色說明工作在彈奏狀態(tài),狀態(tài)的切換可以通過按下選擇鍵來進行切換; 4) 簡單的演奏:當(dāng)電子琴工作在彈奏狀態(tài)時,按下下面對應(yīng)的琴鍵便可以發(fā)出對應(yīng)的音; 5) 錄音功能:在彈奏狀態(tài)下,按下錄音鍵,指示燈變成慢節(jié)奏的閃爍(錄音狀態(tài))時說已經(jīng)開始錄音了,此后的彈奏將會被系統(tǒng)記錄,以便之后重播。錄音超過系統(tǒng)所能支持的最大長度之后,指示燈變成快節(jié)奏的閃爍(錄滿狀態(tài)),此后的彈奏將被忽略。 6) 重播功能:在錄音狀態(tài)(或者錄滿狀態(tài))下再次按下錄音鍵之后電子琴便開始重播之前錄制的內(nèi)容,此時指示燈變成中節(jié)奏的閃爍(重播狀態(tài)),全部播放完了之后又會回到起始位置重新播放; 7) 在重播狀態(tài)下再次按下錄制鍵則進入彈奏狀態(tài); 8) 播放內(nèi)置歌曲:在播放內(nèi)置歌曲狀態(tài)下,按下下面的琴鍵便可播放對應(yīng)的歌曲。 附件(電路圖、代碼)詳細的見下載。。。。拙作,見笑了。。。 |