单片机课程设计电子琴 汇编语言Word文档下载推荐.docx

上传人:b****2 文档编号:15074490 上传时间:2022-10-27 格式:DOCX 页数:34 大小:583.24KB
下载 相关 举报
单片机课程设计电子琴 汇编语言Word文档下载推荐.docx_第1页
第1页 / 共34页
单片机课程设计电子琴 汇编语言Word文档下载推荐.docx_第2页
第2页 / 共34页
单片机课程设计电子琴 汇编语言Word文档下载推荐.docx_第3页
第3页 / 共34页
单片机课程设计电子琴 汇编语言Word文档下载推荐.docx_第4页
第4页 / 共34页
单片机课程设计电子琴 汇编语言Word文档下载推荐.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

单片机课程设计电子琴 汇编语言Word文档下载推荐.docx

《单片机课程设计电子琴 汇编语言Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单片机课程设计电子琴 汇编语言Word文档下载推荐.docx(34页珍藏版)》请在冰豆网上搜索。

单片机课程设计电子琴 汇编语言Word文档下载推荐.docx

5.1收获与体会.........................................14

5.2遇到的问题与解决方法...............................15

5.3教程建议...........................................15

6.参考文献..............................................15

7.附录..................................................16

1.引言

1.1设计的目的

本设计的主要目的是掌握单片机系统的开发应用,掌握prteus和keilC51软件的应用,巩固和加深已学过的知识,提高动手能力及解决实际问题的能力,同时培养团队合作精神。

1.2.设计内容与要求

(1)本设计以AT89C52单片机为核心控制元件设计一个电子琴,与键盘、扬声

器等模块组成核心主控制模块,在主控模块上设有16个弹奏按键、1个播

放按键和扬声器,并且按下时按键发声,松开延时一段时间停止,中间再

按别的键则发另一音调的声音。

16个按键设置成4x4矩阵键盘,能弹奏出

16个音,添加歌曲程序同时能够播放出歌曲。

(2)利用软件keilC51进行程序的调试。

(3)利用proteus软件画电路图,并在单片机加载程序进行仿真。

(4)根据电路图运用proteus软件的布局和布线功能绘制PCB图并输出显

示电路的3D图。

(5)根据电路图、PCB图和3D图快速地焊接电路。

(6)下载程序代码,调试(Easy51Pro)。

2.方案总体设计

2.1.音乐产生设计原理

一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这

样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系正确即可。

若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即反相,P1.0每当计时终止后就将利用定时器计时半周期时间,为半周期的时间。

然后重复计时再反相。

就可在P1.0引脚上得到此频率的脉冲。

利用AT89C51的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T=1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将I/O反相,就可得到中音DO(523Hz)。

计数脉冲值与频率的关系式是:

N=fi÷

fr

式中N是计数值;

fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);

fr是想要产生的频率。

其计数初值T的求法如下:

T=65536-N=65536-fi÷

例如:

设K=65536,fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的计数值。

T=65536-N=65536-fi÷

fr=65536-1000000÷

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)简谱码(值)

音符

频率(

1DO

63628

64860

262

#4FA#

740

DO##1

63731277

5SO中

64898784

2低RE3M

294638356392864021

#5SO#6LA

64934831

6496864994

#2RE#

311

880

330

#6

932

T

4FA有键按下否是延时去抖动给定时器T0赋值开始计取该音符的节拍码

YSTOPA=0NY

休止符返回键盘扫描A=0FFH

64103工作停止T0CPL3.0

7SI停止

65030工作T1

349

988

#4FA#

37064185退出中断

1DO高

650581046

低5SO6LA

642603926433164400延时

#1DO#2RE

650851109

6511065134

#5SO#

415

1175

440

#2RE#

1245

64463

3M

65157

466

1318

7SI

64524

4FA

65178

494

1397

1DO

64580

自动播放音乐程序

弹奏子程序

65198

523

1480

64633开始开中断并允许中断设定A<

<

0,DPTR<

5SO歌谱地址

65217

#1DO#

554

1568

2RE中

58764684T0初始化并开中断允许定时器工作方式

#5SO#中断T0

652351661

#2RE#3M4FA

622647326477764820T1初始化并开中断允许键盘扫描程序根据键值查音律开中断,设定定时器取简谱码

高6LA7SI中断T1工作模式T1

6525217606526865283

取键值

659

1865

698

1967

表1音符频率表

我们要为这个音符建立一个表格,单片机通过查表的方式来获得相应的数据。

低音0-19之间,中音在20-39之间,高音在40-59之间。

TABLE:

DW0,63628,63835,64021,64103,64260,64400,64524,0,0

DW0,63731,63928,0,64185,64331,64463,0,0,0

DW0,64580,64684,64777,64820,64898,64968,65030,0,0

DW0,64633,64732,0,64860,64934,64994,0,0,0

DW0,65058,65110,65157,65178,65217,65252,65283,0,0

DW0,65085,65134,0,65198,65235,65268,0,0,0

DW0

在这个程序中,弹奏音乐的程序是用定时/计数器T0来完成的,播放音乐程序则是用定时/计数器T1来完成的。

2.2.设计流程

(1)键盘扫描程序:

检测是否有键按下,有键按下则记录按下键的键值,并跳转至功能转移程序;

无键按下,则返回键盘扫描程序继续检测。

(2)功能转移程序:

对检测到得按键值

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1