51单片机控制蜂鸣器唱歌程序怎么写,网上的程序我看不懂,求高手教写程度,非常感谢 150
可以随便选一首歌来写,要详细的,我的板子蜂鸣器接在P2.3,也可以按照你自己的板子写,我再自己改管脚...
可以随便选一首歌来写,要详细的,我的板子蜂鸣器接在P2.3,也可以按照你自己的板子写,我再自己改管脚
展开
1个回答
展开全部
看样子你还是有基础的。。
那么。先声明。声音肯定不怎么好听。
第一步,定义频率表。这个有的抄。当然你可以自己算。溢出时间按声音周期的一半算。拿音阶当索引,把定时器的设置值列成表。下面写歌谱的时候会用到。
然后,拿个定时器。跑这个频率表的中断。中断里取反你的蜂鸣器。(不响的情况可以设立标志解决)
然后,再拿个定时器。跑歌谱。。按节拍含握算。每小节大概最多8个音符(正常是4个音符,但要算半音。。),也就是反正定时就换下个音符。。也可以用中断。在中断里更换当前的频率字。就是调整上面那个拍此定时器的中断速度。通常这个时袭老迅间比较长。你可以额外用一个到两个字节进行累计到预定值再更换数据。这样就做到了定时产生节拍。
然后就是设计歌谱啦。。方法就是把对应的音阶一个个写上去。。。
主程序可以啥都不做。
那么。先声明。声音肯定不怎么好听。
第一步,定义频率表。这个有的抄。当然你可以自己算。溢出时间按声音周期的一半算。拿音阶当索引,把定时器的设置值列成表。下面写歌谱的时候会用到。
然后,拿个定时器。跑这个频率表的中断。中断里取反你的蜂鸣器。(不响的情况可以设立标志解决)
然后,再拿个定时器。跑歌谱。。按节拍含握算。每小节大概最多8个音符(正常是4个音符,但要算半音。。),也就是反正定时就换下个音符。。也可以用中断。在中断里更换当前的频率字。就是调整上面那个拍此定时器的中断速度。通常这个时袭老迅间比较长。你可以额外用一个到两个字节进行累计到预定值再更换数据。这样就做到了定时产生节拍。
然后就是设计歌谱啦。。方法就是把对应的音阶一个个写上去。。。
主程序可以啥都不做。
追问
我没什么基础,也不懂音乐,大神还是写个程度出来给我看看吧,在程序里面注释语句的作用就行了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询