单片机课程设计(论文)简易电子琴.doc
《单片机课程设计(论文)简易电子琴.doc》由会员分享,可在线阅读,更多相关《单片机课程设计(论文)简易电子琴.doc(23页珍藏版)》请在三一办公上搜索。
1、燕山大学课程设计(论文)任务书院(系):电气工程学院 基层教学单位:仪器科学与工程系 学 号090103020113学生姓名黄海超专业(班级)检测一班设计题目简易电子琴设计技术参数设计一简易电子琴,按下不同按键,能够发出不同的声音。通过每个按键的控制使单片机系统输出不同频率的脉冲,经过扬声器发出不同频率音调。演奏一首歌曲。设计要求设计电子琴的键盘电路(包括硬件电路);编制相应的程序。工作量设计的内容满足课程设计的教学目的与要求,设计题目的难度和工作量适合学生的知识和能力状况,工作量饱满。工作计划查阅资料进行设计准备、设计硬件电路、编制程序,编制程序、验证设计、撰写任务书。参考资料单片微型计算机
2、接口技术及其应用 张淑清 国防工业出版社单片机应用技术汇编指导教师签字基层教学单位主任签字说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。2012年6月29日摘要 31功能及原理简介 41.1功能的简介41.2 音乐产生原理及代码值的计算42硬件系统的设计 72.1 89C51芯片简介 72.2 蜂鸣器的电路连接及实现 92.3 4X4矩阵键盘部分 103软件系统的设计123.1程序的设计思想及执行流程 123.2 源程序代码 164总结23参考文献24摘要:随着电子技术的发展,尤其是大规模集成电路的出现,给人类生活带来了根本性的改变。本论文着重介绍了本次课设所应用的各硬件接口技
3、术和各个接口模块的功能及工作过程,并且按照设计要求利用单片机设计微型电子琴。完成电路原理图、程序,并进行相关分析。本次课程设计的主要内容是用WAVE2000试验箱上的资源,以AT89C52单片机为核心控制元件,通过产生不同频率的脉冲信号产生出电子音调,设计一个简易的电子琴。以单片机作为主控核心,与键盘、蜂鸣器等模块组成控制模块。该系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用与参考价值。关键词:单片机;电子琴;脉冲信号1功能及原理简介1.1功能的简介电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,通过单片机
4、强大的编程控制功能,控制发声的频率和拍长,它已经溶入现代人们的生活中,成为不可替代的一种重要乐器。本课程设计的题目为简易电子琴的设计,通过编程控制蜂鸣器脉冲的频率和有效信号的长度,可实现如下的功能:一:4*4矩阵键盘的1E按键分别对应着个不同的音符,分为高低不同的14个音符,当按下某一按键,会发出相应的音调。按下按键时,扬声器会发出一定时长的声音。扬声器发声的时长是无法改变的,由程序设定。如果连续按动一个乐谱的音符所对应的按键,可以实现乐曲的演奏。二:程序中预存了音乐我的中国心乐谱对应的编码,通过矩阵键盘中的“0”键触发,当在单片机处于该音乐播放模式时,可以通过按键“F”和“E”对该音乐的播放
5、进行暂停、播放和停止操作等控制。1.2 音乐产生原理及代码值的计算不同的音符对应着不同的频率,我们可以利用不同的频率的组合,来实现不同的音符的组合,即可构成我们所想要的音乐了。假如发生装置为脉冲型的蜂鸣器,将其连接在P1.0上。按每个音符对应的频率和拍长对P1.0施以有效的脉冲信号,即可实现对应的音乐。而对于单片机来说产生不同的频率和一定长度的脉冲信号是非常方便,我们可以利用单片机的定时/计数器来产生这样方波频率信号,调用一个可编程的延时函数即可控制声音的长度。因此,只需将一首歌的音阶和频率即拍长相对应即可。利用定时器计时半周期时间,每当计时终止后就将P1.0反相,然后重复计时再反相。就可在P
6、1.0引脚上得到此频率的脉冲。若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。利用AT89S52的内部定时器使其工作计数器模式工作方式1下,改变计数初值以产生不同频率的方法产生不同音阶,下面将具体介绍音符频率的计算方法。计数脉冲值与频率的关系式(如式2-1所示)是: N12 2 (式1-1) 式中,N是产生需要脉冲所需的计数值,是单片机的晶振频率(本实验箱的晶体振荡器为5MHz),是想要产生的频率;相应的计数初值T的求法如下: T65536N (式1-2) 以音符DO为例,详述得到对应的频率所需的计数初值:本次课程设计所使用的实验箱上的单片机晶振为6H
7、z,对应的每次计数时间间隔为2us,低音DO对应的频率为262Hz,其周期T1/2623817s。低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的计数值。T65536N65536/12/ /2655366000000/12/65536250000/ 低音DO的T65536250000/26264582 中音DO的T65536250000/52365058 高音DO的T65536250000/104665297我们要为这个音符建立一个表格,单片机通过查表的方式来获得相应的数据,单片机6MHZ晶振,高中低音符与计数T0相关的计数值如表1所示:音符频率(HZ)代码值(T)音
8、符频率(HZ)代码值(T)低1DO26264582中 5 SO78465217低2RE29464686中 6 LA88065252低 3 M33064779中 7 SI98865283低 4 FA34964820高 1 DO104665297低 5 SO39264898高 2 RE117565323低 6 LA44064968高 3 M131865346低 7 SI49465030高 4 FA139765357中 1 DO52365058高 5 SO156865377中 2 RE58765110高 6 LA176065394中 3 M65965157高 7 SI196765409中 4 FA6
9、9865718表1-1 音符频率表音乐的音拍为基本的发声时长,一个节拍为单位(C调)相应的时长如表1-2所示: 曲调值DELAY曲调值DELAY调4/4125ms调4/462ms调3/4187ms调3/494ms调2/4250ms调2/4125ms表2-1 曲调值表 对于不同的曲调,本课程设计采用的是调用延时子程序的,控制定时器的启动与关闭,进而时长的方法来实现的。2硬件系统的设计2.1 89C51芯片简介2.1.1功能描述(1) AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memor
10、y)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。(2)振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可
11、采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。(3)芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡
12、器,禁止所用其他芯片功能,直到下一个硬件复位为止。 2.1.2主要特性与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 2.1.3 最小系统引脚分布及最小系统电路如图2-1所示图2-1 8031/8051的最小系统2.2 蜂鸣器的电路连接及实现利用三极管作为门控信号,将三极管的基极连接在P1.0上,当给P1.0以一定频率的脉冲信号时,三极管的射级也会输出同等频率的脉冲信号。蜂
13、鸣器为脉冲驱动型,其发声频率由P1.0的输出频率决定,发声长度由P1.0输出的脉冲信号的有效时长确定其电路连接图2-2如图所示图2-2扬声器接口电路2.3 4X4矩阵键盘部分本次课程设计采用的WAVE2000试验箱,课程设计的功能均由键盘控制实现,键盘系统的硬件连接图如图2-3.1所示,简化的键盘部分如图2-3.2所示44矩阵键盘的列扫描信号和行扫描信号分别由74HC374和74HC245控制送出和读入,其片选信号端Key_LED_CS连接在一起,可以与试验箱上的CS0CS7相连接,其地址分别为0X002H和0X001H。采用AT89C51的并行口P0口作为数据信号线,输出列扫描信号,读入行扫
14、描信号。每个按键有它的行值和列值,行值和列值的组合就是识别这个按键的编码。每个按键的状态同样需变成数字量“0”和“1”,开关的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么;还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地,另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能,在本程序中,当程序检测到有键按下时,将查表使按键值与预存数据表中数据对应,并调用发声程序。图2-3.1 键盘系统的硬件连接图图2-3.2 简化的矩阵
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 论文 简易 电子琴
链接地址:https://www.31ppt.com/p-3936660.html