采用AT89S52的樂(lè )曲編輯發(fā)生器的設計


3.5 系統軟件流程
根據對系統功能的分析,把系統軟件分解為5個(gè)任務(wù),具體如下:
任務(wù)0:系統初始化任務(wù),包括TC1602A的初始化、定時(shí)器T1的初始化、中斷初始化。在啟動(dòng)任務(wù)1~任務(wù)4后,自動(dòng)刪除任務(wù)0,使得任務(wù)0只在系統上電復位時(shí)執行一次。
任務(wù)1:鍵盤(pán)掃描任務(wù)。每隔50 ms執行1次,掃描所得的鍵值存于全局變量keycode,然后向“按鍵處理任務(wù)”發(fā)信號。
任務(wù)2:按鍵處理任務(wù)。等待信號,根據鍵值keycode完成相應處理,實(shí)現的功能包括樂(lè )曲的編輯、樂(lè )曲的保存和讀取等。
任務(wù)3:播放任務(wù)。等待信號,按照音調和音長(cháng)播放樂(lè )曲。
任務(wù)4:顯示刷新任務(wù)。根據光標指針變量的值在液晶屏上顯示樂(lè )曲數據(音調和音長(cháng))。
系統軟件流程圖如圖2所示。
4 結束語(yǔ)
本文給出了以單片機AT89S52為核心構成的任意樂(lè )曲編輯發(fā)生器,具有硬件電路簡(jiǎn)單、操作界面友好、使用方便的特點(diǎn)。該系統已投入運行,播放出來(lái)的樂(lè )曲效果良好,音調和節拍都由單片機控制得相當準確。
評論