单片机的可控数字音乐盒设计 专业课程设计(7)
发布时间:2021-06-11
发布时间:2021-06-11
五.软件设计
1.主程序流程图(主程序为死循环,在此略去主循环部分,没有结束框)
2、中断服务子程序流程图
外部中断服务0:暂停与继续播放
外部中断服务1:开始、停止、切歌子程序流程图
流程图说明:由于外部中断服务执行与否来取决于外部硬件,并且可能在执行主程序的任何一个时刻发生,因此在此单独列出两个中断服务子程序,执行完之后将自动跳回主程序中继续执行。 3.具体代码见附录
六.仿真调试
1.运行结果
由运行时的电路变化可以看出LS1相连的端口电压不断变化,这是由于定时器产生了驱动电流驱动其发声,当按下与int1相连的按钮时开始唱歌,按与int0相连的按钮时唱歌暂停,再次按下时继续播放,并且无论歌曲是否暂停,如果当前播放不为最后一首音乐,当按下int1相连按钮时系统将播放下一首音乐,如果为最后一首则停止播放,系统恢复至初始化之后状态。
2.程序调试中出现的问题及解决的办法:
(a)编程时要注意,在程序开始时,要写入各定时器中断的入口地址。
(b)编程过程中要注意加注释或分割线,否则,在程序过长时容易变得很乱,
不便于查找或更改。
(c)程序的结构要设计的合理,避免上下乱调用的现象,这样会使程序更加清
晰化。 (d)编程前要加流程图,这样会使思路清晰,例如数字音乐盒的设计思路完全
可以按着MP3的工作方式列写流程图。 LCD计时正常显示的解决办法:
(a)两个定时器同时工作,存在中断时序问题,刚开始时我们把定时器1设定
在方式3,计250us,由于定时中断过于频繁,使CPU负载过大,导致音乐不能正常播放,时间不能正常显示。解决办法:将定时器1设定在工作方式1,16位计数,计50ms,效果有很大改观。但还有问题。
(b)当音乐为全4拍起始时,此时音乐节奏与定时器T1中断频率错开,LCD显
上一篇:小学升初中英语模拟试题3
下一篇:数据库原理--机票预定系统