[资料分享] 如何用单片机设计音乐片?新手上路,请帮忙啊...

tsnana   2007-12-3 11:33 楼主
用8051做一音乐电路,新手不懂,时间紧迫..希望高手指点 按7个键输出7个频率的方波 :( 急求电路原理图和程序... 谢谢
新手上路~~``

回复评论 (4)

回复:如何用单片机设计音乐片?新手上路,请帮忙啊...

7个按键分别接到单片机的io口上面 方波只要一个io口就可以了 频率可以根据自己的需要确定
南京璞晓电子   www.cpx0.com需要 msn:njlianjian@hotmail.com
点赞  2007-12-3 19:36

回复: 如何用单片机设计音乐片?新手上路,请帮忙啊...

电子音乐实验: 使用8051产生电子音乐时,必须对于声音的特性有所了解。构成声音的三要素分别是:振幅、频率、音色,其中振幅关系到声音的大小,频率牵涉到声音的高低音,音色则是声音中谐波的成分。在这里,我们只考虑声音的高低音变化。我们要产生不同频率的声音时,可以让8051产生不同频率的方波,如下图: jpg 其中频率等于周期T的倒数,也就是频率f=1/T。我们将此输出的方波用低通滤波器过滤掉高频的谐波,就可以产生固定频率的弦波。接下来将此弦波用音频放大器适当地放大,就可以接到喇叭发出声音。8051产生固定频率方波的方法是使用Timer0或Timer1的溢出中断,然后在中断发生时,将输出引脚的电压反向。如下表: jpg 在这里,我们选择使用8051的Timer1的溢出中断,Timer1的溢出中断发生时,将输出引脚的电压反向,然后重新载入Timer1的计数器数值。所以唯一要做的就是正确设置Timer1的工作模式和Timer1的计数数值。例如中间的DO,频率是523Hz,所以其周期是T=1/523=1912μs,其半周期为1912/2=956μs,如果Timer1的计时时钟周期是1μs,那么只要设置Timer1的计数器数值,让它每数956次就产生溢出中断,然后让输出引脚反向。因为Timer1每数956次就要产生溢出中断,因此如果Timer1设置为16位的工作模式时,它的计数器在开始计数之前就必须设为FC43(10000H-956)。 根据以上原理,我们就可以预先计算出第一音符的计数器数值,然后将这些数值储存在程序存储器中,当我们需要什么频率的声音时,只要从程序存储器中读出相对应的数值即可。
点赞  2007-12-3 22:06

回复:如何用单片机设计音乐片?新手上路,请帮忙啊...

谢谢大家帮忙啊! 不过可不可以给我详细的程序和电路原理图啊... 有的话就真的非常感谢啊...
新手上路~~``
点赞  2007-12-4 13:20

回复:如何用单片机设计音乐片?新手上路,请帮忙啊...

好的,谢谢啦!!!
点赞  2008-3-19 14:53
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复