
C提供了一段源代码,该代码利用51单片机控制蜂鸣器来播放音乐。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
C程序通过利用51单片机上的蜂鸣器,成功地实现了音乐的演奏。硬件连接方面,P36引脚被用于控制交流蜂鸣器的驱动,其发声频率与P36输出的方波振荡频率保持一致。在程序设计中,定时器的初始值计算采用了特定的方法。首先,我们假设音乐的频率为X,晶振的频率为11.0592MHz。
接下来,我们计算出一个定时周期的时长: 1/11.0592 * 12 = 1.085 微秒,这意味着一个记时周期由12个晶振周期组成。然后,计算出音乐频率周期的长度: 1/X 和 1/(2X)。由于每个音频脉冲需要两个周期来完成,我们可以得到这个信息。
随后,我们计算出所需的定时周期数:记时周期数等于音乐频率周期除以记时周期。最后,通过计算定时器初值:定时器初值 = 65536 - 记时周期数。例如,当标准音440Hz的音乐频率时,其周期为 1/(2*440) = 1136.36 微秒。因此,记时周期数为 1136.36 微秒 / 1.085 微秒 ≈ 1047.34 个定时器周期。最终得到的定时器初值为 65536 - 1047.34 ≈ 64489。十六进制表示为 (0xFBE9)。
全部评论 (0)
还没有任何评论哟~


