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


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