




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要:电子琴是现代电子科技与音乐结合的产物,是一种新型的乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。我们设计的这个红外遥控电子琴以单片机做为主控核心,与蜂鸣器、红外遥控器相连。这个设计主要是利用单片机的定时器,使它产出不同的频率,调整频率来产生相应的音调。在红外遥控器上有21个键,按纵向顺序分别对应电子琴三个音阶的1-7音。目 录一、需求分析 3二、总体设计 3三、详细设计 12四、收获 15五、附录 16一、需求分析大家都知道当物体振动时,能够发出声音。振动的频率不同,声音的音调就不同。在简易电子琴里有许多特殊的电装置,每个电装置一工作,就会使喇叭发出一定频率的声音。当按动某个琴键时,就会使与它对应的电装置工作,从而使喇叭发出某种音调的声音。简单的说就是按键触发信号发给处理器,再由处理器调用音色库音色通过功放电路输出或者通过数码接口进行数字输出。振荡器是根据需要产生一定频率的振荡信号,振荡信号通过分频器分解成不同频率的信号输送到放大器,放大器将信号放大,推动扬声器发出声音。按下遥控器的一个键,就等于接通一只开关,只允许某一种频率的信号通过到放大器里去,扬声器就发出一个音来。这样,按照一定的演奏规律来按键,就能奏出美妙的音乐来。利用定时器可发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同音调。其次,定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平,由于定时参数不同,就发出不同频率的脉冲。当系统扫描到红外遥控器上有键按下,则快速检测出是哪个键被按下,然后单片机的定时器被启动,发出一定频率的脉冲,然后蜂鸣器发出一个音调。 二、总体设计红外遥控器21个按键P32口P15口蜂鸣器STC89C521、红外遥控发射电路结构框图:2、红外遥控发射电路管脚图:3、红外遥控发射电路管脚说明:管脚号符号输入输出功能描述23、24、16KI0-KI7I键扫描输入端7REMO数据输出管脚(遥控输出)8Vdd电源正极9SELI选择管脚10OSCOO振荡器管脚(输出)11OSCII振荡器管脚(输入)12Vss电源负极13LMPO输出LED指示(呈闪烁状态)2114KI/O0KI/O7I/O键扫描输入/输出管脚22CSSI键扫描输入4、红外遥控发射电路编码方式:WD6122 所发射的一帧码含有一个引导码,16位的用户编码和8位的键数据码、键数据码的反码也同时被传送。引导码由一个9ms的载波波形和4.5ms的关断时间构成,它作为随后发射的码的引导,这样当接收系统是由微处理器构成的时候,能更有效地处理码的接收与检测及其它各项控制之间的时序关系。编码采用脉冲位置调制方式(PPM)。利用脉冲之间的时间间隔来区分“0”和“1”。每次8位的码被传送之后,它们的反码也被传送,减少了系统的误码率。5、红外遥控发射电路遥控输出波形:WD6122 的输出波形如下图所示:6、红外遥控器键码图:初始化设置:#include #include #define uchar unsigned char#define uint unsigned intuint code yindiao=63625,63833,64019,64104,64260,64400,64524, /低音 64580,64685,64778,64820,64898,64968,65030, /中音 65058,65110,65157,65178,65217,65252,65283; /高音uchar n,ms,num;void qiuzhi(uchar num);void delay(uchar x); void beep(uchar ms);void delay1(uchar x);sbit IRIN = P32; /红外接收器数据线sbit BEEP = P15; /蜂鸣器驱动线uchar IRCOM7;红外接受函数:void IR_IN() interrupt 0 using 0 uchar j,k,N=0; EX0 = 0; /关掉外部中断防止中断的再次发生进入检测引导码阶段(9ms的低电平4.5ms的高电平) delay(15); if (IRIN=1) EX0 =1; /9ms的检测检测结束从新打开外部中断 return; /确认IR信号出现 while (!IRIN) /等IR变为高电平,跳过9ms的前导低电平信号。 delay(1); for (j=0;j4;j+) /收集四组数据 for (k=0;k=30) EX0=1; return; /0.14ms计数过长自动离开。 /高电平计数完毕 IRCOMj=IRCOMj 1; /数据最高位补“0” if (N=8) IRCOMj = IRCOMj | 0x80; /高电平持续时间大于1.12ms则数据最高位补“1” N=0; if (IRCOM2!=IRCOM3) / 判断有没有误码(有责放弃没有判断键码) EX0=1; return; switch(IRCOM2) case 0x45: num=0;qiuzhi(num);ms=n;break;case 0x44: num=1;qiuzhi(num);ms=n;break; case 0x07: num=2;qiuzhi(num);ms=n;break;case 0x16: num=3;qiuzhi(num);ms=n;break;case 0x0c: num=4;qiuzhi(num);ms=n;break;case 0x08: num=5;qiuzhi(num);ms=n; break;case 0x42: num=6;qiuzhi(num);ms=n;break;case 0x46: num=7;qiuzhi(num);ms=n;break;case 0x40: num=8;qiuzhi(num);ms=n;break;case 0x15: num=9;qiuzhi(num);ms=n;break; case 0x19: num=10;qiuzhi(num);ms=n;break;case 0x18: num=11;qiuzhi(num);ms=n;break; case 0x1c: num=12;qiuzhi(num);ms=n;break; case 0x52: num=13;qiuzhi(num);ms=n;break;case 0x47: num=14;qiuzhi(num);ms=n;break;case 0x43: num=15;qiuzhi(num);ms=n;break;case 0x09: num=16;qiuzhi(num);ms=n;break;case 0x0d: num=17;qiuzhi(num);ms=n;break;case 0x5e: num=18;qiuzhi(num);ms=n;break;case 0x5a: num=19;qiuzhi(num);ms=n;break; case 0x4a: num=20;qiuzhi(num);ms=n;break;default: break; beep(ms); EX0 = 1; 计算频率函数:void qiuzhi(uchar num)n=(65536-yindiaonum)/30;蜂鸣器函数:void beep(uchar ms)/蜂鸣器 unsigned char i; for (i=0;i120;i+) delay1(ms); BEEP=!BEEP; /BEEP取反 BEEP=1; /关闭蜂鸣器延时函数:void delay(unsigned char x) /x*0.14ms unsigned char i; while(x-) for (i = 0; i13; i+) void delay1(unsigned char x) /x*0.03ms unsigned char i; while(x-) for (i = 0; i3; i+) 主函数:void main() IRIN=1; /I/O口初始化 BEEP=1; IE = 0x81; /允许总中断中断,使能 INT0 外部中断 IT0=1; while(1);三、详细设计(硬件(和cpu的连法)软件(扫描方式,具体的值)连线图: CPU 蜂鸣器 红外 振荡电路程序流程图:开始初始化设置判断是否有键按下查看是哪个键被按下,并跳到相应的程序段调用子程序结束四、收获通过两个多星期的课程设计,从选题到查资料,从完善原理图到写报告文档,让我明白了课程设计是名副其实的综合性训练,不仅要运用学过的单片机技术及应用,还要学会查阅各种图书资料和工具书,并将新知识和所学的结合起来为自己所用。要注意积累每次的体会和错误,下次碰到该注意的地方就要小心点,碰到出过错误的地方就要格外注意不要再犯同样的错误,这种方法可以适用做任何一件事。在设计中遇到一些困难和问题,在向老师请教和与同学的讨论中,解决了问题,觉得很有收获。在为期两周的课程设计当中,感触最深的便是实践联系理论的重要性,当遇到实际问题时,我们要学会结合书本知识、查阅资料才能解决问题。运用所学的知识,一步一步的去探索,才可以解决遇到的问题。本次实习使我们对电子元件及电路设计有一定的感性和理性认识;培养和锻炼我们的实际动手能力。使我们的理论知识与实践充分地结合,作到不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC GUIDE 71:2014 EN Guide for addressing accessibility in standards
- 【正版授权】 IEC 60245-6:1994 EN-D Rubber insulated cables - Rated voltages up to and including 450/750 V - Part 6: Arc welding electrode cables
- 古诗文阅读拓展:初中教材同步教学
- 教育机构教师聘任及教学管理合同
- 六一公司庆祝活动方案
- 六一商铺活动方案
- 六一布置公司活动方案
- 六一晨练活动方案
- 六一民警送礼物活动方案
- 六一活动排桌子活动方案
- 【MOOC】环境资源法学-西南政法大学 中国大学慕课MOOC答案
- 居家护理的形式家庭病床
- 燕罗智能网联汽车产业园建筑方案设计
- 特许经营合作合同
- 人教版九年级物理 14.3能量的转化和守恒(学习、上课课件)
- 江苏省徐州市贾汪区2023-2024学年七年级上学期期中考试数学试卷(含解析)
- 《港口粉尘在线监测系统建设技术规范(征求意见稿)》编制说明
- 品质巡检个人工作计划
- 医院采购委员会管理制度
- 设备管道 防腐保温施工方案
- DZ∕T 0214-2020 矿产地质勘查规范 铜、铅、锌、银、镍、钼(正式版)
评论
0/150
提交评论