欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    单片机电子琴单片机课程设计.docx

    • 资源ID:16246125       资源大小:146.78KB        全文页数:13页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机电子琴单片机课程设计.docx

    1、单片机电子琴单片机课程设计郑州科技学院单片机课程设计题 目:基于51单片的声光电子琴设计学生姓名: 苏梦强 专业班级: 电子科学与技术 学 号:201131074 院 系:电气工程学院 指导教师: 饶美丽 完成时间:2015年1月9日 一、设计任务与要求1.1 设计任务实现电子琴发声控制系统;要求电路实现如下功能:利用蜂鸣器作为发声部件,两个数码管作为显示部件,设置10个按键,实现高音、中音、低音的1、2、3、4、5、6、7的发音。并在存储一首歌曲的内容,可以实现自动播放。说明:单片机的工作时钟频率为11.0592MHz。1.2 设计要求设计一个带有复位电路,晶振时钟,能显示音调字符的8键电子

    2、琴。1.3 设计意义该设计具有以下优点:1) 可以方便得知播放的音符和音调;2) 比传统电子琴功能更完善;制作简单,成本低二、方案总体设计本次课程设计的课题是基于51单片机的电子琴的设计,所要达到的要求如下:1)利用蜂鸣器作为发声部件。2)一个数码管作为显示部件。3)设置8个按键,实现高音、中音、低音的1、2、3、4、5、6、7、8的发音。本次设计主要是要通过软硬件的配合实现电子琴的上述功能,操作人员可以通过按下键盘上任意一个键来发出相应的音符。2.1 方案对比AT89C51具有高速度、低电压、低功耗、且可靠性和成本都比较低的特点。因此本次课程设计采用AT89C51单片机作为整个电路核心控制器

    3、件。对于本控制系统使用一片AT89C51系列的单片机,不需要外扩展存储器,就能实现显示、预制状态、动态调节的功能,因而整体结构简单。设计电路时运用89C51系列单片机的接口来实现各种输入、输出功能。P2.7待定部分口用作输出口,向发声电路输出信号;P1口和P0口共同实现一个键盘的功能。方案一:采用单个的逻辑器件组合我们知道计数器8253可以产生任意频率的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率与计数器的频率对应起来就可通过计数器产生音乐了。根据本实验要求,采用8279将键扫描得到的键值通过查表得到相应的8253的频率值,将从8253得到相对应的按键弹奏信号经过LM386进行放大,再

    4、用喇叭输出,就实现了简易电子琴的基本功能,也就完成了实验的要求方案二:用VHDL语言编程来实现利用我们实验室先进的数字电路实验设备,我们可以采用VHDL语言编程来实现。我们可以通过VDHL语言,对实验原理图的各个部分进行设计,通过编译,可以在计算机上下载此实验原理图,利用电路学习机上的芯片。我们很快就可以设计出一个简单的电子琴。并实现其功能。方案三:采用AT89C51单片机采用AT89C51单片机作为主控芯片,设置键盘、蜂鸣器等外围器件,另外还用到一些简单器件如:一位数码管,和PNP型三极管等。利用按键实现音符和音调的输入;一位的数码管进行被操作的按键显示:用PNP型三极管实现低音频功率放大;

    5、最后用蜂鸣器发音。方案比较:方案一采用单个的逻辑器件组合实现。这样虽然比较直观,逻辑器件分工鲜明,思路也比清晰,一目了然,但是由于元器件种类、个数繁多,而过于复杂的硬件电路也容易引起系统的精度不高、体积过大等不利因素。例如七个不同的音符是由七个不同的频率来控制发出的,所用仪器之多显而易见。方案二采用VHDL语言编程来实现电子琴的各项功能。系统主要由电子琴发声模块、选择控制模块和储存器模块组成。和方案一相比较,方案二就显得比较笼统,虽然我们可以看到用超高速硬件描述语言VHDL的优势,但本质上它只是把整个系统分为了若干个模块,而不牵涉到具体的硬件电路。方案三与前两种方案相比,主控芯片采用AT89C

    6、51单片机,它是大规模集成电路技术发展的产物,具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。同时具有强大的控制功能和灵活的编程实现特性,由于本设计主要用于人们娱乐方面,因此在设计上尽量使其安全以及简单易操作。而第三种方案具有经济可行性、技术可行性、实物应用性。所以我们选择第三种方案。2.2总体设计设计总体框架图如图1所示图1 单片机总体框架图2.3 总体方案工作原理由AT89C51的P1口8个按键控制DO,RE,MI,FA,SO,LA,XI,DO的各个音符,在由位于P0口的一位数码管显示出来,同时位于P37口的蜂鸣器发出声音。发音原理:若要产生音频脉冲,只要算出某一音频的周期

    7、,再将周期除以2,即为半周期的时间。利用定时器记时半周期时间,每当记时终止后就将P37反相,然后记时再反相。就可在P37上得到此频率的脉冲。利用AT89C51的内部定时器使其工作计数器模式下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶。三、软件设计3.1 系统流程在绘制传统流程图时注意几点:1) 熟练绘制传统流程图的基本元素,三种基本结构的流程图标准画法2) 将复合条件转为多个单一条件3) 循环注意初值、变化和终止4) 算法的重点实现一定体现出来程序流程如图12所示: 图12 程序流程图3.2延时源代码void DelayMS(uint x) uchar t; while(x-)

    8、 for(t=0;t120;t+);3.3 发音源代码void Play(uchar y) uchar i; for(i=0;i100;i+) BEEP=BEEP;/对蜂鸣器电平求反DelayMS(y); BEEP=1;/给蜂鸣器一个高电平3.3单个按键源代码: if(K1=0) DelayMS(10); /按键去抖动 if(K1=0) num=1; P0=tablenum; Play(1); while(!K1);3.4所有程序代码#include /调用单片机头文件#define uchar unsigned char /无符号字符型 宏定义 变量范围0255#define uint un

    9、signed int /无符号整型 宏定义 变量范围065535sbit beep = P25; /蜂鸣器定义sbit K1=P10;/给P10定义,控制DO的发音sbit K2=P11;/给P11定义,控制XI的发音sbit K3=P12;/给P12定义,控制LA的发音sbit K4=P13;/给P13定义,控制SO的发音sbit K5=P34;/给P34定义,控制FA的发音sbit K6=P35;/给P35定义,控制MI的发音sbit K7=P36;/给P36定义,控制RE的发音sbit K8=P37;/给P37定义,控制DO的发音sbit K9=P20;/音乐播放按键uchar flag

    10、_en = 0; /开始放歌uchar flag_i = 0;/数码管段选定义 0 1 2 3 4 5 6 7 8 9 uchar code smg_du=0xde,0x90,0xcd,0xd9,0x93,0x5b,0x5f,0xd0,0xdf,0xdb/ A B C D E F 不显示 ; /断码 uchar m,n; uchar code T492=0,0,0xF8,0x8B,0xF8,0xF2,0xF9,0x5B,0xF9,0xB7,0xFA,0x14,0xFA,0x66,0xFA,0xB9,0xFB,0x03,0xFB,0x4A,0xFB,0x8F,0xFB,0xCF,0xFC,0x0

    11、B,0xFC,0x43,0xFC,0x78,0xFC,0xAB,0xFC,0xDB,0xFD,0x08,0xFD,0x33,0xFD,0x5B,0xFD,0x81,0xFD,0xA5,0xFD,0xC7,0xFD,0xE7,0xFE,0x05,0xFE,0x21,0xFE,0x3C,0xFE,0x55,0xFE,0x6D,0xFE,0x84,0xFE,0x99,0xFE,0xAD,0xFE,0xC0,0xFE,0x02,0xFE,0xE3,0xFE,0xF3,0xFF,0x02,0xFF,0x10,0xFF,0x1D,0xFF,0x2A,0xFF,0x36,0xFF,0x42,0xFF,0x4

    12、C,0xFF,0x56,0xFF,0x60,0xFF,0x69,0xFF,0x71,0xFF,0x79,0xFF,0x81;uchar code music12=0,4, /青花瓷0,4,24,4,24,4,21,4,19,4,21,4,14,8,19,4,21,4,24,4,21,4,19,16,0,4,24,4,24,4,21,4,19,4,21,4,12,8,19,4,21,4,24,4,19,4,17,16,0,4,17,4,19,4,21,4,24,4,26,4,24,4,22,4,24,4,21,4,21,4,19,4,19,16,0,4,17,4,19,4,17,4,17,4,1

    13、9,4,17,4,19,4,19,4,21,8,24,4,21,4,21,12,0,4,24,4,24,4,21,4,19,4,21,4,14,8,19,4,21,4,24,4,21,4,19,16,0,4,24,4,24,4,21,4,19,4,21,4,12,8,19,4,21,4,24,4,19,4,17,16,0,4,17,4,19,4,21,4,24,4,26,4,24,4,22,4,24,4,21,4,21,4,19,4,19,12,12,4,21,8,19,4,19,8,17,16,0xFF,0xFF;四、系统仿真与调试4.1 仿真软件简介Proteus是由LabcenterEl

    14、ectronics开发的功能强大的单片机仿真软件,现在最新版本6.9 SP5。Proteus与其他的仿真软件相比较,在下面的优点:1)能仿真模拟电路、数字电路、数模混合电路;2)能绘制原理图、PCB图;3)几乎包括实际中所有使用的仪器4)其最大的亮点在于能够对单片机进行实物级的仿真。从程序的编写,编译到调试,目标版的仿真一应俱全。支持汇编语言和C语言的编程。还可配合Keil C实现程序的联合调试,将Proteus中绘制的原理图作为实际中的目标板,而用Keil C集成环境实现对目标板的控制,与实际中通过硬件仿真器对目标板的调试几乎完全相同,并且支持多显示器的调试,即Proteus运行在一台计算机

    15、上,而KeilC运行在另一台计算机上,通过网络连接实现远程的调试。4.2软件调试调试主要方法和技巧:通常一个调试程序应该具有至少四种性能:跟踪、断点、查看变量、更改数值。整个程序是一个主程序调用各个子程序实现功能的过程,要使主程序和整个程序都能平稳运行,各个模块的子程序的正确与平稳运行必不可少,所以在软件调试的最初阶段就是把各个子程序进行分别调试。仿真电路图图15所示:图15 仿真图另附实物图如图16图17所示:4.3 使用说明1)单片机分别接VCC和GND使单片机处于供电状态。2)接上TXD和RXD将程序导入单片机中。3)按下六角开关,可到指示灯亮后,即可通过按键控制发音了,数码管也会随按键

    16、变化显示出相应的数字。五、设计总结总体来说,此次单片机课程设计使我们收获良多,虽然课程设计的过程中遇到了很多困难与问题,但我们最终还是完成了设计的任务及要求。具体来说可以分为以下几点:第一,不够细心,不够严谨(如因为粗心大意而焊错线);第二,因对课本理论的掌握度不够导致编程出现错误;第三,硬件方面,刚开始有的程序模块不能实现预期的效果,对于有的硬件,在实物制作过程中焊了比较多的排线,同时对于整体各元器件的布局都有很高的要求。不过在向同学请教,各方面都有了不同程度的改善;第四,在做人方面,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力和决心,有足够的挑战困难的勇气,就没有什么办不到的。这

    17、次课程设计中,经过我们的努力,在仿真软件和实物上都实现了7个音符的发声,使我们有了一定的成就感,也使我们进一步熟悉和掌握了单片机的内部结构和工作原理,了解了单片机应用系统设计的基本方法和步骤, 掌握了单片机仿真软件Proteus的使用方法和键盘、显示器在的单片机控制系统中的应用,同时也掌握了撰写课程设计报告的方法。总之,通过这次课程设计,我们都清楚明白了自己的能力有多深,想提高还得归于多锻炼,多动手,多向别人学习。尤其在做各种东西时应该要特别的仔细小心,比如我在进行电路焊接时就将数码管搞错了,本应使用的共阴数码管被拿成了共阳数码管,然后发光二极管的极性焊反了,焊接的铁丝没有完全焊牢等问题,给自

    18、己和老师造成了许多不必要的麻烦,大大的浪费掉了宝贵的时间,这都是不应该出现的。而对于一些软件来说,就必须了解软件各个方面的性质,不然,在一些小问题中也有可能造成不必要的错误。另外,自己在理解老师所说的很多东西方面还不是很成熟,经常会反复去问老师一些同样的问题,其原因都是自己不仔细去揣摩老师所说的话的意思,导致自己无法按老师所要求的方面去做,而要反复去问老师反复强调的问题。终上所述,这都是应该值得去注意和深思的,在做任何意见事情时,都要用百分百的态度去完成它,不能粗心大意了,不然有可能会浪费无比多的时间在一些不该出现的小问题上,比如虚焊。从这次课程设计中不仅学到了很多做事的方法也学到了许多对人生

    19、应有的态度。受益匪浅。参考文献1 张艺刚主编.单片机原理与接口技术M 北京:北京航空航天大学出版社,2005-9-1 2 胡宴如主编.模拟电子技术M 高等教育出版社,2008-2-1 3 赵利主编.数字电子技术M 冶金工业出版社,2009-1-1 4 李华.单片机C语言编程M.北京:北京航空航天大学出版社,2005-8-1.5 徐爱钧单片机原理实用教程基于Protrues虚拟仿真M北京:电子工业出版社.2009-1 6 李萍AT89S51单片机、原理、开发与应用实例M北京:中国电力出版社2008-77 张晔、王玉民等单片机应用技术M 北京:高等教育出版社2006-38 付家才等单片机控制工程实践技术M 北京:化学工业出版社2004-5附录1:总体电路原理图附录2:元器件清单序号名称型号规格数量1蜂鸣器蜂鸣器12电容10uF13电容20pf24Header, 2-PinHeader 215排阻2k16电阻10K17电阻2k18按键SW-PB109单片机AT89C51110数码管smg_1111晶振12M112PNP General Purpose Amplifier85501


    注意事项

    本文(单片机电子琴单片机课程设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开