您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于单片机的电子琴课程设计1
河河南南理理工工大大学学《单片机应用与仿真训练》设计报告------基于AT89S52单片机简易电子琴设计姓名:学号:专业班级:电信08—2班指导老师:胡治国刘巍所在学院:电气工程与自动化学院2011年11月22日河南理工大学本科课程设计报告1摘要设计的主要内容是用AT89S52单片机为核心控制元件,通过脉冲触发产生出电子音调,设计一个简易的电子琴。以单片机作为主控核心,与键盘、蜂鸣器等模块组成控制模块。该系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用与参考价值。关键词:AT89S52;单片机;脉冲触发;电子琴设计河南理工大学本科课程设计报告2目录1概述...............................................................................................................................................31.1功能简介...........................................................................................................................31.2功能的实现.......................................................................................................................31.3音乐产生原理...................................................................................................................32系统总体方案及硬件设计...........................................................................................................52.1总体方案...........................................................................................................................52.2硬件部分...........................................................................................................................52.2.1矩阵键盘部分.......................................................................................................52.2.2扬声器接口电路部分...........................................................................................63软件设计.......................................................................................................................................74Proteus软件仿真...........................................................................................................................95课程设计体会.............................................................................................................................10参考文献.........................................................................................................................................10附录1源程序代码........................................................................................................................11附录2系统原理图.........................................................................................................................19河南理工大学本科课程设计报告31概述1.1功能简介电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本简易电子琴的设计可实现的功能如下:程序中预存了一首音乐《月亮代表我的心》,通过一个独立键盘可以实现对该音乐的播放和停止操作的控制。4*4矩阵键盘的16个按键分别对应着16个不同的音符,分为高、低两个八度,当按下某一按键,会发出相应的音调。按下按键时,扬声器会发出声音,松开按键后,扬声器停止发声,按键的时间越长,发声时间越久。连续按下不同的按键,可以实现乐曲的演奏。1.2功能的实现功能的实现部分分为软件和硬件两部分来简介。1.3音乐产生原理一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,只需将一首歌的音阶和频率相对应即可。若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P1.0反相,然后重复计时再反相。就可在P1.0引脚上得到此频率的脉冲。利用AT89S52的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T=1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将I/O反相,就可得到中音DO(523Hz)。计数脉冲值与频率的关系式(如式2-1所示)是:河南理工大学本科课程设计报告4N=fi÷2÷fr2-1式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生的频率。其计数初值T的求法如下:T=65536-N=65536-fi÷2÷fr2-2例如:设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我们要为这个音符建立一个表格,单片机通过查表的方式来获得相应的数据,音符表见附录一。音乐的音拍,一个节拍为单位(C调)(如表2-1所示)表2-1曲调值表曲调值DELAY曲调值DELAY调4/4125ms调4/462ms调3/4187ms调3/494ms调2/4250ms调2/4125ms错误!未指定书签。对于不同的曲调我们也可以用单片机的定时/计数器来完成。程序流程图如图2.5。河南理工大学本科课程设计报告52系统总体方案及硬件设计2.1总体方案本设计采用4*4键盘控制通过程序产生高八度和低八度音律,要考虑到软件和硬件的匹配以及硬件电路焊接时的排版问题,否则建会带来不必要的焊接麻烦,在编程序时要注意仿真与实际电路中可能的不符,2.2硬件部分本设计硬件电路共由以下几部分构成:矩阵键盘部分;扬声器部分;AT89S52主控电路部分;独立按键部分。2.2.1矩阵键盘部分设计中采用AT89S51的并行口P3接4×4矩阵键盘,以P3.0-P3.3作输入线,以P3.4-P3.7作输出线。每个按键有它的行值和列值,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线分别通过两并行接口和CPU通信。每个按键的状态同样需变成数字量“0”和“1”,开关的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么;还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地,另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能,在本程序中,当程序检测到有键按下时,将查表使按键值与预存数据表中数据对应,并调用发声程序。图2.1矩阵键盘的连接河南理工大学本科课程设计报告62.2.2扬声器接口电路部分仿真中的扬声器一段接CPU的P2^4口,另一端接高电平。当P2^4口有电平变化时,扬声器被驱动发声。而在实物制作中,这样是难以实现功能的,需要增加模拟电路以除去多余的干扰信号。也可选用集成芯片LM386作为扬声器的驱动芯片。若使用LM386驱动扬声器,通过相应的模拟电路的设计,还可以实现音量的调节。不过,在平时做实物时,我们一般用一个三极管作为放大器,这次我采用的是8050图2.2扬声器接口电路河南理工大学本科课程设计报告73软件设计本设计使用Protues仿真软件进行仿真,在程序设计部分,包括键盘扫描程序,音乐发声程序。程序见附录1。4*4矩阵键盘是由CPU控制I/O口来实现扫描的。具体程序见附录二主程序键盘扫描部分。键盘扫描程序流程图如图2.4。程序首先给P3口赋值,然后读取P3的状态,将读取的状态值同所赋值相比较,如果二者不相同,则说明有键按下,子程序将按键值返回主程序;否则,说明没有键按下,程序继续进行下一次扫描。本系统的软件流程图如下图2.3系统主程序流程开始芯片初始化独立键盘按下?播放预存音乐休止符?矩阵键盘按下?响应对应音符否是结束否是否有键按下?是否是河南理工大学本科课程设计报告8键盘扫描程序流程图图2.4键盘扫描程序流程图音乐发声程序图2.5音乐发声程序流程图河南理工大学本科课程设计报告94Proteus软件仿真仿真电路图河南理工大学本科课程设计报告105课程设计体会将程序烧入芯片,调试成功后,可任意弹奏自己想要的旋律。本设计通过制作电子琴,将几个模块很好的融合,对使用单片机设计简易电子琴进行了分析,并了解了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。说明一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,于是我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可,然后我们利用功放电路来将音乐声音放大。遇到的问题:在刚刚焊接好后,程序烧入芯片后,发现并不发声,经检查才发现是对键盘没
本文标题:基于单片机的电子琴课程设计1
链接地址:https://www.777doc.com/doc-6102447 .html