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

    电子琴设计报告Word文档下载推荐.docx

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

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

    电子琴设计报告Word文档下载推荐.docx

    1、M),每个按键占据行列的一个交点,需要的I/O口数目是N+M,容许的最大键数是NM。新型键盘,用N个I/O口以及一个中断口,可以实现NN个按键,比较节省I/O资源,故采用之。二、 系统框图基于Atmel Mega16L电子琴系统的硬件总体结构图如图1所示,主要包括中央处理器MCU、单键开关机电路,1602显示模块、功放模块、键盘模块、电平灯频谱显示模块等。三、 各模块的设计与论证1、 中央处理器MCU 中央处理器选用的是ATMega16l,ATmega16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。具体的电路连接图如图2所示。 PB0PB7用于连接键盘输入(INT2用于键盘

    2、的中断输入);PD0用于连接单键开关电路的续电;PD2(INT0)用于连接单键开关电路按键的检测;PD5用于音律PWM的输出;PC0PC7用于连接LCD1602显示输出,其中PC0PC2用于控制1602的选通、读写控制等的操作,PC3PC7连接74HC595,实现串行数据转并行数据。单片机输出频率CTC不同的信号来产生各种音符,将歌曲各个音符的转化成相应的数字信号,存放在单片机程序寄存器中,当播放音乐时,程序从该寄存器里读取数据,然后以CTC信号的模式传给功放电路,实现放音乐的功能。当要向单片机录入音乐时,通过键盘上的按键,输入不同的音符,接下来单片机可以记录下音符以及其持续的时间,然后存入程

    3、序寄存器中,当录音结束,按下“录入确认键”,按下来就可以从菜单里选择播放刚才录入的音乐。2、 单键开关机模块该电路的工作原理是:接通K1(总电源开关,外电源接到P0)后,按动轻触开关S2,三极管Q2 9012导通,VCC输出高电平,单片机接通电源工作后,第一时间给P_OUT一个高电平,三极管Q1 9013导通,这样,即使按键S2松开了,Q2也依然导通,电路依然接通。当按键S2再次按下时,单片机检测到P_IN为低电平,这是单片机可以延时一段时间后,将P_OUT置为低电平,Q1截止,Q2也同时截止,电路断开。3、电平灯频谱显示模块为了显示的效果更炫,本硬件电路特意增加了一个电平灯频谱显示模块,该模

    4、块采用的是一块TP7666芯片,该芯片在老式收音机上非常常见,现在已经很难买到。该芯片具有双路5点电平显示,而且外围电路原件很少。4、66键盘模块 该电路的工作原理是:待机时,PORT1PORT6输出高电平;当某个键按下时, PORT7由高电平变为低电平,由此产生一个中断;MCU启动按键扫描,如按下的是K30时,置PORT1=H,扫描PORT26的输入结果为LLLL,没有扫描到所需的结果;继续置PORT2=H,扫描PORT1、PORT36的输入结果为HLLL,按键S30就被唯一确定了。5、LCD1602液晶显示模块该模块的连接比较简单,但是若直接使用并行数据传送的话要用到11个IO口,这里为了

    5、节省IO口资源,使用也一片74HC595串行数据转并行数据芯片,该芯片与单片机连接最多只需要5个IO口,这样连接一片1602只需要8个IO口,节省了3个IO口。具体的硬件连接图如下图5所示。电位器RW1可用于调节背光的亮度,RW2可用于调节液晶的对比度。6、小功率功放模块这里的功放模块采用了传统的LM386芯片,采用该芯片是因为LM386具有自身功耗低, 电压增益可调整, 电源电压范围大, 外接元件少和总谐波失真小等优点,尤其是在增益为20DB时使用的外围原件极少。具体的单路连接如下图6所示。四、 软件程序流程图五、 测量与分析1(do)2(re)3(mi)4(fa)5(sol)6(la)7(

    6、si)降C131Hz147 Hz165Hz174.5Hz196Hz220Hz247Hz中央C261.5Hz293.5Hz329.5Hz349Hz392Hz440Hz494Hz升C523Hz587Hz659Hz698Hz784Hz880Hz988Hz输出音调对应的频率表按C调来说1=261.5HZ2=293.5HZ3=329.5HZ4=349HZ5=392HZ6=440HZ7=494HZ低7个音调后1=131Hz2=147Hz3=165Hz4=174.5Hz5=196Hz6=220Hz7=247Hz高7个音调后1=523Hz2=587Hz3=659Hz4=698Hz5=784Hz6=880Hz7

    7、=988Hz六、 总结 经过一翻辛苦努力,终于搞定了电子琴了。这个过程中团队合作让我们收获很多。三个同学一起做,不可能每个同学对每项内容都了解得很透彻,需要知识互补。另外,遇到困难的时候不能指望让一个同学独自解决,团队合作不崇尚单打独斗。七、 源程序主文件go.c:/主文件,包含主函数#includemacros.heeprom.h#define uchar unsigned char#define uint unsigned int#define vuchar volatile unsigned char#define vuint volatile unsigned int#define r

    8、ecord_max 160/变量定义vuchar key_int=0,mode_fr=0,counter_en_fr=0,pop_en_fr=0;vuchar row=0,scrollbar=1,volume,temp,delayMs,tonality,tone;vuchar inttemp;uchar musicLength,recordLength;uint bell_standard_time;vuint counter_ms=0;vuchar counter_record;vuchar song_4record_max2;/包含头文件/子函数清单#include function_li

    9、st.h/数据data.h/延时delay.h/键盘中断int2.h/液晶ts1620.h/发声部分bell.h/功能函数1fun.h/功能函数2fun_need_check.hvoid main() power_init();/一键关机初始化 while(1) ts1620_init();/液晶初始化 welcome();/欢迎界面 all_init();/各类变量初始化 int2_init();/键盘中断初始化 mode_fr=0;/极其的关键变量,记录状态 while(key_int!=keyreset) if(mode_fr=0)menu();/主菜单 if(mode_fr=1)man

    10、ul();/模式1,手动弹奏初始化 if(mode_fr=1)manul_check();/模式1,手动弹奏 if(mode_fr=20)autoplay();/模式20,自动弹奏主菜单 if(mode_fr=210)demand_menu();/模式210,点播菜单 if(mode_fr=211)demand_play(key_int);/模式211,点播演奏初始化 if(mode_fr=211)demand_play_check(key_int,211);/模式211,点播演奏 if(mode_fr=212)demand_play(keyfun4);/模式212,点播演奏初始化(录音部分)

    11、 if(mode_fr=212)demand_play_check(keyfun4,212);/模式212,点播演奏(录音部分) if(mode_fr=22)order_play();/模式22,顺序弹奏 if(mode_fr=23)outorder_play();/模式23,乱序弹奏 if(mode_fr=31)record();/模式31,录音初始化 if(mode_fr=31)record_check();/模式31,录音 if(mode_fr=32)replay();/模式32,放音 if(mode_fr=50)settings();/模式50,设置菜单 if(mode_fr=51)s

    12、ettings1();/模式51,设置拍长 if(mode_fr=52)settings2();/模式52,设置音阶 以下是function_list.h/各子程序清单void delay_nop(void);void delay(uint /*_delay_ms*/);void int2_init(void);uchar key_line(uchar );uchar key_search(uchar );uchar key_find(void);void key_int2(void);void write_com(uchar );void write_data(uchar );void cl

    13、ear(void);void cursor_return(void);void entry_mode_set(uchar ,uchar );void display_on_off(uchar ,uchar ,uchar );void shift(uchar ,uchar );void set_function(uchar ,uchar ,uchar );void set_address(uchar ,uchar );void ts1620_init(void);void screen_same(uchar ,uchar ,uchar );void screen_one(uchar ,uchar

    14、 );void screen_sleep(void);void show_menu(const uchar *,const uchar *);void show_vol(void);void show_screen(const uchar *,uchar ,const uchar *,uchar );void show_saving(void);void menu_move(uchar );void welcome(void);void all_init(void);void menu(void);void manul(void);void manul_check(void);void del

    15、ay_check(uint );void tonality_c(uchar );void bell_init(void);void autoplay(void);void demand_menu(void);void demand_play(uchar );void demand_play_check(uchar ,uchar );void bell_music(uchar ,uchar );void record(void);void record_check(void);void replay(void);void settings(void);void settings1(void);v

    16、oid settings2(void);void order_play(void);void outorder_play(void);uchar out_order(void);void power_init(void);void power_off(void);以下是delay.h#define _nop delay_nop()void delay_nop()/微妙级别延时函数 asm(nop);void delay(uint _delay_ms)/毫秒级别延时函数 uint _delay_i,_delay_j; for(_delay_i=0;_delay_i_delay_ms;_delay

    17、_i+) for(_delay_j=0;_delay_j1711;_delay_j+);以下是data.h/此头文件包含各类数据,data(存放在程序存储区)#pragma interrupt_handler key_int2:iv_INT2#pragma interrupt_handler power_off:iv_INT0#define INTPORT1 0#define INTPORT2 1#define INT_2 2#define INTPORT3 3#define INTPORT4 4#define INTPORT5 5#define INTPORT6 6#define ton1

    18、0x16#define ton2 0x26#define ton3 0x36#define ton4 0x46#define ton5 0x56#define ton6 0x66#define ton7 0x13#define ton8 0x15#define ton9 0x25#define ton10 0x35#define ton11 0x45#define ton12 0x55#define ton13 0x65#define ton14 0x23#define ton15 0x14#define ton16 0x24#define ton17 0x34#define ton18 0x

    19、44#define ton19 0x54#define ton20 0x64#define ton21 0x33#define keysleep 0x61#define keyreturn 0x51#define keymenu 0x52#define keyreset 0x62#define keyvolOn 0x11#define keyvolDn 0x12#define keymenuUp 0x41#define keymenuDn 0x42#define keyfun1 0x21#define keyfun2 0x31#define keyfun3 0x22#define keyfun

    20、4 0x32#define keyreplay 0x63#define keypause 0x53#define keyres 0x43#pragma data:codeconst uchar welcome_0=Welcome.;const uchar power_012= GOOD BYEconst uchar power_115= power off: 3 sconst uchar welcome_1=madByBinFenLinYeconst uchar manul_014=ManulMode tonconst uchar manul_19=Tonality:const uchar r

    21、ecord_014=Recording tonconst uchar replay_014=Replaying tonconst uchar saving9=Saving.const uchar Ic_015=Which mode do U, want to choose?1.Manual play 2.Auto play 3.Record mode 4.Setting ;const uchar Ic_2015=1.Play music on demand 2.Play in order3.Play out of order const uchar Ic_21016=1.Welcome to

    22、Beijing 2.Legend 3.Myth 4.Play by Myselfconst uchar Ic_5016=1.Beat length 2.Tone selectionconst uchar Ic_5115=1.1200ms /Beat 2.1100ms /Beat 3.1000ms /Beat 4. 900ms /Beat 5. 800ms /Beat 6. 700ms /Beat 7. 300ms /Beat const uchar Ic_5215=1.C tone 2.D tone 3.E tone 4.F tone 5.G tone const uchar bjhyn_ti

    23、tle=WelcomeToBj tconst uchar demand_title=OnPlayconst uchar legend_title=Legend tconst uchar myth_title=Myth tconst uchar playBm_title=PlayByMe tconst uchar songs2=10,0x84, 16,0x84,10,0x84,9,0x84,10,0x84,9,0x84, 10,0x88,10,0x86,9,0x82,6,0x84,8,0x84, 10,0x84,9,0x8c,9,0x84,8,0x84,6,0x84, 8,0x84,9,0x84

    24、,10,0x84,12,0x84,9,0x84, 10,0x84,13,0x84,12,0x84,5,0x84,9,0x88, 8,0x88,9,0x84,8,0x84,6,0x84,8,0x84, 9,0x84,10,0x84,12,0x84,9,0x84,10,0x84, 13,0x84,12,0x84,10,0x90,9,0x84,10,0x84, 9,0x84,8,0x84,12,0x86,13,0x82,10,0x88, 6,0x84,10,0x84,9,0x84,9,0x84,8,0x8c, 0,0x84,10,0x84,12,0x84,15,0x84,12,0x84, 13,0x8c,12,0x84,13,4,12,0x84,10,0x84, 10,0x84,12,0x84,12,0x8c


    注意事项

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

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




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

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

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


    收起
    展开