已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的电子琴设计河南理工大学单片机应用与仿真训练设计报告基于单片机的电子琴设计姓 名: 学 号: 专业班级: 指导老师: 所在学院: 2011年6月27日摘要本文讲述基于单片机的简易电子琴设计流程及制作原理。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。AT89S52是一种低功耗、高性能CMOS的8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。本系统是以单片机AT89S52为主控制器,附有独立式键盘、4位LED显示管、扬声器等组成。系统完成显示输入信息、播放相应音符并能播放一首已经存储的音乐等基本功能。整个系统设计过程主要包括收集相关资料,网上查阅,根据已有系统进行改进,并加入需要的功能,融入自己的思想之后在proteus下进行仿真,仿真正确且运行稳定后开始进行元器件的焊接。最终完成系统的实物制作,使各器件在单片机的控制下能够播放一首歌曲,并能根据相应按键发出17个音节的高、中、低音,且数码管能够显示出所按下的按键以及对应的是高中低音的哪一组音频。完成实物制作后对整个制作过程进行思路整理,编写设计报告。本系统运行稳定,硬件电路简单,软件功能完善,控制系统可靠,性价比较高。关键词:AT89S52,独立式键盘,LED显示管,扬声器。目录1 概述41.1 选择电子琴设计的原因41.2 AT89S52的强大功能41.3 电子琴所能完成的功能52 系统总体方案及硬件设计62.1 本系统设计内容62.2电子琴的发生原理以及如何改变音色的基本原理62.3系统组成72.4系统总体方案82.5系统硬件设计93 软件设计113.1本系统的软件流程图113.2 键盘扫描程序113.3 功能转移程序113.4琴键处理程序123.5自动播放歌曲程序:124 实验仿真135课程设计体会14参考文献15附1:源程序代码16附2:系统原理图231 概述1.1 选择电子琴设计的原因首先是始于对电子琴的好奇,用自己所学的单片机知识来完成自己喜欢的东西,能够给自己很大的制作与学习动力。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,它在现代音乐扮演着重要的角色。同时又由于自己对音乐的喜欢,利用所学知识让单片机能够播放自己喜欢的音乐。音乐是用艺术家用音符记录世界,传达情感的一种艺术形式,音乐里有一种和谐之美,听音乐可以让人心情舒畅,与外界和谐统一。音乐现在已经成为我生活中很重要的一部分。单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。本系统是简易电子琴的设计,按下键盘中的按键会使数码管显示当前按键,扬声器播放对应的音符。通过设计本系统可了解单片机的基本功能,同时对单片机有更深的认识。1.2 AT89S52的强大功能(1)与MCS-51单片机产品兼容;(2)8K字节在系统可编程Flash存储器;(3)1000次擦写周期;(4)全静态操作:0Hz-33MHz;(5)三级加密程序存储器;(6)32个可编程I/O口线;(7)三个16位定时器/计数器;(8)六个中断源;(9)全双工UART串行通道;(10)低功耗空闲和掉电模式;(11)掉电后中断可唤醒;(12)看门狗定时器;(13)双数据指针;(14)掉电标识符1.3 电子琴所能完成的功能(1)能够实现基本的琴键功能即每按下一个琴键,单片机能够检测到键盘的按键,并根据按键的位置,通过程序来控制,使蜂鸣器发出不同频率(音调)的声音,声音延迟一段时间后停止。然后再继续扫描,看是否有键按下,如此循环下去,即可实现基本的琴键功能。(2)能够实现数码管显示按键每按下一个按键时,单片机能够检测到所按下地按键,然后根据按键的位置通过程序控制来实现在数码管中显示相应按键。同时可根据高、中、低音控制键的按下位置,通过程序控制在4位数码管中显示出相应的0、1、2。以此来标明是高、中、低音。(3)能够实现连续播放一首音乐 在键盘上设置一个功能键,按下之后会根据功能键跳转到自动播放歌曲的程序,来连续播放相应的歌曲。2 系统总体方案及硬件设计2.1 本系统设计内容(1)独立式键盘识别。即独立式按键扫描,显示当前按键。(2)不同频率音符播放。可以通过按键控制21种发音。(3)可在按下特殊按键时连续播放一首音乐。2.2电子琴的发生原理以及如何改变音色的基本原理声音的频谱范围约在几十到几千赫兹, 若能利用程序来控制单片机某个口线不断输出高、低电平, 则在该口线上就能产生一定频率的方波, 将该方波接上喇叭就能发出一定频率的声音, 若再利用程序控制高、低电平的持续时间, 就能改变输出波形的频率从而改变音调。乐曲中, 每一音符对应着确定的频率, 下表给出各音符频率。如果单片机某个口线输出高、低电平的频率和某个音符的频率一样, 那么将此口线接上喇叭就可以发出此音符的声音。本系统就是根据此原理设计, 对于单片机来说要产生一定频率的方波大致是先将某口线输出高电平然后延时一段时间再输出低电平, 如此循环的输出就会产生一定频率的方波, 通过改变延时的时间就可以改变输出方波的频率。单片机内部有两个位的定时计数器T1和T0, 单片机的定时计数器实际上是个计数装置它既可以对单片机的内部晶振驱动时钟计数也可以对外部输入的脉冲计数, 对内部晶振计数时称为定时器, 对外部时钟计数时称为计数器。当对单片机的内部晶振驱动时钟计数时,每个机器周期定时计数器的计数值就加, 当计数值达到计数最大值时计数完毕并通知单片机的尸比对外部输入的时钟信号计数时, 外部时钟的每个时钟上升沿定时计数器的计数值就加, 当计数值达到计数最大值时计数完毕并通知单片机。因此, 如果知道单片机的机器周期或者外部输入时钟信号的周期单片机就可以根据定时器的计数值计算出定时的时间。用此方法定时十分准确, 想得到多大的延时时间就可以给定时器赋一定的计数初值, 定时器从预先设置的计数初值开始不断增当增加到计数最大值时计数完毕, 调整计数初值的大小就可以调整定时器定时的时间, 从而达到准确的延时。计数脉冲值与频率的关系式是:Nfi2fr式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生的频率。 组成键盘的按键有机械式、电容式、导电橡胶式、薄膜式多种,但不管什么形式,其作用都是一个使电路接通与断开的开关。目前微机系统中使用的键盘按其功能不同,通常可分为编码键盘和非编码键盘两种基本类型。 编码键盘:键盘本身带有实现接口主要功能所需的硬件电路。不仅能自动检测被按下的键,并完成去抖动、防串键等功能,而且能提供与被按键功能对应的键码(如ASCII码)送往CPU。所以,编码键盘接口简单、使用方便。但由于硬件电路较复杂,因而价格较贵。非编码键盘:键盘只简单地提供按键开关的行列矩阵。有关按键的识别、键码的确定与输入、去抖动等功能均由软件完成。目前微机系统中,一般为了降低成本大多数采用非编码键盘。键盘接口必须具有去抖动、防串键、按键识别和键码产生4个基本功能。2.3系统组成本系统主要以AT89S52单片机为主控核心,与键盘、扬声器、LED显示管模块一起组合而成。具体如下:单片机键盘扫描程序数码管显示程序蜂鸣器播放程序2.4系统总体方案开始模块初始化发送扫描码有键按下延时启动定时器发出声音显示按键扫描键盘结束停止/播放是否2.5系统硬件设计 (1)LED显示模块LED显示模块如下图所示,利用AT89S52单片机的P2端口的P2.0P2.7连接到一个4位数码管5461AS的AG及DP的笔段上,数码管的公共端1-4接地。按键扫描显示当前按键模块如下:(2)扬声器发声模块及音乐播放模块(3)独立式键盘模块(4)高中低音调节模块3 软件设计3.1本系统的软件流程图键盘扫描程序有键按下赋键值取键值发音取键值显示键盘键值特殊功能键播放音乐YN3.2 键盘扫描程序检测是否有键按下,有键按下则记录按下键的键值,并跳转至功能转移程序;无键按下,则返回键盘扫描程序继续检测3.3 功能转移程序对检测到得按键值进行判断,是琴键则跳转至琴键处理程序,是功能键则跳转至相应的功能程序,我们设计的功能程序有两种,即按键发音功能和自动播放音乐功能3.4琴键处理程序根据检测到得按键值,查询音律表,给计时器赋值,使发出相应频率的声音3.5自动播放歌曲程序:检测到按键按下的是自动播放歌曲功能键后执行该程序,电子琴会自动播放事先已经存放好的歌曲,歌曲播放完毕之后自动返回至键盘扫描程序,继续等待是否有键按下。一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系正确即可。利用AT89C51的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶。4 实验仿真本次课程设计使用的仿真软件是PROTEUS,其功能强大,实用性强,容易使用。以下为PROTEUS的仿真电路总图:5课程设计体会通过这次课程设计,我学到了不少课本上没有的知识,也锻炼了自己的动手能力,将以前学过的零散的知识串到一起。经过长时间的设计及调试,本系统基本能实现按下键盘中相应的按键时会使数码管显示当前按键,扬声器播放对应的音符。当按下音乐播放按键时,可以通过扬声器循环播放出已经存储的音乐但由于发声器是原因,本设计音频效果不是很好。另外一个未能解决的问题是,当按下相应按键时部分按键的按键指示灯不能正常熄灭,而且播放音符时伴有一定的杂音。我的综合设计主要涉及硬件和软件两方面的内容,通过这些我的硬件和软件开发能力都获得了提高。基本了解了电子产品的开发流程和所要做的工作。基本掌握了proteus仿真的方法。通过开发板的设计和硬件搭建的过程,使我对51系单片机的接口有了更深层次的理解,熟悉了一些单片机常用的外围电路引脚和连接方法,如LED数码管,键盘等。并且我学会了分析问题解决问题的能力,加深了对所学理论知识的理解和运用。我的动手能力得到了很大的提高,创新意识得到了锻炼。总的来说这次的课程设计收获还是很大的,刚拿到课程设计要求时感觉自己什么也不会,真得用心去做时才发现自己的单片机知识也并不是零,还是有一定基础的。经过课程设计使自己对单片机知识有了进一步的掌握,对模电知识也有了很好的回顾。当然也反应出了自己很多地方的不足,单片机基础知识还有待进一步提高,C语言编程也应该再去用心回顾下,模电学习的也不是很牢靠,总之自己还有很多的不足之处,还就再接再励提高自己的综合能力。参考文献1 郭天祥单片机学习资料机械电子工业出版社,20072 马忠梅等.单片机的C语言应用程序设计.北京航空航天大学出版社,20063 余发山等.单片机原理及应用技术.中国矿业大学出版社,20084 谭浩强.C语言程序设计(第三版).清华大学出版社,20055 艾永乐等.模拟电子技术基础.中国电力出版社,20086 尹文庆等.数字电子技术基础.中国电力出版社,20087 喻杨杨. 安徽财经大学信息工程学院本科毕业设计,2010.10/view/b8c003136c175f0e7cd1374a.html附1:源程序代码#include#defineucharunsigned charvoid Run(void);void KeyScan(void);void PlayKey(void);void delay_1ms(uchar i);void PlayMusic(void);void DisPlay(void);sbitBeep=P37;ucharTh0,Tl0; /TH0,TL0ucharflag=0xff; /模式,0表示音乐,ff表示按键ucharkey=0; /按键代号uchara;uchargaodi=0;/音乐音符ucharcodeMusicCode=0XFc,0X44,0XFc,0Xac,0XFd,0X09,0XFd,0X34,0XFD,0X82,0XFD,0Xc8,0XFD,0X06,0XFb,0X04,0Xfb,0X90,0Xfc,0X0c,0Xfe,0X22,0Xf9,0X5b,0Xfa,0x15;/月亮代表我的心ucharcodeMusic=0X02,0X82,0X16,0X32,0X54,0X02,0X52,0XA6,0X32,0X54,0X02,0X52,0X64,0X74,0XB6,0X64,0X52,0X5C,0X32,0X22,0X16,0X12,0X14,0X32,0X22,0X16,0X12,0X14,0X22,0X32,0X26,0X12,0X94,0X22,0X32,0X2C,0X32,0X52,0X36,0X22,0X14,0X54,0XAC,0X92,0XA2,0X96,0X0A2,0X96,0X82,0X3C,0X54,0X36,0X22,0X14,0X54,0XAC,0X92,0XA2,0X16,0X12,0X14,0X22,0X32,0X2C,0X02,0X82,0X16,0X32,0X56,0X12,0XA6,0X32,0X56,0X52,0X66,0X72,0XB6,0X62,0X62,0X52,0X58,0X32,0X22,0X16,0X12,0X14,0X32,0X22,0X16,0X12,0X14,0X22,0X32,0X26,0X92,0XA4,0X12,0X22,0X1C, 0XFF;/按键音符ucharcodeKeyCode=0XFF,0XFF,0xF8,0x8B,0xF9,0x5B,0xFA,0x14,0xFA,0x66,0xFB,0x03,0xFB,0x8F,0xFC,0x0B,/低音0xFC,0x43,0xFC,0xAB,0xFD,0x08,0xFD,0x33,0xFD,0x81,0xFD,0xC7,0xFE,0x05,/中音0xFE,0x21,0xFE,0x55,0xFE,0x84,0xFE,0X99,0XFE,0xC0,0xFE,0xE3,0xFF,0x02,/高音;void main(void)P1=0XFF; /初始化P0=0XFF;P2=0;TMOD=0X01;IT0=1;TR0=0;EX0=1;ET0=1;EA=1;while(1)KeyScan(); /按键扫描Run(); /运行DisPlay(); /显示void Run(void) /运行if(flag=0)PlayMusic();elsePlayKey();void KeyScan(void) /按键扫描if(P1=0XFE) /第一按键按下delay_1ms(12); /延时12MSif(P1=0XFE) /确定按下key=1;a=key;else if(P1=0XFD)delay_1ms(12);if(P1=0XFD)key=2;a=key;else if(P1=0XFB)delay_1ms(12);if(P1=0XFB)key=3;a=key;else if(P1=0XF7)delay_1ms(12);if(P1=0XF7)key=4;a=key;else if(P1=0XEF)delay_1ms(12);if(P1=0XEF)key=5;a=key; else if(P1=0XDF)delay_1ms(12);if(P1=0XDF)key=6;a=key;else if(P1=0XBF)delay_1ms(12);if(P1=0XBF)key=7;a=key;else if(P0=0XFE) /低音模式键按下delay_1ms(12);if(P0=0XFE)gaodi=0;a=gaodi;else if(P0=0XFD) /中音模式键按下delay_1ms(12);if(P0=0XFD)gaodi=1;a=gaodi;else if(P0=0XFB) /高音模式键按下delay_1ms(12)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年大数据技术与应用专业知识考试题集
- 2026年工商管理基础知识竞赛题
- 防风防汛抗旱培训课件
- 2026医学考研生理学重点难点突破习题集
- 2026年人力资源管理专业能力测试题
- 2026年教师资格证教育心理学应用题
- 2026年银行从业资格考试题库金融市场及产品应用题目
- 2026年中医基础知识初级考试模拟题
- 探索诗词之美
- 2026年政治理论与社会政策专业考核题集
- 对招标文件及合同条款的认同声明
- 物业代收水电费委托书
- 2024至2030年高强度快硬硫铝酸盐水泥项目投资价值分析报告
- 制造业企业质量管理能力评估规范
- 13J933-2体育场地与设施(二)
- DL-T-710-2018水轮机运行规程
- 电机常见故障分析及处理措施
- HGT 20714-2023 管道及仪表流程图(P ID)安全审查规范 (正式版)
- 《叉车安全作业培训》课件
- 技术入股合作协议合同
- 建筑砌筑工(中级)理论考试题库及答案
评论
0/150
提交评论