没有合适的资源?快使用搜索试试~ 我知道了~
单片机课程设-电子琴.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 136 浏览量
2022-07-08
01:21:41
上传
评论
收藏 493KB DOC 举报
温馨提示
试读
31页
单片机课程设-电子琴
资源推荐
资源详情
资源评论
目 录
1. 引言...................................................1
1.1. 设计的目的.........................................1
1.2. 设计的内容与要求...................................1
2. 总体设计...............................................1
2.1. 音乐产生原理.......................................1
2.2. 设计流程...........................................3
3. 硬件设计...............................................8
3.1. AT89C51 芯片简介 ..................................8
3.1.1 主要特性........................................8
3.1.2 功能描述........................................8
3.1.3 引脚说明与硬件连接..............................9
3.2. 元器件清单........................................13
4. 系统工作说明..........................................13
5. 结束语...............................................14
5.1 收获与体会.........................................14
5.2 遇到的问题与解决方法...............................15
5.3 教程建议...........................................15
6. 参考文献..............................................15
7. 附录..................................................16
1
1. 引言
1.1 设计的目的
本设计的主要目的是掌握单片机系统的开发应用,掌握 prteus 和 keil C51
软件的应用,巩固和加深已学过的知识,提高动手能力及解决实际问题的能力,
同时培养团队合作精神。
1.2. 设计内容与要求
(1)本设计以 AT89C52 单片机为核心控制元件设计一个电子琴,与键盘、扬声
器等模块组成核心主控制模块,在主控模块上设有 16 个弹奏按键、1 个播
放按键和扬声器,并且按下时按键发声,松开延时一段时间停止,中间再
按别的键则发另一音调的声音。16 个按键设置成 4x4 矩阵键盘,能弹奏出
16 个音,添加歌曲程序同时能够播放出歌曲。
(2)利用软件 keil C51 进行程序的调试。
(3)利用 proteus 软件画电路图,并在单片机加载程序进行仿真。
(4)根据电路图运用 proteus 软件的布局和布线功能绘制 PCB 图并输出显
示电路的 3D 图。
(5)根据电路图、PCB 图和 3D 图快速地焊接电路。
(6)下载程序代码,调试(Easy 51Pro) 。
2. 方案总体设计
2.1. 音乐产生设计原理
一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我
们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片
机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器 T0 来产生这
样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系正确即可。若
要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以 2,即
为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将 P1.0 反相,
然后重复计时再反相。就可在 P1.0 引脚上得到此频率的脉冲。
2
利用 AT89C51 的内部定时器使其工作计数器模式(MODE1)下,改变计数
值 TH0 及 TL0 以产生不同频率的方法产生不同音阶,例如,频率为 523Hz,其周
期 T=1/523=1912μs,因此只要令计数器计时 956μs/1μs=956,每计数 956
次时将 I/O 反相,就可得到中音 DO(523Hz)。
计数脉冲值与频率的关系式是:
N=fi÷2÷fr
式中 N 是计数值;fi 是机器频率(晶体振荡器为 12MHz 时,其频率为 1MHz);fr
是想要产生的频率。
其计数初值 T 的求法如下:
T=65536-N=65536-fi÷2÷fr
例如:设 K=65536,fi=1MHz,求低音 DO(261Hz)、中音 DO(523Hz)、高音 DO
(1046Hz)的计数值。
T = 65536 - N = 65536 - fi ÷ 2 ÷ fr = 65536 - 1000000 ÷ 2 ÷ fr = 65536 -
500000/fr
低音 DO 的 T=65536-500000/262=63627
中音 DO 的 T=65536-500000/523=64580
高音 DO 的 T=65536-500000/1046=65059
单片机 12MHZ 晶振,高中低音符与计数 T0 相关的计数值如表 1 所示:
音符
频率(HZ)
简谱码(T 值)
音符
频率(HZ)
简谱码(T 值)
低 1 DO
262
63628
# 4 FA#
740
64860
#1 DO#
277
63731
中 5 SO
784
64898
低 2 RE
294
63835
# 5 SO#
831
64934
#2 RE#
311
63928
中 6 LA
880
64968
低 3 M
330
64021
# 6
932
64994
低 4 FA
349
64103
中 7 SI
988
65030
# 4 FA#
370
64185
高 1 DO
1046
65058
低 5 SO
392
64260
# 1 DO#
1109
65085
3
# 5 SO#
415
64331
高 2 RE
1175
65110
低 6 LA
440
64400
# 2 RE#
1245
65134
# 6
466
64463
高 3 M
1318
65157
低 7 SI
494
64524
高 4 FA
1397
65178
中 1 DO
523
64580
# 4 FA#
1480
65198
# 1 DO#
554
64633
高 5 SO
1568
65217
中 2 RE
587
64684
# 5 SO#
1661
65235
# 2 RE#
622
64732
高 6 LA
1760
65252
中 3 M
659
64777
# 6
1865
65268
中 4 FA
698
64820
高 7 SI
1967
65283
表 1 音符频率表
我们要为这个音符建立一个表格,单片机通过查表的方式来获得相应的数据。
低音 0-19 之间,中音在 20-39 之间,高音在 40-59 之间。
TABLE: DW 0,63628,63835,64021,64103,64260,64400,64524,0,0
DW 0,63731,63928,0,64185,64331,64463,0,0,0
DW 0,64580,64684,64777,64820,64898,64968,65030,0,0
DW 0,64633,64732,0,64860,64934,64994,0,0,0
DW 0,65058,65110,65157,65178,65217,65252,65283,0,0
DW 0,65085,65134,0,65198,65235,65268,0,0,0
DW 0
在这个程序中,弹奏音乐的程序是用定时/计数器 T0 来完成的,播放音乐程序则
是用定时/计数器 T1 来完成的。
2.2. 设计流程
(1)键盘扫描程序:
检测是否有键按下,有键按下则记录按下键的键值,并跳转至功能转移程序;
无键按下,则返回键盘扫描程序继续检测。
4
(2)功能转移程序:
对检测到得按键值进行判断,是琴键则跳转至琴键处理程序,是功能键则跳
转至相应的功能程序,我们设计的功能程序有两种,即音色调节功能和自动播放
乐曲功能。
(3)琴键处理程序:
根据检测到得按键值,查询音律表,给计时器赋值,使发出相应频率的声音。
(4)自动播放歌曲程序:
检测到按键按下的是自动播放歌曲功能键后执行该程序,电子琴会自动播放
事先已经存放好的歌曲,歌曲播放完毕之后自动返回至键盘扫描程序,继续等待
是否有键按下。
剩余30页未读,继续阅读
资源评论
老帽爬新坡
- 粉丝: 81
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功