采用AT89S52的乐曲编辑发生器的设计


3.5 系统软件流程
根据对系统功能的分析,把系统软件分解为5个任务,具体如下:
任务0:系统初始化任务,包括TC1602A的初始化、定时器T1的初始化、中断初始化。在启动任务1~任务4后,自动删除任务0,使得任务0只在系统上电复位时执行一次。
任务1:键盘扫描任务。每隔50 ms执行1次,扫描所得的键值存于全局变量keycode,然后向“按键处理任务”发信号。
任务2:按键处理任务。等待信号,根据键值keycode完成相应处理,实现的功能包括乐曲的编辑、乐曲的保存和读取等。
任务3:播放任务。等待信号,按照音调和音长播放乐曲。
任务4:显示刷新任务。根据光标指针变量的值在液晶屏上显示乐曲数据(音调和音长)。
系统软件流程图如图2所示。
4 结束语
本文给出了以单片机AT89S52为核心构成的任意乐曲编辑发生器,具有硬件电路简单、操作界面友好、使用方便的特点。该系统已投入运行,播放出来的乐曲效果良好,音调和节拍都由单片机控制得相当准确。
评论