单片机课程设计电子琴报告.docx

上传人:碎****木 文档编号:96668493 上传时间:2024-02-25 格式:DOCX 页数:15 大小:138.23KB
返回 下载 相关 举报
单片机课程设计电子琴报告.docx_第1页
第1页 / 共15页
单片机课程设计电子琴报告.docx_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《单片机课程设计电子琴报告.docx》由会员分享,可在线阅读,更多相关《单片机课程设计电子琴报告.docx(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、摘要微型运算机的显现和大量利用将人类社会带入一个的时期,单片微型运算机(简称单片机)在其中扮演着格外重要的角色。尽管它没有常见的PC 那样大的体积和重量,可不能在办公桌或操纵台上占据一个显要的位置,但它就像小小的螺丝钉一样,镶嵌在人们工作、生活中需要计算、操纵、测量等智能活动的各个角落。自 20 世纪 70 年月问世以来,单片机以其体积小、靠得住性高、操纵功能强、利用便利、性能价钱比高、简洁产品化等特点,在智能仪表、机电一体化、实时操纵、散布式多机系统、家用电器等各个领域取得了普遍应用,对各个行业的技术改造和产品的更换代起着重要的推动作用,对人们生活质量的提高产生了深刻的阻碍。作为21 世纪的

2、工科大学生,学好单片机,一方面能够加深对运算机原理和构造的生疏,另一方面也为自身在专业上的深切进展构筑了一个特地好的平台,其重要性怎么强调都不为过。关键字:单片微型运算机、普遍应用、重要性名目:第一节 前言3电子琴概述3本设计任务3系统要紧功能3其次节 方案论证4操纵模块方案选择4按键方案选择4第三节 原理介绍4简易电子琴工作原理4电子琴实现原理5音符工作原理5第四节 设计说明6系统硬件设计说明6系统软件设计说明7第五节 系统调试9第六节 终止语10附录 1:电路原理图10附录 2:仿真图11附录 3:程序11附录 4:音符与频率对应表14第一节 前言简易电子琴构造组成:电子乐器的构造较为简单

3、,音源是晶体管产生的电振动,并通过音色回路而产生各类音色:同时由周波数调制产生颤音成效,由振幅调制产生各类乐器的音效。乐器特色:属于电子乐器,发音音量能够自由调剂。音域较宽,和声丰硕, 乃至能够演奏出一个管弦乐队的成效,表现力机械丰硕。它还能够仿照多种音色, 乃至能够奏出常规乐器无法发出的声音如人声,风雨声等。另外,电子琴在独奏是 ,还能够随便配上类似冲击乐音响的节拍伴奏,适合于演奏节拍性较强的现代音乐。另外,电子琴还安装有混响、回声、延长音、震音和颤音等多项功能装置,表达各类心情时运用自如。简易电子琴是电声乐队的中坚力气,常用于独奏主旋律并伴以丰硕的和声。还常作为独奏乐器显现,具有鲜亮时期特

4、色。但电子琴的局限性也是格外明显: 旋律与和声缺乏音量转变,过于协和、单一;在仿照各类馆、弦乐器时,音色还不够传神,仿照提琴类乐器的音色时,失真度更大,还需要不断改进。电子琴概述这次的电子琴是由 4*4 组成 16 个按钮矩阵,设计成 16 个音。然后再用一个音频放大模块来使音乐播出的声音变大。通过这 16 个键的随便组合可随便弹奏想要表达的音乐,利用很简洁。本设计任务(1) 由 4X4 组成 16 个按钮矩阵,设计成 16 个音。(2) 可随便弹奏想要表达的音乐。系统要紧功能由4X4组成16个按钮矩阵,设计成16个音。可随便弹奏想要表达的音乐。 具体进程:当系统扫描到键盘上有键子被按下,那么

5、快速检测出是那一个键子,然后单片机的按时器被启动,发出必定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。假设在前一个按下的键发声的同时有另一个键被按下,那么启用中断系统,前面键的发音停顿,转到后按的键的发音程序,发出后按的键的音。其次节 方案论证操纵模块选择方案方案一:用可控硅制作电子琴。将 220V 沟通电经变压器降压,再通过整流、滤波,取得+直流电压。将单向可控硅 SCR 和电阻、电容组成驰张振荡器电路。但该设计方案制作本钱高且简单。方案二: 承受 AT89C51 单片机进展操纵,由于 AT89C51 不具有 ISP 功能,因此 Atmel 公司已经停产在市面上已经

6、不常见,何况其ROM 只有 4K 在系统以后升级方面没有潜力。方案三:承受 AT89S52 单片机进展操纵,由于其性价比高,完全知足了本作品智能化的要求,它的内部程序存储空间到达 8K,使软件设计有足够的内部利用空间而且便利往后系统升级,利用便利,抗干扰性能提高。鉴于上述比照与分析,本设计承受方案三按键选择方案传统电子琴能够用键盘上的“1”到“A”键演奏从低 SO 到高 DO 等 11 音。该设计有 16 个按钮矩阵,设计成 16 个音,能够实现音阶在低音 4-高音 5 之间。比传统音阶范围大,弹奏成效好。第三节原理介绍简易电子琴工作原理:大伙儿都明白当物体振动时,能够发作声音。振动的频率不同

7、,声音的声调就不同。在简易电子琴里,尽管没有振动的弦、簧、管等物体,却有很多特别的电装置,每一个电装置一工作,就会使喇叭发出必定频率的声音。当按动某个琴键时,就会使与它对应的电装置工作,从而使喇叭发出某种音调的声音。简洁的说确实是按键触发信号发给处置器,再由处置器挪用音色库音色通过功放电路输出或通过数码接口进展数字输出。操纵面板上的按钮来选择处置器对音色、音量、输出方式、伴奏的操纵。振荡器是依照需要产生必定频率的振荡信号,振荡信号通过度频器 分解成不同频率的信号输送到放大器,放大器将信号放大,推动扬声器发作声音。键盘事实上确实是一些开关,假设是没有键盘,很多种频率信号一齐进到放大器里,通过扬声

8、器发出的声音就会乱七八糟,不成音乐。按下键盘的一支键,就等于接通一只开关,只许诺某一种频率的信号通过到放大器里去,扬声器就发出一个声音来。如此 ,依照必定的演奏规律来按键,就能够奏出奇特的音乐来。本设计主假设是通过对电子琴主题部份的电路进展仿照设计,到达电子琴固有的大体功能,故叫简易电子琴。利用按时器可发出不同的频率的脉冲,不同频率的脉冲经喇叭驱动电路兴旺滤波后,就会发出不同音调。其次,按时器按设置的按时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平, 由于按时参数不同,就发出不同频率的脉冲,本设计中按键一次,会发出 50 个脉冲,松开后随之延时 10 个脉冲,但在延时的 1

9、0 个脉冲期间连续检测键盘,假设现在又有键被按下,假设按下的仍为原键那么声音不变,不然键盘会译出被按下的另一个键的音调。简易电子琴实现原理要紧分为二个部份:(1) 4X4 行列式键盘识别;(2) 音乐产生的方式;一首音乐是很多不同的音阶组成的,而每一个音阶对应着不同的频率,如此咱们就能够够利用不同的频率的组合,即可组成咱们所想要的音乐了,固然关于单片机来产生不同的频率超级便利,咱们能够利用单片机的按时/计数器 T0 来产生如此方波频率信号,因此,咱们只要把一首歌曲的音阶对应频率关系弄正确即可。音符工作原理一首音乐是由很多不同的音符组成的,而每一个音符对应着不同的频率,如此就能够够利用不同频率的

10、组合,加以与拍数对应的延时,组成音乐。音符的实现:乐曲中不同的音符实质上表示的是不同频率的声音。在单片机中要发出不同频率的声音,只要产生不同频率的脉冲,再通过喇叭等播放出来即可。又由于方波简洁用按时器产生,故一样单片机利用方波脉冲。(1) 单片机产生不同频率脉冲信号的原理:要产生音频脉冲,只要算出某一音频的脉冲 1/频率,然后将此周期除以 2,即为半周期的时刻,利用按时器计时那个半周期的时刻,每当计时到后就将输出脉冲的 I/O 反相,然后重复计时此半周期的时刻再对I/O 反相,就能够够在I/O 脚上取得此频率的脉冲。可依照以以下图明白得本设计使单片机工作于 12MHZ 时钟频率,利用其按时/计

11、数器 T0,工作模式为1,转变计数值 TH0 和 TL0 能够产生不同频率的脉冲信号:例如,频率为 524Hz,其周期为 1/523 S=1908uS,因此只要令计数器计时 954, 在每计数 954 次时就将 I/O 反接,就可取得中音 DO524Hz。其计数值 N 能够依照以下公式取得:2N=Fi/FrFi 为内部时钟频率,Fr 为对应音符频率 而单片机按时器所需的估量数值 T=65536-N=65536-Fi/2/Fr计算举例:设 F=1000000=Fi=1MHz,求低音 DO262Hz、中音 DO523Hz、高音 DO1046Hz的计数值。T=65536-N=65536-Fi/2/F

12、r=6/2/Fr=65536-500000/Fr低音 DO 的 T=65536-500000/262=63628 中音 DO 的 T=65536-500000/523=64580 高音 DO 的 T=65536-500000/1047=65059第四节 设计说明系统硬件设计及说明硬件设计的任务是依照整体设计要求,在选择的机型的根底上,具体确信系统中所要利用的元器件,设计出系统的原理框图、电路原理图。该设计要实现一种由单片机操纵的电子琴,单片机工作于 12MHZ 时钟频率, 利用其按时/计数器 T0,工作模式为 1,转变计数值TH0 和 TL0 能够产生不同频率的脉冲信号。系统板硬件连线(1)

13、把“单片机系统”区域中的端口用导线连接到“播放模块”区域中的 SPK IN 端口上;(2) 把“单片机系统“区域中的端口用8 芯排线连接到“4X4 行列式键盘”区域中的 C1C4R1R4 端口上;整体硬件组成框图:播放模块蜂鸣器中心掌握模块AT89C52按键掌握模块按键模块4. 2 系统的软件设计说明一、系统主程序流程图:图 8系统主程序流程图二、按键子程序流程图:A.低音模块KEY1 键按下播放 DO 低音对应频率262HZKEY2 键按下播放 RE 低音对应频率294HZKEY3 键按下播放 MI 低音对应频率330HZKEY4 键按下播放 FA 低音对应频率349HZKEY5 键按下播放

14、 SO 低音对应频率392HZKEY6 键按下播放 LA 低音对应频率440HZKEY7 键按下播放#6LA#低音对应频率466HZKEY8 键按下播放 SI 低音对应频率494HZKEY9 键按下播放 DO 中音对应频率524HZKEY10 键按下播放 RE 中音对应频率588HZKEY11 键按下播放 MI 中音对应频率660HZKEY12 键按下播放 FA 中音对应频率698HZKEY13 键按下播放 SO 中音对应频率784HZKEY14 键按下播放 LA 中音对应频率880HZKEY15 键按下播放#6LA对应频率932HZKEY16 键按下播放 SI 中音对应频率988HZ第五节

15、系统调试在调试进程中,刚开头下载到开发板上,声音有点不对,通过改一代码, 最终试成功了,有 16 个声调。但我用仿真画图,由于不熟习那 Proteus,结果仿真不成功。只是刚开头响了一下,就不响了后来通过认真检查觉察我错用了开关,我画图时用的是拨动开关,实际要用按钮开关。悔改来后,再下载程序,结果和我在开发板上一样的成效。最终调试成功了。第六节 终止语通过一再整理,整个课程设计任务最终完成了。从打算设计题目到最终定稿, 尽管花的时刻很多,但不管是程序设计,开发板调试,仍是仿真这些学问都有了 进一步的稳固和生疏。其实算起来咱们学单片机的时刻并非算很多,刚开头想到 要自己设计程序真的感觉好难,感觉

16、自己会的真的很少,但整个进程下来以后, 觉察又找回了自信的我。其中最深的体会确实是,不管咱们学什么做什么,“不懂、可不能”永久不是借口,只要想学就没有可不能的,像这次设计进程中,也遇到了很多的问题,假设是在设计之前我确信是两个字“可不能”就舍弃不做了,这次固然就不一样了, 遇到不懂可不能的就找资料、问同窗,信任自己有力量去把它完成,加上以急躁恒心。要做好一件事,就不要怕铺张时刻,不埋怨不懂,要有所收成固然就要有付出。VCCC1BLRQPNPx120030PC2Y12MLSx2C330PRSTSPEAKERR1U220ESLECTRO2BL12345678RST 9 P3.010 P3.111

17、P3.212 P3.313 P3.414 P3.515 P3.616 P3.717 x2 18x1 1920P10P11 P12 P13 P14 P15 P16 P17 RESETRXD/P3.0 TXD/P3.1 INT0/P3.2 INT1/P3.3 T0/P3.4 T1/P3.5 WRP/ 3.6 RD/P3.7 XTAL2 XTAL1 GNDAT895C1VCCP00 P01 P02 P03 P04 P05 P06 P07EA/VP ALE/P PSENP27 P26 P25 P24 P23 P22 P21 P20403938373635343332313029282726252423

18、2221VCCP3.3附录 1:RSTR310KS12S8S4S0SW3SW9SW5SW1P3.4SW S14SW S10SW S6SW S2P3.5SW S15SW S11SW S7SW S3P3.6SWSWSWSWP3.7P3.2P3.1P3.0图 2 电子琴原理图VCC附录 2:附录 3:程序#include“sbit beel = P10;unsigned char TH0_data = 0; unsigned char TL0_data = 0;/* 概念说明:概念频律*/ unsigned int code table8=262,293,329,349,392,440,466,49

19、4;/* 函数说明:按时器初始化*/ void timer0_initTMOD = 0x01; TH0 = 0xFF; TL0 = 0xFF; ET0 = 1;TR0 = 0;EA = 1;/* 函数说明:中断效劳函数*/ void Time_INT interrupt 1beel = beel;TH0 = TH0_data;TL0 = TL0_data;/* 函数说明:键盘扫描处置,有返回值函数*/ unsigned char Key(void)unsignedchari=0;unsignedcharj=0;unsignedchark=0;unsigned char KK = 0; P3 =

20、 0x0F;i = P3;P3 = 0xF0; j = P3;k = i|j;switch(k)casecase case case0xEE: KK0xDE: KK0xBE: KK0x7E: KK=1;break;2;break; 3;break; 4;break;case case case case0xED: KK0xDD: KK0xBD: KK0x7D: KK=5;break; 6;break; 7;break; 8;break;case case case case0xEB: KK0xDB: KK0xBB: KK0x7B: KK=9;break; 10;break; 11;break;

21、 12;break;case case case case0xE7: KK0xD7: KK0xB7: KK0x77: KK=13;break; 14;break; 15;break; 16;break;returnKK;/* 函数说明:主函数*/ void main(void)unsigned char i = 0; unsigned int PL_data =0 ; beel=0;timer0_init;P3 = 0xFF;while(1)i = Key; if(i = 0)beel = 0;TR0 =0;elseif(i 8)elsePL_data = tablei - 9*2;PL_da

22、ta = tablei -1;PL_data = 65536-(50000/PL_data)*10; TH0_data = PL_data 8;TL0_data = PL_data & 0x00FF; TR0 = 1;附表 4:音符与频率对应表“#表”示半音,用于上升或下降半个音音符频率Hz简谱码 T 值低 1DO26263628低 2RE29463835低 3MI33064103低 4FA34964103低 5SO39264260低 6LA44064400#646664463低 7SI49464524中 1DO52364580中 2RE578FC9F;中 3MI659FD09;中 4FA698FD34中 5SO784FD82中 6LA880FDC8#6LA#932中 7SI988FE06

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁