没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
音乐播放控制电路设计
设计指标
首先,将简谱按照我们的要求进行编码并将其写入只读存储器 ROM 之中,然
后通过我们的电路读出 ROM 的内容,进行解码后驱动蜂鸣器播放。
系统概述
设计思想
20Hz 至 20KHz 的音频脉冲信号控制蜂鸣器,可以使其根据控制信号的频率发
出不同的音调。一般的音乐我们可以用 3 个 8 度音程进行表现,不同的音名和
音程具有不同的频率,由此我们可以设计出电子电路根据音符控制输入到蜂鸣
器中的频率,从而发出我们想要的声音。
各音高的频率关系:每两个相差8度的音高频率相差一倍.
若计数器输出频率的为高音 1,将分频器输入的计数脉冲频率降低一倍,则音
调降低 8 度,发出中音 1。
可行性论证
① 要制作播放器,首先要解决的问题就是找一个能够产生固定频率的源,在这
1
里很容易实现,我们使用一个 10M 的晶振,当其接上适当的电路之后,其
将发出恒定的振荡波形。
② 有了 10M 的信号源之后,怎样才能使其变成驱动蜂鸣器发出我们需要的声
音的信号,这里我们使用分频器来实现
③ 为了发出不同音名的音,用计数器来实现分频器要常常改变分频系数,这里
我们选用一个模可变的计数器来完成这个功能。
④ 为了实现音乐播放的连续性,我们把乐谱存储到 ROM 中,播放电路的通取
ROM 中的内容经过特殊的解码操作便可以得到我们需要的计数器分频系数。
分频后便是我们需要的驱动蜂鸣器的信号。
音高控制
根据简谱音符的音高控制蜂鸣器频率。
数字电路中,模 N 的计数器溢出信号的频率是计数脉冲信号频率的 1/N。
所以,可以设计一个模可控的计数器实现不同的分频比,使溢出信号频率满足
不同的音高要求。由于三个 8 度音程中相同音名的信号频率相差一倍 。所以在
分频系数不变时,将计数脉冲频率升高(或降低)一倍可使分频器的溢出信号
频率升高(或降低)一倍,音调升高(或降低)8 度。
音长控制
某个音符音长由该音高频率信号的持续时间长短决定
可采用一个计数器对音长进行定时,计数脉冲周期是乐谱时值,决定了该单元
音符的持续时间。所以,可采用计数器对音长进行定时,计数脉冲周期为所选
乐谱中时值最短音符的时值,其它音符的音长定时可根据其时值与最短音符音
长(度量单位)的倍数关系持续不同的计数脉冲周期。比如:乐谱中最短音符
2
为 8 分音长,则 4 分音符为 2 个时钟周期,而全音符为 8 个时钟周期。
各功能的组成
电路的框图如下图所示:
总体工作过程
CP 脉冲既是从 10M 的晶振中输出的脉冲波,它被分为两路进行传播
线路方向 1:通过“M 分频”,此路信号作为时钟脉冲输入“时值计数器”,计数器
便按照此时钟进行计时,其输出端连接“曲谱储存表”,这就可以使其按照地址
访问 ROM 中的数据,从曲谱输出表 ROM 的输出端输出数据,按照我们制定的
编码规则,读出的数据一共分为 6 位,如下表所示
5 4 3 2 1 0
间断音控制 音程码(控制音高) 音名码(控制音名)
最高位控制间断音控制,为了区分例如:5 5 和 5-的音节。4、3 两位是音程码,
用于控制高音、中音和低音。2、1、0 这三个是音名码,用于控制音名,选择
播放 do re mi fa so la si 中的哪个音。
3
剩余13页未读,继续阅读
资源评论
gchgchstudy
- 粉丝: 1
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功