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

    基于单片机的十六音键电子琴设计概述.docx

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

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

    基于单片机的十六音键电子琴设计概述.docx

    1、基于单片机的十六音键电子琴设计概述第1章 前言1.1 系统开发背景随着电子科技的飞速发展,电子技术正在逐渐改善着人们的学习、生活、工作,因此开发本系统希望能够给人们多带来一点生活上的乐趣。基于当前市场上的玩具市场需求量大,其中电子琴就是一个很好的应用方面。单片机技术使我们可以利用软硬件实现电子琴的功能,从而实现电子琴的微型化,可以用作玩具琴、音乐转盘以及音乐童车等等。并且可以进行一定的功能扩展。鉴于传统电子琴可以用键盘上的“k0”到“k16”键演奏从低So到高DO等16个音,从而可以用来弹奏喜欢的乐曲。1.2 系统开发意义该设计具有以下优点:(1)可以随意弹奏想要表达的音乐;(2)制作简单,成

    2、本低。1.3 设计目标由于本设计主要用于人们娱乐方面,因此在设计上尽量使其安全以及简单易操作。其次,在这次设计可行性上进行分析如下:1、经济可行性:所谓经济可行性,即在这次设计上需要投入资金的多少,由于竞赛设计是没有项目资金,没有开发经费,因此在经济上必须能够承受,比较理想化的项目对于我们毕业设计来说是不可行的。通过分析后,无论是在器件价格或是常见度上均是可行的。2、技术可行性:技术可行性主要是分析技术条件上是否能够顺利开展并完成开发工作,硬件、软件能否满足设计者的需要等。通过分析各种软件环境,硬件仿真环境等均已经具备。综上所述,本系统设计目标已经明确,在经济与技术上均可行,因此本系统的开发是

    3、完全可行的。第2章 方案论证2.1 控制模块选择方案 方案一:用可控硅制作电子琴。将220V交流电经变压器降压,再经过整流、滤波,获得+13.5V直流电压。将单向可控硅SCR和电阻、电容组成驰张振荡器电路。但该设计方案制作成本高且复杂。方案二: 采用AT89C51单片机进行控制,由于AT89C51不具备ISP功能,因此Atmel公司已经停产在市面上已经不常见,况且其ROM只有4K在系统将来升级方面没有潜力。方案三:采用AT89S52单片机进行控制,由于其性价比高,完全满足了本作品智能化的要求,它的内部程序存储空间达到8K,使软件设计有足够的内部使用空间并且方便日后系统升级,使用方便,抗干扰性能

    4、提高。鉴于上述对比与分析,本设计采用方案三 2.2 按键选择方案传统电子琴可以用键盘上的“1”到“A”键演奏从低SO到高DO等11音。该设计有16个按钮矩阵,设计成16个音,可以实现音阶在低音4-高音5之间。比传统音阶范围大,弹奏效果好。第3章 系统硬件设计及说明3.1系统组成及总体框图硬件设计的任务是根据总体设计要求,在选择的机型的基础上,具体确定系统中所要使用的元器件,设计出系统的原理框图、电路原理图。该设计要实现一种由单片机控制的电子琴,单片机工作于12MHZ时钟频率,使用其定时/计数器T1,工作模式为1,改变计数值TH1和TL1可以产生不同频率的脉冲信号。该设计具有11个音节的键盘,用

    5、户可以根据乐谱在键盘上进行演奏,音乐发生器会根据用户的弹奏,通过扬声器将音乐播放出来。由于本例实现的音乐发生器是由用户通过键盘输入弹奏乐曲的,所以节拍由用户掌握,不由程序控制。用单片机产生的音频脉冲直接驱动扬声器并不能产生所要实现的音乐,因为它没有足够的驱动能力,这就需要音频功率放大电路。本例使用国家半导体公司的低压音频功率放大器LM324来实现音频功放电路。图3.1 系统结构图3.2显示电路本次设计的显示电路采用LCD液晶显示。通过单片机编程,让LCD液晶显示,以此来实现按键与显示程序的一致性。3.3部分功能模块原理图3.3.1 AT89S52模块电路原理图单片机主程序模块通过对键盘扫描程序

    6、信号的读取,在通过调出对应的子程序,取出液晶显示的编码和定时器初始值以产生不同的声音信号。在这一过程中,对液晶显示通过对数组的操作,对声音信号则是通过中断程序进行控制。图3.2 AT89S52模块电路原理图3.3.2 LCD液晶显示模块电路原理图图3.4 LCD液晶显示模块电路原理图3.3.3音频处理模块电路原理图 由于单片机驱动能力不够,在处理音符信号时,需加功率放大装置,因LM324芯片具有低功耗、高增益的特点,这合适单片机低功耗输出,所以加装LM324音频信号放大器对信号进行放大。图3.5 音频处理模块电路原理图3.3.4掉电保护电路原理图图3-7掉电保护电路原理图第4章 系统软件设计本

    7、软件设计关键是要实现一种由单片机控制的简单音乐发生器,它由16个音节组成的的键盘,用户可以根据乐谱在键盘上进行演奏,音乐发生器会根据用户的弹奏,通过扬声器将音乐播放出来。4.1音乐相关知识乐音听起来有的高,有的低,这就叫音高,音高是由发音物体振动频率的高低决定的,频率高声音就高,频率低,声音就低,不同音调的乐音是用C、D、E、F、G、A、B表示的,这7个字母就是乐音的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,这是唱曲时乐音的发音,所以叫唱名。音持续时间的长短即时值,一般用拍数表示,休止符表示暂停发音。一首音乐是由许多不同的音符组成的,而每个音符对应着不同的频率,这样就可以

    8、利用不同频率的组合,加以与拍数对应的延时,构成音乐。4.2如何用单片机实现音乐的节拍除了音符以外,节拍也是音乐的关键组成部分。节拍实际上就是音持续时间的长短,在单片机系统中可以用延时来实现,如果1/4拍的延时是0.4秒,则1拍的延时是1.6秒,只要知道1/4拍的延时时间,其余的节拍延时时间就是它的陪数。如果单片机要自己播放音乐,那么必须在程序设计中考虑到节拍的设置,由于本例实现的音乐发生器是由用户通过键盘输入弹奏乐曲的,所以节拍由用户掌握,不由程序控制。对于不同的曲调我们也可以用单片机的另外一个定时/计数器来完成。音乐的音拍,一个节拍为单位(C调)具体如下表:表4.1 音乐节拍表曲调值DELA

    9、Y曲调值DELAY调4/4125ms调4/462ms调3/4187ms调3/494ms调2/4250ms调2/4125ms4.3如何用单片机产生音频脉冲了解音乐的一些基本知识后可知,产生不同频率的音频脉冲即能产生音乐,对于单片机而言,产生不同频率有脉冲非常方便,可以利用它的定时/计数器来产生这样的方波频率信号,因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。在本实验中,单片机工作于12MHZ时钟频率,使用其定时/计数器T1,工作模式为1,改变计数值TH1和TL1可以产生不同频率的脉冲信号,在此情况下,C调的各音符频率与计数值T的对照如下表:表4.2 音符频率与计数值T的对照

    10、表音符频率(HZ)计数值(T值)音符频率(HZ)计数值(T值)低1DO26263628#4FA#74064860#1DO#27763737中5SO78464898低2RE29463835#5SO#83194934#2RE#31163928中6LA88064968低3MI33064021#6LA#93264994低4FA34964103中7SI96865030#4FA#37064185低1DO104665058低SO39264260#1DO#110965085#5SO#41564331高2RE117565110低6LA44064400#2RE#124565134#6LA#46664463高3MI

    11、131865157低7SI49464524高4FA139765178中1DO52364580#4FA#149065198#1DO#55464633高5SO156865217中2RE58764633#5SO#166165235#2RE#62264884高6LA176065252中3MI65964732#6LA#186565268中4FA69864820高7SI196765283T的值决定了TH1和TL1的值,其关系为:TL1=T%256,TH1=T/2564.4系统总体功能流程图 图4.1 主程序框图 按键子程序流程图如下:图第5章 电路仿真5.1 仿真图图5.1 仿真图第6章 PCB印制板制作

    12、6.1 印制板制作的要求(1)电源线、地线应各设置一条总线;(2)线宽尽可能的宽;(3)应减少软线跳线的使用;(4)元器件排版要均匀,按模块排版,防止各模块信号干扰;(5)铜箔线不可以产生锐角。6.2 印制电路板图图 6.1 主控电路PCB板图第7章 系统调试电路调试是整个系统功能否实现的关键步骤,我们将整个调试过程分为三大部分:硬件调试、软件调试和综合调试。7.1软件仿真调试软件仿真调试主要是针对单片机部分进行调试。在软件运行前,先确保电路中连线正确,这一工作是整个调试工作的第一步,也是非常重要的一个步骤。在这部分调试中主要通过目测,用来完成检测电路中是否存在断路或者短路情况等。在确保软件仿

    13、真电路正常,无异常情况(断路或短路)方可进行软件运行,在本次设计中,软件运行主要是测试单片机键盘控制部分、数码管点亮部分、和音频功放电路调试。1、LCD液晶电路调试:软件运行,随机按下按钮可以看到数码管显示数字;2、单片机键盘控制部分调试:软件运行,随机按动键盘可以发现各个按键对应的音正确。7.2 软件调试调试主要方法和技巧:通常一个调试程序应该具备至少四种性能:跟踪、断点、查看变量、更改数值。整个程序是一个主程序调用各个子程序实现功能的过程,要使主程序和整个程序都能平稳运行,各个模块的子程序的正确与平稳运行必不可少,所以在软件调试的最初阶段就是把各个子程序模块进行分别调试。附 录1.主要电路

    14、原理图:2.程序文件 :/*标题:液晶显示程序*日期:*作者:*版本:*/#include#include#includestring.h#include #include #include24c02.h #define uchar unsigned char#define uint unsigned int#define ulong unsigned long sbit psb = P21;sbit ret = P23;sbit P3_7=P37;uchar keyword;uint T=0;uchar i;code unsigned char sszymmh= 6,2,3, 5,2,1,

    15、3,2,2, 5,2,2, 1,3,2, 6,2,1, 5,2,1, 6,2,4, 3,2,2, 5,2,1, 6,2,1, 5,2,2, 3,2,2, 1,2,1, 6,1,1, 5,2,1, 3,2,1, 2,2,4, 2,2,3, 3,2,1, 5,2,2, 5,2,1, 6,2,1, 3,2,2, 2,2,2, 1,2,4, 5,2,3, 3,2,1, 2,2,1, 1,2,1, 6,1,1, 1,2,1, 5,1,6, 0,0,0 ; /世上只有妈妈好? code unsigned char sb=5,2,2, 3,2,1, 5,2,1, 1,3,4, 6,2,2, 1,3,2, 5

    16、,2,4, 5,2,2, 1,2,1, 2,2,1, 3,2,2, 2,2,1, 1,2,1, 2,2,6, 5,2,2, 3,2,1, 5,2,1, 1,3,2, 7,2,2, 6,2,2, 1,3,2, 5,2,4, 5,2,2, 2,2,1, 3,2,1, 4,2,2, 7,1,2, 1,2,8,6,2,2, 1,3,2,1,3,4,7,2,2, 6,2,1, 7,2,1, 1,3,4, 6,2,1, 7,2,1, 1,3,1, 6,2,1, 6,2,1, 5,2,1, 3,2,1, 1,2,1, 2,2,8, 5,2,2, 3,2,1, 5,2,1, 1,3,2,7,2,2, 6,2,

    17、2, 1,3,2, 5,2,4, 5,2,2, 2,2,1, 3,2,1, 4,2,2, 7,1,2, 1,2,8 ; /送别code unsigned char dfh=5,2,2, 5,2,1, 6,2,1, 2,2,2, 1,2,2, 1,2,1, 6,1,1,2,2,2, 5,2,2, 5,2,2, 6,2,1, 1,3,1, 6,2,1, 5,2,1, 1,2,2, 1,2,1, 6,1,1, 2,2,2, 5,2,2, 2,2,2, 1,2,2, 7,1,1, 6,1,1, 5,1,1, 5,2,2, 2,2,2, 3,2,1, 2,2,1, 1,2, 1,1,2, 1,6,1,

    18、2,2,2, 1,3,2, 1,2,2, 1,1,2, 1,2, 2,1,1, 2,1,7, 1,1,6, 1,1, 5,1,1 ;/东方红code unsigned char xyxy=6,2,2, 1,3,2, 7,2,1, 6,2,1, 5,2,1, 6,2,1, 3,2,6, 6,2,1, 5,2,1, 6,2,2, 1,3,2, 7,2,2, 6,2,1, 7,2,1, 1,3,6, 1,3,1, 2,3,1, 3,3,1, 3,3,1, 3,3,1, 3,3,1, 2,3,4, 1,3,1, 7,2,1, 6,2,1, 7,2,1, 5,2,2, 6,2,2, 1,3,2, 7,2

    19、,2, 6,2,1, 5,2,1, 6,2,6, 6,2,2, 6,2,1, 1,3,1, 7,2,2, 5,2,2, 6,2,8, 6,2,4, 3,2,1, 5,2,1, 6,2,2, 3,3,2, 2,3,1, 1,3,1, 7,2,1, 1,3,1, 1,3,6, 1,3,1, 7,2,1, 6,2,2, 6,2,1, 6,2,1, 5,2,1, 5,2,1, 6,2,2, 3,2,6, 3,2,1, 5,2,1, 6,2,2, 3,3,2, 2,3,1, 1,3,1, 7,2,1, 1,3,1, 1,3,6, 1,3,1, 7,2,1, 6,2,2, 6,2,2, 5,2,2, 7,

    20、2,2, 6,2,8;/星语心愿 code unsigned char yxdcb=5,1,1, 1,2,1, 3,2,2, 5,2,1, 3,2,2, 2,2,1, 1,2,1, 1,2,1, 1,2,1, 1,2,1, 6,1,1, 5,1,1, 5,1,1, 1,2,1, 3,2,2, 5,2,2, 5,2,1, 5,2,1, 6,2,1, 5,2,1, 5,2,1, 2,2,1, 3,2,1, 2,2,1, 1,2,1, 2,2,1, 2,2,2, 6,2,1, 5,2,1, 3,2,2, 5,2,2, 5,2,1, 5,2,1, 6,2,1, 5,2,1, 3,2,1, 2,2,1,

    21、 1,2,1, 2,2,1, 6,1,2, 5,1,1, 6,1,1, 1,2,2, 2,2,1, 3,2,1, 2,2,2, 3,2,1, 1,2,1, 1,2,4, 5,1,1, 1,2,1, 1,2,4, 3,2,1, 5,2,1, 1,3,2, 7,2,1, 1,3,1, 7,2,2, 6,2,1, 5,2,1, 6,2, 1,1,3, 1,3,2, 1,2,2, 1,1,2, 2,1,2, 1,1,2, 1,1,2, 1,1,3, 2,5,2, 1,6,2, 1,5,2, 1,2,2, 1,3,2, 1,2,2, 1,1,2, 1,2,2, 1,2,2, 4,13,2,1,5,2,

    22、1,1,3, 2,7,2, 1,1,3, 1,7,2, 2,6,2, 1,5,2, 1,6,2, 1,1,3, 1,3,2, 1,2,2, 1,1,2, 2,1,2, 1,1,2, 1,1,2, 1,1,3, 2,5,2, 1,6,2, 1,5,2, 1,2,2, 1,3,2, 1,2,2,1, 1,2,4, ;/* 功 能:显示菜单栏 */void display_menu(void) lcd_clear(); while(1) display(2,2,电子琴演奏); keyword=0; keyword=key_scan(); switch(keyword) case 0x11: lcd_

    23、clear(); display(2,4,0); T=63928; TH0=T/256; TL0=T%256; TR0=1; TR1=1; break; case 0x12: lcd_clear(); display(2,4,1); T=64021; TH0=T/256; TL0=T%256; TR0=1; TR1=1; break; case 0x14: lcd_clear(); display(2,4,2); T=64185; TH0=T/256; TL0=T%256; TR0=1; break; case 0x18: lcd_clear(); display(2,4,3); T=6433

    24、1; TH0=T/256; TL0=T%256; TR0=1; TR1=1; break; case 0x21: lcd_clear(); display(2,4,4); T=64400; TH0=T/256; TL0=T%256; TR0=1; TR1=1; break; case 0x22: lcd_clear(); display(2,4,5); T=64524; TH0=T/256; TL0=T%256; TR0=1; TR1=1; Break; case 0x24: lcd_clear(); display(2,4,6); T=64400; TH0=T/256; TL0=T%256;

    25、 TR0=1; TR1=1; break; case 0x28: lcd_clear(); display(2,4,7); T=64732; TH0=T/256; TL0=T%256; TR0=1; TR1=1; break; case 0x41: lcd_clear(); display(2,4,8); T=64777; TH0=T/256; TL0=T%256; TR0=1; TR1=1; break; case 0x42: lcd_clear(); display(2,4,9); T=64860; TH0=T/256; TL0=T%256; TR0=1; TR1=1; break; ca

    26、se 0x44: lcd_clear(); display(2,4,A); T=64934; TH0=T/256; TL0=T%256; TR0=1; TR1=1; break; case 0x48: lcd_clear(); display(2,4,B); T=64994; TH0=T/256; TL0=T%256; TR0=1; TR1=1; break; case 0x81: lcd_clear(); display(2,4,C); T=65030; TH0=T/256; TL0=T%256; TR0=1; TR1=1; break; case 0x82: lcd_clear(); display(2,4,D); T=65058; TH0=T/256; TL0=T%256; TR0=1; TR1=1; break; case 0x84: lcd_clear(); display(2,4,E); T=65110; TH0=T/256; TL0=T%256; TR0=1; TR1=1; b


    注意事项

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

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




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

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

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


    收起
    展开