采用AT89S52的樂曲編輯發生器的設計


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