初级组三等奖队名缤纷成员钟恒_第1页
初级组三等奖队名缤纷成员钟恒_第2页
初级组三等奖队名缤纷成员钟恒_第3页
初级组三等奖队名缤纷成员钟恒_第4页
初级组三等奖队名缤纷成员钟恒_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电子琴队名:缤 成员现通过按键控制,发出、i……等二十一个音符。该电子琴亦能够自动同时在eeprom里面,掉电不丢失。一、方案的设计和论证1、电源控制控制模(1(22、主控模51系列单片机、AVRARM等都可以实现,但是从性价比考虑,AVR系列优势比较明显,因此选用之作为主控I/O口的占用量。1602的成本中等,是值得考虑的选择。(2)128644X16个汉字,甚至可以显示图AVR单片机自带的3、音量调节模(1(2另外,在如何显示音量大小的问题上,我们采用的是以数字TA6777来驱4、功放模(1:方(2采用TDA2822放大音乐信号但是TDA2822在单电源供电下,(15、键盘输入模(1(N×M口数目是N+M,N×M(2I/O资源,故采用之。基于AtmelMega16L电子琴系统的硬件总体结构图如图1所示,主要包括处理1、处理器CMOS2PB0~PB7用于连接键盘输入(INT2用于键盘的中断输入;PD0用于连接单键开关等的操作,PC3~PC774HC595,实现串行数据转并行数据。CTC信号的模式传给功放电路,实现放音乐的功能。按下来就可以从菜单里选择刚才录入的音乐。2、该电路的工作原理是:接通K1(总电源开关,外电源接到P0)后,按动轻触开关S2,Q29012导通,VCCP_OUT一Q19013S2松开了,Q2也依然导通,电路依然S2P_IN为低电平,这是单片机可以延时一段时P_OUT置为低电平,Q1截止,Q2也同时截止,电路断开。是一块TP7666,该在老式收音机上非常常见,现在已经很难买到。该具有双路5点电平显示,而且电路原件很少。4、6×6由高电平变为低电平,由此产生一个中断;MCUK30时,置POT1=HLLLLPORT1、PORT3~6HLLL,按键S30就被唯一确定了。11IO口,这里最多只需要5IO口,这样连接一片1602只需要8IO口,节省了3IO口。具体的硬5所示。这里的功放模块采用了传统的LM386,采用该是因为LM386具有自身功耗低,电压增益可调整,电源电压范围大,外接元件少和总谐波失真小等优点,尤其是在增益为20DB时使用的原件极少。具体的单路连接如下图6所示。音音 1)降147C升C调来说77#defineucharunsignedchar#defineuintunsignedint#definevucharvolatileunsignedchar#definevuintvolatileunsignedint#definerecord_max160vucharkey_int=0,mode_fr=0,counter_en_fr=0,pop_en_fr=0;vucharrow=0,scrollbar=1,volume,temp,delayMs,tonality,tone;vucharinttemp;ucharmusicLength,recordLength;uintbell_standard_time;vuintcounter_ms=0;vucharcounter_record;vuchar#include#include#include#include"int2.h"#include#include//1#includefun.h"#includevoid{{{if(mode_fr==1)manul();//1,手动弹奏初始化if(mode_fr==20)autoy();//模式20,自动弹奏主菜单if(mode_fr==210)demand_();//模式210,点播菜单if(mode_fr==211)demand_y(key_int);//模式211,点播演奏初始化if(mode_fr==22)order_y();//模式22,顺序弹奏if(mode_fr==31)record_check();//31,if(mode_fr==32)rey();//模式32,放音if(mode_fr==50)settings();//50,设置菜单if(mode_fr==51)settings1();//51,设置拍长}}}voidvoiddelay(uint/*_delay_ms*/);voidint2_init(void);ucharkey_line(uchar);ucharkey_search(uchar);ucharkey_find(void);voidkey_int2(void); (uchar);voidwrite_data(uchar);voidclear(void);voidvoidentry_mode_set(uchar,ucharvoiddisy_on_off(uchar,uchar,uchar);voidshift(uchar,uchar);voidset_function(uchar,uchar,uchar);voidset_address(uchar,uchar);voidvoidscreen_same(uchar,uchar,uchar);voidscreen_one(uchar,uchar);voidvoidshow_(constuchar*,constuchar*);voidshow_vol(void);voidshow_screen(constuchar*,uchar,constuchar*,uchar);voidshow_saving(void);void_move(uchar voidall_init(void);void(void);voidvoidmanul_check(void);voiddelay_check(uint);voidtonality_c(uchar);voidbell_init(void);voidautovoiddemand_(void);voiddemand_y(ucharvoiddemand_y_check(uchar,uchar);voidbell_music(uchar,uchar);voidvoidrecord_check(void);voidrey(void);voidsettings(void);voidsettings1(void);voidsettings2(void);voidorder_y(void);voidoutorder_y(void);ucharout_order(void);voidpower_init(void);void#define_nop{}{uint_delay_i,_delay_j;}#pragmainterrupt_handlerkey_int2:iv_INT2#pragmainterrupt_handlerpower_off:iv_INT0#defineINTPORT10#defineINTPORT2#defineINT_2#defineINTPORT3#defineINTPORT4#defineINTPORT5#defineINTPORT66#defineton10x16#defineton20x26#defineton30x36#defineton40x46#defineton50x56#defineton60x66#defineton70x13#defineton80x15#defineton90x25#defineton100x35#defineton110x45#defineton120x55#defineton130x65#defineton140x23#defineton150x14#defineton160x24#defineton170x34#defineton180x44#defineton190x54#defineton200x64#defineton210x33#definekeysleep0x61#definekeyreturn0x51#definekey0x52#definekeyreset0x62#definekeyvolOn0x11#definekeyvolDn0x12#definekeyUp#definekeyDn0x42#definekeyfun10x21#definekeyfun20x31#definekeyfun30x22#definekeyfun40x32#definekeyrey0x63#definekeypause0x53#definekeyres0x43#pragmaconst constucharpower_0[12]=" GOODBYE";constucharpower_1[15]="poweroff:3s";constuchar constucharmanul_0[14]="ManulMode constucharmanul_1[9]="Tonality:";constucharrecord_0[14]="Recordington";constucharrey_0[14]="Reyington";constucharsaving[9]="Saving...";constucharIc_0[][15]={{"Whichmodedo{"wantto{"1.Manual {"2.Auto {"3.Record constucharIc_20[][15]={{"1.ymusic {"2.yin{"3.yout constuchar e {"4.ybyconstucharIc_50[][16]={{"1.Beat constucharIc_51[][15]={{"1.1200ms/Beat{"2.1100ms/Beat{"3.1000ms/Beat{"4.900ms/Beat{"5.800ms/Beat{"6.700ms/Beat{"7.300ms/BeatconstucharIc_52[][15]={{"1.C {"2.D {"3.E {"4.F {"5.G constucharbjhyn_title[]=" constuchardemand_title[]="Ony";constucharlegend_title[]="Legend constucharmyth_title[]="Myth constucharyBm_title[]="yByMe constuchar#pragmavoid}ucharkey_line(ucharuchar{{case0:INT2TEMP=0x10;break;case1:INT2TEMP=0x20;break;case3:INT2TEMP=0x30;break;case4:INT2TEMP=0x40;break;case5:INT2TEMP=0x50;break;case}}return}ucharkey_search(ucharucharkey_temp,key_sure=0;{{}}{{}}returnkey_sure;}ucharucharint2Temp=0;{}return}void//mode_fr:0.1.manul20.auto//211.demandy31.record32.re{{casekeyfun1:mode_fr=1;break;casekeyfun2:mode_fr=20;break;casekeyfun3:mode_fr=31;break;casekeyfun4:mode_fr=50;break;casekeycasekeyDn:break;casekeyreset:break;default}}if(pop_en_fr==0)//{{{case{screen_one(0x2a,'');write_data('');delay(2);write_data('');}case{screen_one(0x2a,'');write_data('');delay(2);write_data('');}case{screen_one(0x2a,'');write_data('');delay(2);write_data('');}case{screen_one(0x2a,'');write_data('');delay(2);write_data('');}case{screen_one(0x2a,'');write_data('');delay(2);write_data('');}case{screen_one(0x2a,'');write_data('');delay(2);write_data('');}case{screen_one(0x2a,'');write_data('');delay(2);write_data('');}case{screen_one(0x2a,'');write_data('');delay(2);write_data('');}case{screen_one(0x2a,'');write_data('');delay(2);write_data('');}case{screen_one(0x2a,'');write_data('');delay(2);write_data('');}case{screen_one(0x2a,'');write_data('');delay(2);write_data('');}case{screen_one(0x2a,'');write_data('');delay(2);write_data('');}case{screen_one(0x2a,'');write_data('');delay(2);write_data('');}case{screen_one(0x2a,'');write_data('');delay(2);write_data('');}case{screen_one(0x2a,'');write_data('write_data('');delay(2);}case{screen_one(0x2a,'');write_data('write_data('');delay(2);}case{screen_one(0x2a,'');write_data('write_data('');delay(2);}case{screen_one(0x2a,'');write_data('write_data('');delay(2);}case{screen_one(0x2a,'');write_data('write_data('');delay(2);}case{screen_one(0x2a,'');write_data('write_data('');delay(2);}case{screen_one(0x2a,'');write_data('write_data('');delay(2);}case{}case{}casekey:mode_fr=0;break;casekeyreturn:mode_fr=0;break;casekeyreset:mode_fr=9;break;default:}}}{{{casekeyreturn:mode_fr=0;break;casekey:mode_fr=0;break;casekeyfun1:mode_fr=210;break;casekeyfun2:mode_fr=22;break;casekeyfun3:mode_fr=23;break;casekeyUp:casekeyDn:casekeyreset:mode_fr=9;break;default:key_int=0;}}}if(pop_en_fr==0)//{{{casekeyreturn:mode_fr=20;break;casekey:mode_fr=0;break;casekeyfun1:mode_fr=211;break;casekeyfun2:mode_fr=211;break;casecasecasekeyUp:casekeyDn:casekeyreset:mode_fr=9;break;default:key_int=0;}}}{{{//case//casekeyvolDn:pro1=vol_c;break;casekeyvolOn:{}case{}casekeyfun3:break;casecasekeyreturn:mode_fr=210;break;casekey:mode_fr=0;break;casekeyreset:mode_fr=9;break;//case}}}{{{//case//casekeyvolDn:pro1=vol_c;break;casekeyvolOn:{}case{}casekeyfun3:break;casecasekeyreturn:mode_fr=210;break;casekey:mode_fr=0;break;casekeyreset:mode_fr=9;break;//case}}}{{{//case//casekeyvolDn:pro1=vol_c;break;casekeyvolOn:{}case{}casekeycasekeyDn:break;casekeyfun3:break;casekeyfun4:break;casekeyreturn:mode_fr=20;break;casekey:mode_fr=0;break;casekeyreset:mode_fr=9;break;//case}}}{{{//case//casekeyvolDn:pro1=vol_c;break;casekeyvolOn:{}case{}casekeycasekeyDn:break;casekeyfun3:break;casekeyfun4:break;casekeyreturn:mode_fr=20;break;casekey:mode_fr=0;break;casekeyreset:mode_fr=9;break;//case}}}{{{}{//case//casecase{}case{}casekeyreturn:mode_fr=0;break;casekeyrey:mode_fr=32;break;casekeyreset:mode_fr=9;break;casekey:mode_fr=0;break;caseton1:{write_data('');delay(2);write_data('');{}caseton2:{write_data('');delay(2);write_data('');{}caseton3:{write_data('');delay(2);write_data('');{}caseton4:{write_data('');delay(2);write_data('');{}caseton5:{write_data('');delay(2);write_data('');{}caseton6:{write_data('');delay(2);write_data('');{}caseton7:{write_data('');delay(2);write_data('');{}caseton8:{screen_one(0x21,'');write_data('');{}caseton9:{screen_one(0x21,'');write_data('');{}caseton10:{screen_one(0x21,'');write_data('');{}caseton11:{screen_one(0x21,'');write_data('');{}caseton12:{screen_one(0x21,'');write_data('');{}caseton13:{screen_one(0x21,'');write_data('');{}caseton14:{screen_one(0x21,'');write_data('');{}caseton15:{screen_one(0x21,'');write_data('');delay(2);{}caseton16:{screen_one(0x21,'');write_data('');delay(2);{}caseton17:{screen_one(0x21,'');write_data('');delay(2);{}caseton18:{screen_one(0x21,'');write_data('');delay(2);{}caseton19:{screen_one(0x21,'');write_data('');delay(2);{}caseton20:{screen_one(0x21,'');write_data('');delay(2);{}caseton21:{screen_one(0x21,'');write_data('');delay(2);{}}{}}}{{{//case//case//case:;break;casekeyvolOn:{}case{}casekeyreturn:mode_fr=0;break;casekeyreset:mode_fr=8;break;casekey:mode_fr=0;break;}}}/*{}

casekeyvolOn:pro1=vol_c;break;casecasekeyreset:pro1=;pop_en_fr=1;break;{{{casekeyfun1:mode_fr=51;break;casekeyfun2:mode_fr=52;casekeyreturn:mode_fr=0;break;casekey:mode_fr=0;break;casekeyreset:mode_fr=9;break;default}}}{{{caseton1:mode_fr=50;bell_standard_time=1200;EEPROMwrite(4,1);break;caseton2:mode_fr=50;bell_standard_time=1100;EEPROMwrite(4,2);break;caseton3:mode_fr=50;bell_standard_time=1000;EEPROMwrite(4,3);break;caseton4:mode_fr=50;bell_standard_time=900;EEPROMwrite(4,4);break;caseton5:mode_fr=50;bell_standard_time=800;EEPROMwrite(4,5);break;caseton6:mode_fr=50;bell_standard_time=700;EEPROMwrite(4,6);break;caseton7:mode_fr=50;bell_standard_time=300;EEPROMwrite(4,7);break;casekeycasekeycasekeyreturn:mode_fr=50;break;casekey:mode_fr=0;break;casekeyreset:mode_fr=9;break;default}}}{{{caseton1:mode_fr=50;tone=0;EEPROMwrite(5,0);break;caseton2:mode_fr=50;tone=1;EEPROMwrite(5,1);break;caseton3:mode_fr=50;tone=2;EEPROMwrite(5,2);break;caseton4:mode_fr=50;tone=3;EEPROMwrite(5,3);break;caseton5:mode_fr=50;tone=4;EEPROMwrite(5,4);break;casekeyUp:break;casekeycasekeyreturn:mode_fr=50;break;casekey:mode_fr=0;break;casekeyreset:mode_fr=9;break;default}}}}#defineDDR_TS#definePORT_TSPORTC#defineDDR_DAT_TSDDRC#definets1620_rs0#definets1620_rw#definets1620_en#definets1620_rs_hPORT_TS|=(1<<ts1620_rs)#definets1620_rs_lPORT_TS&=~(1<<ts1620_rs)#definets1620_rw_hPORT_TS|=(1<<ts1620_rw)#definets1620_rw_lPORT_TS&=~(1<<ts1620_rw)#definets1620_en_hPORT_TS|=(1<<ts1620_en)#definets1620_en_lPORT_TS&=~(1<<ts1620_en)#defineSDI#defineOE#defineRCK#defineSCK#defineSDI_HPORT_TS|=1<<SDI#defineSDI_LPORT_TS&=~(1<<SDI)#defineOE_HPORT_TS|=1<<OE#defineOE_LPORT_TS&=~(1<<OE)#defineRCK_HPORT_TS|=1<<RCK#defineRCK_LPORT_TS&=~(1<<RCK)#defineSCK_HPORT_TS|=1<<SCK#defineSCK_LPORT_TS&=~(1<<SCK) )//1602{uchari; //5951602{ }}voidwrite_data(ucharts1620_data)//1602{uchari;{}}void{}

void{}光标和显示模式设置voidentry_mode_set(ucharid,ucharsh){ucharset_temp=4;}//D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:B:控制光标是否闪烁,高电平{ucharset_temp=8;}//S/C:高电平时移动显示的文字,低电平时移动光标voidshift(ucharsc,ucharright){ucharset_temp=0x10;}//DL84//F:5x75x10voidset_function(uchardl,ucharn,uchar{ucharset_temp=0x30;}voidset_address(ucharset_addre,uchar{}voidts1620_init()//1602{

}{}}voidscreen_one(ucharaddrOne,uchar}voidwrite_data('');}voidshow_(constuchar*p,constucharuchari;{}elsewrite_data('');delay(2);{}elsewrite_data('}void}voidshow_screen(constuchar*p,ucharshowStemp1,constuchar*q,uchar{}{}}void{}}#definebell_o#definebell_dDDRD&=(~0X30)void {}voidtonality_c(uchartonC)//{{case0:bell_d;break;caseton8:tonC=8;break;casecaseton10:tonC=10;break;caseton11:tonC=11;break;caseton12:tonC=12;break;caseton13:tonC=13;break;caseton14:tonC=14;break;caseton1:tonC=1;break;caseton2:tonC=2;break;caseton3:tonC=3;break;caseton4:tonC=4;break;caseton5:tonC=5;break;caseton6:tonC=6;break;caseton7:tonC=7;break;caseton15:tonC=15;break;caseton16:tonC=16;break;caseton17:tonC=17;break;caseton18:tonC=18;break;caseton19:tonC=19;break;caseton20:tonC=20;break;case}{casecase8:OCR1A=1434;break;case9:OCR1A=1277;break;case10:OCR1A=1137;break;casecase12:OCR1A=956;break;case13:OCR1A=852;break;case14:OCR1A=758;break;case1:OCR1A=2867;break;case2:OCR1A=2555;break;case3:OCR1A=2275;break;case4:OCR1A=2148;break;case5:OCR1A=1912;break;case6:OCR1A=1704;break;case7:OCR1A=1517;break;case15:OCR1A=716;break;case16:OCR1A=638;break;case17:OCR1A=568;break;case18:OCR1A=537;break;case19:OCR1A=478;break;case20:OCR1A=426;break;case21:OCR1A=379;break;case22:OCR1A=358;break;case23:OCR1A=319;break;case24:OCR1A=284;break;case}}{{case1:bell_tonality=ton1;break;case2:bell_tonality=ton2;break;case3:bell_tonality=ton3;break;case4:bell_tonality=ton4;break;case5:bell_tonality=ton5;break;case6:bell_tonality=ton6;break;case7:bell_tonality=ton7;break;case8:bell_tonality=ton8;break;case9:bell_tonality=ton9;break;case10:bell_tonality=ton10;break;case11:bell_tonality=ton11;break;case12:bell_tonality=ton12;break;casecase14:bell_tonality=ton14;break;case15:bell_tonality=ton15;break;case16:bell_tonality=ton16;break;case17:bell_tonality=ton17;break;case18:bell_tonality=ton18;break;case19:bell_tonality=ton19;break;case20:bell_tonality=ton20;break;case21:bell_tonality=ton21;break;}}{}}{{casekey{}casekey{}}} {ucharwel_temp; {}{}{}}void()//主菜{{{{}}}}voidmanul_check()//{{write_data('write_data('write_data('write_data('write_data('');delay(2);}}{{case0:temp='C';break;case1:temp='D';break;case2:temp='E';break;case3:temp='F';break;case4:temp='G';break;}}voidautoy()//

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论