1 / 14
文档名称:

单片机论文-基于单片机的电子琴设计.doc

格式:doc   大小:192KB   页数:14页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

单片机论文-基于单片机的电子琴设计.doc

上传人:水中望月 2019/5/24 文件大小:192 KB

下载得到文件列表

单片机论文-基于单片机的电子琴设计.doc

文档介绍

文档介绍:薈单片机课程设计袅简易电子琴设计芄班级:学号:20092300246姓名:XX膁设计简介肆用键盘上的数字1~7代替电子琴键,演奏音符,音调可在低音、中音和高音之间进行切换。蚄系统介绍莄该系统采用一片51系列单片机、一个扬声器和8个按键开关。莈基于对音乐的了解,一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,我们可以利用单片机的不同频率来模拟音乐,可以利用定时/计数器T1来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。本次设计中单片机晶振为12MHZ,那么定时器的计数周期为1MHZ,假如选择工作方式1,那T值便为T=216--5﹡105/相应的频率,那么根据不同的频率计算出应该赋给定时器的计数值,可以列出不同音符与单片机计数T1相关的计数值。螈莃蒃蝿膆简易电子琴系统框图蒆硬件电路设计薃系统中8个键采用独立连接方式,有P1口接收键值,1~7号键用于控制音符。8号键用于音区切换,8号键未按下为低音,按一次为中音,按2次为高音,按第3次又回到低音。膀袈膅薃薁莆羄蚃蚈肇螃螃肈简易电子琴电路图薅程序设计螅扬声器发声的频率可由定时/计数器0的计数值确定,在程序中可定义3个音区1~7对应的计数初值,然后根据按键情况查表后对定时/计数器0的中断服务程序中对扬声器的控制端变反即可控制扬声器发出不同频率的声音。本系统软件中还要是编辑电子琴播放状态的内容,在设计中采用c51语言编写了电子琴控制系统控制和播放内容的程序。袃葿芇薄羃袀蚅芃肃芁蒇莆膂蒈腿肅膂衿薇简易电子琴程序流程图袄程序清单:节#include<>芀#include<>艿#defineucharunsignedchar蚃#defineuintunsignedint莂sfr16T0=0x8A;蚁sbitBEEP=;螆uintt0_f;蚆codeunintcharfreq[21]={蒂0x220,螇0x247,蒈0x277,蒄0x294,薂0x330,膈0x370,羆0x415,膃0x440,蚂0x494,蕿0x554,蚈0x587,芆0x659,螂0x740,羀0x831,肆0x880,肅0x988,螁0x1109,莁0x1175,袈0x1318,螄0x1480,袁0x1661,蒈};芆timer0()interrupt1薃{羁T0=t0_f;罿BEEP=~BEEP;羈}薆Voidmain(void)肁{莀Ucharkey,key8_count;蒅TMOD=0x01;莅TR0=0;膁ET0=1;螁EA=1;***While(1)膃{芁flag=0;膁key=P1;蚅for(i=0;i<8;i++)膆{莁if((_coro_(a,i)&0x01)==0)芈{莇flag=1;羅break;莁}虿}聿if(flag==1)蚄{蒀if(i==7)肀{蒇key8_count++;蒃key8_count=key8_count%3;薀}蒁else艿{