单片机C52 开发一个蜂鸣器播放声音的东西
我用C52,外接62256,12864R(带字库的液晶)开发了一个用无源蜂鸣器播放声音的东西,现在显示这些基本都正常了。
可是播放音乐时,总是放一放然后程序就飞了,外部中断不管用,但是定时器中断还一直在跑。蜂鸣器也一直在发生,
我调了好久不知道什么问题啊,有人遇到过么?
有知道的给个相关的思路啊。
ps:音乐是用字符串保存的,在播放之前,开一个音高和延时时间的数组,长度为2048.然后将字符串解析成播放的参数。
再将音高送到定时器里面进行播放,时间参数用于控制延时,即播放的时间长度。
就是在播放的过程中,每次都是固定位置,直接就没有变化了,只有一个音不停地响。
[解决办法]
是不是跑飞了 重启动了 而你感觉貌似定时器一直在跑
[解决办法]
你的中断时外部的还是定时器/计时器啊? 还有检查下你的中断启动方式,电平的,跳变沿?
[解决办法]
检查一下数据指针是不是溢出了
[解决办法]
这样的问题,应该是自身的控制逻辑没有处理好
好好理一下思路,如果很复杂,状态机是一个比较好的工具
[解决办法]
长度为2048这么大的数组 最好别使用sram 最好定义成xdata 还有认真检查一下逻辑