简易电子琴课程设计.doc
《简易电子琴课程设计.doc》由会员分享,可在线阅读,更多相关《简易电子琴课程设计.doc(18页珍藏版)》请在咨信网上搜索。
个人收集整理 勿做商业用途 课 程 设 计 课程名称 微型计算机课程设计 题目名称 简易电子琴课程设计报告 专业班级 11电子信息科学与技术3班 学生姓名 吴 俊 学 号 51102023001 指导教师 谢春祥 目 录 第1节 引 言………………………………………………………………………4 1.1 单片机发音概述…………………………………………………………4 1.1。1 音调………………………………………………………………… 4 1。1。2 节拍……………………………………………………………………7 1。1。3单片机演奏音乐的方法………………………………………………8 1。2本次设计的任务和主要内容………………………………………………8 第2节 系统的主要硬件电路的设计………………………………………………9 2.1 单片机控制系统原理……………………………………………………9 2.1.1 芯片的选用 …………………………………………………………9 2.1.2 简易电子琴的组成框图 ……………………………………………10 2.2 单片机主机系统电路 ……………………………………………………11 2.2.1 时钟频率 ……………………………………………………………11 2.2.2 晶振电路 ……………………………………………………………11 2.2.3 键盘扫描 ……………………………………………………………12 2.2.4 发音电路 ……………………………………………………………14 2.2.5 供电及复位电路 ……………………………………………………14 第3节 系统的软件设计 …………………………………………………………16 程序 …………………………………………………………………16 第4节 结束语 …………………………………………………………………28 参考文献 …………………………………………………………………………39 基于AT89C51单片机的简易电子琴 第1节 引 言 随着生活水平的提高,在放松自己的同时又能提高各个方面的能力.学习和欣赏音乐可以在使人们得到放松的同时,提高人们的精神品质和个人素养。当代,爱好音乐的年轻人越来越多,有不少人自己练习弹奏乐器,作为业余爱好和一种放松的手段,鉴于一些乐器学习难度大需要太多的学习时间,且其价格又太过于高昂,使得一部分有这种想法的人不得不放弃这种想法。而一些简易的电子乐器价格相对便宜,学习上手快,价格相对便宜,一般人容易负担的起,能够满足一般爱好者的需求。故简易电子乐器的研制具有一定的社会意义。本次课程设计主要研究基于AT89C52单片机的16键简易电子琴的设计. 1.1 单片机发音概述 由于单片机的强大功能,除了在测试控制领域中有着广泛的应用外,还有一些而有趣的应用。比如,使用单片机可以驱动蜂鸣器或者扬声器发出声音,还可以控制其发出不同的声调,从而连接起来构成一个曲子。 目前,市场上有很多种音乐模块或者音乐芯片,可以直接产生各种曲子.但是,这种模块价格比较昂贵,电路结构比较复杂。如果系统中仅需要产生简单的音符或者简短的曲子,可以使用单片机配合简单的扬声器而产生需要的音乐效果. 一般说来,单片机不像其他专业乐器那样能奏出多种音色的声音,即不包含相应幅度的谐波频率.单片机演奏的音乐基本都是单音频率。因此单片机演奏音乐比较简单,只需要清楚“音调"和“节拍”。 音调表示一个音符唱多高的频率 节拍表示一个音符唱多长的时间 1.1.1音调 音调是音乐学中的名词,与平时所说的音高十分相似。在音乐中常把中音C上方的A音定为标准音高,其频率为 f = 440Hz,其余音均与其进行比较。 和为两个音符,如果两个音符的频率相差一倍时,即时,则称比高一个倍频程。 在音乐中音符1(do)与音符ⅰ之间正好相差一个倍频程,在音乐学中称它相差一个八度音。在一个八度音里,有12个半音。以1——ⅰ八音区为例。12个半音是:1—-#1, #1--2,2——#2,#2—3,3—4,4--#4,#4-5,5-—#5,#5—6,6-—#6,#6—7,7—-ⅰ。由于人耳的听觉效果,这12个音节的分度基本上是以对数关系来划分的。只要知道了这12个音符的音高,也就是其基本的音乐的频率,就可以根据音符之间的倍频程关系得到其他音符基本的音调频率。 知道了一个音符的频率后,便可以让单片机发出相应的频率的振荡信号,从而产生相应的音符声音。常采用的方法是通过单片机的定时器进行定时中断,在中断服务子程序中 将单片机上外界扬声器的I/O口来回置高电平或置低电平,从而让扬声器发出声音。为了让单片机发出不同频率音符的声音,只需将定时器预置不同的定时值来实现。 以标准音高A为例: 标准音高A的频率 f=440Hz,其对应的周期为: (1—1) 因此需要在单片机I/O口输出周期为 T=2272us的方波脉冲,如图1—1所示 图1-1单片机控制音调示意图 由上图可知: 单片机输出高电平和低电平信号均为: (1-2) 也就是说,单片机上定时器的中断触发时间为1136us。如果单片机采用定时器工作方式1,它以振荡器的十二分频信号为计数脉冲。设外接晶振的振荡器频率为f0,则定时器的预置初值由下式来确定: (1—3) 式中,Count = =65536, 为定时器待确定的计数初值。因此定时器的高低计数器的初值为: (1—4) (1—5) 如果单片机外接12MHz的晶振,则,将t=1136us和代入上面两式,即可求得标准音高A在单片机定时器工作方式1下的定时器高低计数器的初值为: (1-6) (1-7) 根据上面的求法,我们可以求出其他音调相应的计数器的预置初值。 在单片机晶振频率,定时器在工作方式1下定时器计数初值见表1-1 表1-1晶振频率定时器在工作方式1下定时器计数初值表 音符 频率/Hz 计数初值 音符 频率/Hz 计数初值 低1 DO 262 63628 # 4 FA # 740 64860 #1 DO# 277 63731 中 5 SO 784 64898 低2 RE 294 63835 # 5 SO# 831 64934 #1 RE# 311 63928 中 6 LA 880 64968 低 3 MI 330 64021 # 6 LA# 932 64994 低 4 FA 349 64013 中 7 SI 988 95030 #4 FA# 370 64185 高 1 DO 1046 65058 低5 SO 392 64260 # 1 DO# 1109 65085 #5 SO 415 64331 高2RE 1175 65110 低 6 LA 440 64400 #2 RE# 1245 65134 #6 LA# 466 64463 高 3 MI 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 MI 659 64777 # 6 LA# 1865 65268 中 4 FA 698 64820 高 7 SI 1967 65283 1。1.2节拍 在一张完整乐谱开头,都有如1=C、1=G……等等的标识。这里1=C,1=G标识乐谱的曲调,简单的说就是跟音调有关系;这里的、用来表示节拍。对于音符的节拍,以为例。它表示乐谱中以四分音符为节拍,每一小节有三拍.1= G的节拍示意图,见图1-2 在图中,总共有三拍:1、2为一拍,3、4、5为一拍,6为一拍.从时长角度看,1、2的时长为四分音的一半,即为八分音符长;3、4的时长为八分音符的一半,即为十六分音符长;5的时长为四分音符的一半,即为八分音符长;6的时长为四分音符长。 1=G 图1—2节拍示意图 对于一拍的发音时间,如果乐曲没有特殊说明,一般说来,一拍的时长大约为400~450ms .如果这里规定一拍的时长为400ms,那么以四分音符为节拍时,四分音符的时长为400ms, 八分音符的时长为200ms,十六分音符的时长为100ms。 从而,在单片机上可采用循环延时的办法来实现控制一个音符唱多长时间。首先要编写一个精确的基本时长的延时程序,比如说以八分音符的时长为基本延时时间,那么对于一个音符,如果它是四分音符,只需调用四次延时程序,如果它是二分音符,则只需调用八次延时程序,以此类推。 1。1。3单片机电子琴演奏音乐的方法 步骤一:将乐谱中的每个音符的音调及节拍变换成相应的音调参数和节拍数。 步骤二:将这些参数做成数据表格,存放在存储器中. 步骤三:通过按键调用程序取出一个音符的相关参数,播放该音符。 步骤四:播放完该音符后,等待下一次按键调用程序去取出下一次的音符的相关参数,再播放音符. 对于演奏乐曲,一般将休止符的音调参数设置为FFH,节拍参数设置为00H。 1。2本设计任务和主要内容 本次课程设计主要研究基于AT89C51单片机的8 键简易电子琴的设计。具体要求实现以下功能: ① 按下音符键可以发出相应的音符 ② 按下音乐播放键可以自动播放预先存在内存中的曲子 第2节 系统主要硬件电路设计 2.1 单片机控制系统原理 2.1。1芯片选用 在本次课程设计中我采用Atmel公司的AT89C51单片机.AT89C51是美国Atmel公司生产的低电压、高性能CMOS 8位单片机,片内含8KB的可反复檫写的程序存储器和12B的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,兼容标准MCS—51指令系统,片内配置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C52单片机可灵活应用于各种控制领域.AT89C52单片机属于AT89C51单片机的增强型,与Intel公司的80C52在引脚排列、硬件组成、工作特点和指令系统等方面兼容。AT89C52引脚图见图2-1. 图2—1 AT89C51引脚图 其主要功能特性: · 兼容MCS51指令系统 · 8k可反复擦写(〉1000次)Flash ROM · 32个双向I/O口 · 256x8bit内部RAM · 3个16位可编程定时/计数器中断 · 时钟频率0-24MHz · 2个串行中断 · 可编程UART串行通道 · 2个外部中断源 · 共6个中断源 · 2个读写中断口线 · 3级加密位 · 低功耗空闲和掉电模式 · 软件设置睡眠和唤醒功能 2。1.2 简易电子琴的组成框图 发音电路 AT89C51 独立键盘和发生电路 LED灯 路 供电及复位电路 晶振电路 图2-2 电子琴系统原理框图 2.2单片机主机系统电路 2.2.1时钟频率 单片机必须在时钟的驱动下才能工作。在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。外部振荡源电路一般选用石英晶体振荡器,此电路在加电大约延迟10mS后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电容C1,C2,作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调.C1,C2的典型值为30PF。 单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期。起大小是时钟信号频率的倒数,常用fosc表示。如时钟频率为12MHz,即fosc=12MHz,则时钟周期为1/12µs. 2.2。2 晶振电路 AT89C51单片机的定时控制功能是用时钟电路和振荡器完成的,而根据硬件电路的不同,连接方式分为内部时钟方式和外部时钟方式。本设计中采用内部时钟方式。 单片机内部有一个反相放大器XTAL1、XTAL2分别为反相放大器的输入端和输出端,外接定时反馈元件组成振荡器(内部时钟方式),产生时钟送至单片机内部各元件。时钟频率越高,单片机控制器的控制节拍就越快,运算速度也就越快. 一般来说单片机内部有一个带反馈的线性反相放大器,外界晶振(或接陶瓷振荡器)和电容就可组成振荡器,如图2-4所示.加电以后延时一段时间(约10ms)振荡器产生时钟,不受软件控制,图中X1为晶振,震荡产生的时钟频率主要由Y1确定。 电容C1,C2的作用有两个:一是帮助振荡器起振,二是对振荡器的频率起微调作用,典型值为30pF。 图2—4 晶振电路 2。2.3键盘扫描 在单片机应用中键盘用得最多的形式是独立键盘及矩阵键盘,如图2—5,图2-6所示。 图2—5 独立键盘 它们各有自己的特点,其中独立键盘硬件电路简单,而且在程序设计上也不复杂,一般用在对硬件电路要求不高的简单电路中;矩阵键盘与独立键盘有很大区别,首先在硬件电路上它要比独立键盘复杂得多,而且在程序算法上比它要烦琐,但它在节省端口资源上有优势得多,因此它更适合于多按键电路。 本次课程设计,我采用矩阵式键盘电路,这样可以大大的节省单片机I/O的开销。键盘电路见图2—7: 图2—7 键盘电路 在按键过程中常产生“毛刺” 现象,如图2—8所示,要消除“毛刺"现象,这里采用最常用的方法,即延时重复扫描法,延时法的原理为:因为“毛刺”脉冲一般持续时间短,约为几ms,而我们按键的时间一般远远大于这个时间,所以当单片机检测到有按键动静后,再延时一段时间(10ms~20ms)后再判断此电平是否保持原状态,如果是则为有效按键,否则无效。 图2-8 “毛刺”现象 2.2。4 发音电路 电子琴发音电路见图2-9。 图2-9 电子琴发音电路 2。2。5 供电及复位电路 电子琴的供电电路和复位电路见图2—10。 图2-10 电子琴供电及复位电路 2。2。6电子琴总体电路 第3节 系统的软件设计 3.1 主程序 3。1.1主程序的流程图 主程序的程序流程图见图3—1. 按键是否按下 开始 去抖动, 延时10ms 扫描按键位置 做一次按键处理,播放相应的音符或音乐 按键是否按下 图3—1程序流程图 3。1.2 程序 #include<reg51。h> #define LED P1 #define SW_Port P2 sbit buzzer=P3^7; unsigned char keys; unsigned char code tone[]={ 115,102,91,86,77,68,61,57}; void sound(unsigned char); void delay8us(unsigned char); main() { while(1) { LED=SW_Port=0xff; keys=~SW_Port; switch(keys) { case 0x01:sound(0);break; case 0x02:sound(1);break; case 0x04:sound(2);break; case 0x08:sound(3);break; case 0x10:sound(4);break; case 0x20:sound(5);break; case 0x40:sound(6);break; case 0x80:sound(7);break; } } } void sound(unsigned char x) { unsigned char i ; LED=SW_Port; for(i=0;i〈60;i++) { buzzer=0;delay8us(tone[x]); buzzer=1;delay8us(tone[x]);} LED=0xff; } void delay8us(unsigned char x) { unsigned char i,j; for(i=0;i〈x;i++) for(j=0;j<1;j++); } 结 束 语 单片机作为一门软硬件相结合的学科,让许多像我这样的非电子专业的学生头疼不已。起初,我也属于一个比较“怕硬"的计算机学生,由于大一大二的数电模电没学好,所以一提到硬件方面的东西,我就觉得头疼。最初听余老师讲的单片机的课的时候,属于余老师每问必倒的学生之一。因此,最初对于这门课并没有多少兴趣.最初从指令系统,寻址方式,到单片机的内部资源,一点概念都没有。虽然每次课都看着大屏幕,听着老师讲课,但还是觉得整门课听的比较吃力。我觉得单片机作为微型计算机的一种,必然和计算机有一定的共性。后来有一段时间,我在课余的时间去旁听了几堂韩建民老师的《计算机组成原理》,对计算机的指令系统和寻址方式有了点认识,再回过头来看单片机的指令系统的时候觉得慢慢的有头绪了,不再像原先那样摸不着头脑。实验课做实验的时候也不再像之前那样呆在实验室不知道该干什么.当我第一次在试验仪上成功的调试出三角波的程序,看到示波器上的三角波图形,突然觉得单片机也是蛮有意思的,那种感觉就像第一次用C—FREE第一次在计算机上编写出第一个“Hello world”程序一样。之后也就开始慢慢加紧补前面落下的知识。到要做课程设计的时候,发现依然学到用时方恨少,到图书馆里借书,上网查资料,费了不少劲才完成这次课程设计,虽然做的蛮吃力的,但通过这次课程设计我比较好的对指令系统,内部资源和人机交互的知识大体复习了一遍,发现了不少缺漏,很好的补缺补漏了一遍.因为平时时间没合理的安排和利用,课程设计到了最后这一周才完成,可能有不少缺漏或者错误,希望老师加以批评指正.在此,我要对要求我们做这次课程设计的余老师致以衷心的感谢,因为余老师给了我一次难得的锻炼的机会。最后,我还要感谢韩建民老师和电子071的张琦同学,他们曾多次不厌其烦地为我解答了不少疑惑,使我在对指令系统的理解上少走了不少弯路。 文档为个人收集整理,来源于网络 参考文献 [1]张鑫,华臻,陈书谦.单片机原理与应用.(M).电子工业出版社,2009,6 [2]肖婧。单片入门与趣味实验设计(M)。北京航空航天大学出版社,2008,4 [3]陈明荧.8051单片机课程设计实训教材(M).清华大学出版社,2004,3 [4]赵建领。51系列单片机开发宝典(M)。电子工业出版社,2007,4 [5]求是科技.8051系列单片机C程序设计完全手册(M).人民邮电出版社,2006,4 [6]楼然苗,李光飞.51系列单片机设计实例(M) .北京航空航天大学出版社,2003,3 [7]百度百科。音符(Online) 。 http://baike.baidu。com/view/373613.htm?fr=ala0_1_1- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 电子琴 课程设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文