电子音调发生器c语言编程,单片机电子音调发生器设计

1 课程设计总体目标1.1 功能目标(1)利用JD51开发板上的按键S1~S4进行音调选择,即按下不同的开关产生不同的音调,依次按动S1~S4 及组合按键,蜂鸣器发出1234567i八个音调;并在数码管上显示。(2)编写2支歌曲,并可进行选择播放。(3)拓展题:播放音乐前亮灯10秒,并可以通过按下按键来中断播放。1.2 总体结构图1-1总体结构1.3 工作原理音节由不同频率的...
摘要由CSDN通过智能技术生成

1          课程设计总体目标1.1 功能目标

(1)利用JD51开发板上的按键S1~S4进行音调选择,即按下不同的开关产生不同的音调,依次按动S1~S4 及组合按键,蜂鸣器发出1234567i八个音调;并在数码管上显示。

(2)编写2支歌曲,并可进行选择播放。

(3)拓展题:播放音乐前亮灯10秒,并可以通过按下按键来中断播放。1.2 总体结构

图1-1  总体结构1.3 工作原理

音节由不同频率的方波产生,音节与频率的关系通过查表可得。要产生音频方波,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用计时器计时此半周期时间,每当计时到后就将输出方波的 I/0 反相,然后重复计时此半周期时间再对I/O 反相,就可在 I/O 脚得到此频率的方波。在 ZKS-03 实验仪上,产生方波的 I/O 脚选用P1.7,通过跳线选择器 JP1 将单片机的 P1.7 与蜂鸣器的驱动电路相连。这样 P1.7 输出不同频率的方波,蜂鸣器便会发出不同的声音。另外, 音乐的节拍是由延时实现的,如果 1 拍为0.4 秒, 1/4 拍是 0.1 秒。只要设定延时时间,就可求得节拍的时间。延时作为基本延时时间,节拍值只能是它的整数倍,每个音节相应的定时器初值 X 可按下法计算:

(式1-1)

(式1-2)

其中,f是音调频率。当晶振f_osc=11.0592MHz时,音节“1”相应的定时器初值为x,则可得x=63777D=F921H其他的可同样求得。

另外,音乐的节拍是由延时实现的,如果1拍为0.4秒&

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值