发布网友 发布时间:2023-07-12 18:22
共1个回答
热心网友 时间:2024-08-01 10:49
首先告诉你,你的程序不能一直卡在中断里,这样会阻塞程序的执行。这时即使你按按键也不会有响应的除非你的按键也是中断的,而且优先级比定时器高。我理解你的程序应该这样写:用定时器1来产生特定频率的方波,然后驱动喇叭播放音乐。定时器2来控制播放音乐的进度,比如说你的音乐由10段不同频率的声音组成,第一段持续0.2秒,播放频率a,那么首先定时器1输出频率为a的方波,定时器2定时0.2秒,定时器2到时间后,播放下一段,持续0.4秒,频率为b,再修改响应的定时器1和定时器2的时间值。。。知道整段音乐播放完毕。这样不管你的按键是中断还是查询都能被响应。当有按键时,关闭定时器1和定时器2就可以终止闹铃了。追问谢谢您的回答,辛苦了,再请问下:我现有的利用中断的音乐程序有什么方法转成您所说的方式的编曲?或者说需要重新按乐谱编写?