单片机课程设计--简易电子琴设计

单片机课程设计--简易电子琴设计

ID:9531580

大小:50.79 KB

页数:16页

时间:2018-05-02

单片机课程设计--简易电子琴设计_第1页
单片机课程设计--简易电子琴设计_第2页
单片机课程设计--简易电子琴设计_第3页
单片机课程设计--简易电子琴设计_第4页
单片机课程设计--简易电子琴设计_第5页
资源描述:

《单片机课程设计--简易电子琴设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、郑州轻工业学院计算机与通信工程学院单片机与接口技术课程设计总结报告设计题目:简易电子琴设计学生姓名:毛二松系别:计算机与通信工程学院专业:电子信息科学与技术班级:09-01学号:7指导教师:韩雪琴杨永双2011年12月26日16/16简易电子琴设计电子琴概述这次设计的电子琴与市场上的电子琴相比虽然音色逊了一点,但是其物美价廉,功能强大,携带方便,深受大家喜欢。此次课程设计的电子琴是有4*4矩阵键盘来实现发音,其中4个键是功能键,剩下的12键实现真正的发音。此外在电子琴的功能上又加上了音乐播放功能、选择歌曲、暂停以及录音回放功能,使电子琴变得更强大。让电子琴

2、不再是简单的弹出音调简单的电子琴,而是一个功能齐全的电子琴。本设计功能1.通过矩阵键盘能够弹出美妙的音乐。2.通过功能切换,能够切换到音乐播放器功能3.能够把弹出的音乐录制下来,并且还能够回放出来。本设计的仿真图16/16引脚描述:矩阵键盘接的是P3口,显示部分的段控制口接的是P0口,位控制口接的是P2.0、P2.1、P2.2、P2.4、P2.5,蜂鸣器接的P2.3口。各种功能键如图所示。返回是否暂停是否选择下一曲进入音乐播放返回是否录音功能选择是否回放通过键盘弹音乐进入电子琴功能初始化开始设计的流程图16/16我负责的模块主程序:也就是本程序的整体构造、

3、功能构造。主程序程序:voidmain(){init();//初始化while(1){keyscan();//调用键盘扫描display();//显示if(key_function==1)//如果选择音乐播放{switch(count){case1:play(music1,music1_L);break;//播放第一首case2:play(music2,music2_L);break;//播放第二首case3:play(music3,music3_L);break;//播放第三首}}else//否则选择为电子琴{if(key_record==2)//判断是

4、否回放replay(record,record_L);}}}录音功能。录音程序和键盘扫描再一个模块中。功能描述:它能够把你所弹的音调、按下键盘的时间即音长以及键与键之间的时间给记录下来,它完全模拟了现实中电子琴的功能,功能之强大。时间的记录是利用定时器1实现的。定时器0是产生一定频率的方波,使蜂鸣器发出不同的音调。本功能程序:voidkeyscan()//键盘扫描:线反转法{ucharh,l;//h:行l:列if(key_record==1&&flag==0)//记录键与键之间的时间{TH1=(65536-5000)/256;TL1=(65536-5000

5、)%256;16/16TR1=1;flag=1;}P3=0xf0;//列全置低电平,行全置高电平h=P3&0xf0;while(h!=0xf0)//若有键按下则行会出现低电平{delay(10);//按键去抖P3=0xf0;//列全置低电平,行全置高电平h=P3&0xf0;while(h!=0xf0){if(key_record==1)//如果有按键按下,则把按键前的时间记录下来{TR1=0;//关闭计时record_L[b]=a;//把按键前的时间记录下来a=0;//时间次数清零b++;//下标加一}h=P3&0xf0;//读入行值P3=0x0f;//电

6、平反转l=P3&0x0f;//读入列值k=h+l;switch(k){case0xee:temp=0;key_function++;if(key_function==2)key_function=0;break;//功能选择按钮case0xed:temp=0;count++;next_flag=1;if(count==4)count=1;break;//选曲按钮case0xeb:temp=0;key_record++;if(key_record==3)key_record=0;break;//录音、回放、返回case0xe7:temp=0;pause++;

7、if(pause==2)pause=0;break;//case0xde:temp=6;break;//6case0xdd:temp=7;break;//716/16case0xdb:temp=11;break;//11case0xd7:temp=12;break;//12case0xbe:temp=13;break;//13case0xbd:temp=14;break;//14case0xbb:temp=15;break;//15case0xb7:temp=16;break;//16case0x7e:temp=17;break;//17case0x7d:

8、temp=21;break;//21case0x7b:temp=2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。