单片机电子琴制作16按键
- 格式:doc
- 大小:155.00 KB
- 文档页数:20
基于51单片机的16键电子琴课程设计报告.docx
本课程设计旨在设计一款基于51单片机的16键电子琴,利用该电子琴进行乐器演奏
练习。
课程设计的目标是通过51单片机的控制,使乐器的按键实现发声功能,即在按下按
键后,将发出相应的音调,且声音质量较为清晰、拒绝杂音;同时,设计外设及程序使乐
器美观并能在一定程度上体现主人的个性操作习惯,体现出一定程度上的可定制性和稳定性。
课程设计使用MCS-51单片机作为核心芯片,搭建计算机与电子琴模块之间的桥梁,
通过控制要求,配备8位延时定时器、8位计数器/比较器和定时/计数器模块的硬件模块,通过定时/计数器去控制音色的发声数量,再加以PCB板设计,完成各模块的焊接、网络
接线,通过连接各功能模块,实现51单片机控制芯片,实现程序控制电子琴的具体功能。
最后,课程设计尝试完成女声、爵士电子琴等曲目,通过实验,充分验证设计的可行性,并发现一些在设计过程中的不足,如欠缺外设模块,无法实现一些特殊功能等,给出
相应的改善思路,以供设计实现。
在设计过程中,综合运用硬件电路设计、程序设计思维,构建整个系统的总体构架,
实现相应的电子琴演奏功能,使得本次课程设计取得了一定的成果。
基于单片机的十六音键电子琴设计毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
《单片机原理》课程设计说明书专业名称:电气工程及其自动化班级:11-2 _____________________学号:________________姓名:____________________指导教师:______________________日期:2013621《单片机原理课程设计》评阅书摘要本文设计了一种基于STC12C5A32S单片机的电子琴电路。
该方案利用单片机定时器产生固定频率的方波信号以驱动蜂鸣器发出一定的旋律,通过矩阵键盘中的相应的按键来输入使蜂鸣器发出相对音阶的单音。
同时设计还有自动存储所输入的单音,之后再一起自动演奏出来的功能。
本设计通过控制单片机定时器的定时时间产生不同频率的音频脉冲,经三极管放大信号后驱动蜂鸣器发出不同音节的声音。
要实现7个音符的各自的高、中、低音,需要建立三个表,分别存储高音、中音和低音的频率值;默认为中音输出,当二个按键开关中某一个按下,通过软件选择相应的音频。
按下弹奏键就可弹奏出不同的声音。
另外用软件延时来控制发音时间的长短,来控制节拍。
通过把乐谱中的音符和相应的节拍变换为定时常数和延时常数,作为数据表格存放在存储器中。
由程序查表得到定时常数和延时常数,分别用来控制定时器产生的脉冲频率和发出该音频脉冲的持续时间,这样就可以实现乐曲的演奏。
本设计为实物电路板设计开发,报告中详细的阐述了电子琴设计的方法和过程。
并经过软硬件的调试,该音乐发生器不但能通过键盘弹奏出很好的音调,而且还可以通过键盘选择播放不同的音乐。
本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
关键词:STC12C5A32S单片机定时器电子琴目录摘要....................... 错误!未指定书签。
第一章引言.................... 错误!未指定书签。
第二章电子琴电路硬件电路设计 02.1单片机的介绍与组成.............. 错误!未指定书签。
基于51单片机16音键电子琴设计作者:何奕飞来源:《中小企业管理与科技·上旬刊》2016年第01期摘要:本设计以51系列单片机为核心,由矩阵键盘、LED数码管、扬声器组成系统,通过脉冲信号触发产生出电子音调,系统具有显示输入信息、播放相应音符等基本功能。
系统的优点是通过软件编程控制简单的硬件电路实现设计,控制性能高,性价比高,具有一定的实用价值。
关键词:单片机;矩阵键盘;流程图电子琴是现代电子技术应用于音乐而制作的电子乐器。
单片机具有强大的控制及逻辑运算功能,以单片机为核心的电器设备已融入人们的日常生活中,如电视机、电冰箱、洗衣机、DVD、汽车音响等。
本文的主要内容是以单片机为核心器件,设计一个电子琴。
以单片机为核心与键盘、扬声器等组成电路作为核心控制模块,在控制模块上设有16个按键和扬声器。
本设计是简易电子琴的设计,当按下键盘矩阵中的按键时数码管会显示当前按钮并通过扬声器播放对应的音符。
通过本设计可掌握单片机的基本功能。
对单片机的应用会有一个质的提高。
1 系统框图及整体设计概述系统由单片机STC89C52、矩阵键盘模块、功率放大模块、扬声器、USB供电电源所组成。
系统主要完成对键盘的响应、数码管显示等功能的控制,起到总控和协调各模块之间工作的作用。
单片机通过检测键盘输出对应频率的方波,后级通过LM386对功率进行扩大从而驱动扬声器发响。
2 系统的总体方案设计根据所要实现的功能划分,系统一共需要以下几个模块:主控模块、显示模块、时钟模块、功率放大模块,以下就针对这几个模块进行讨论。
主控模块采用51系列的单片机,该单片机是一个高可靠性,超低价,无法解密,高性能的8位单片机,32个I/O口,且STC系列的单片机可以在线编程、调试,方便地实现程序的下载与整机的调试。
显示模块采用LED数码管,数码管价格便宜,具有显示数字的功能,而本系统显示设计也只需要显示数字,采用动态扫描法使数码管与单片机I/O口相连占用单片机口线少。
22. 电子琴1 •实验任务(1 •由4X4组成16个按钮矩阵,设计成16个音 (2.可随意弹奏想要表达的音乐。
2. 电路原理图图 4.22.13. 系统板硬件连线(1.把“单片机系统”区域中的P1.0端口用导线连接到“音频放大模块”区 域中的SPK IN 端口上;5-IK Is s£ 52 嶺E 曾s B 9一10VLS 自rnrr空a §s ss §s 5S <區£§■& ■ss:官益CKHFC d §2R STTL CflFz i ■Air氏疽氐氐M w &氏u>'sS.WOiw-rsswo(2.把“单片机系统“区域中的 P3.0 — P3.7端口用8芯排线连接到“ 4X4行列式键盘”区域中的C1— C4 R1— R4端口上; 4.相关程序内容1 . 4X4 行列式键盘识别; 2. 音乐产生的方法;一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我 们就可以利用不同的频率的组合, 即可构成我们所想要的音乐了, 当然对于单片 机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这 样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。
现在以单片机12MHZ 晶振为例,例出高中低音符与单片机计数 T0相关的计数值 如下表所示低音 0—19之间,中音在 20—39之间,高音在 40—59之间TABLE: DW 0,63628,63835,64021,64103,64260,64400,64524,0,0音符 频率(HQ 简谱码(T 值)音符 频率( HZ ) 简谱码(T 值) 低 1 DO 26263628 # 4 FA# 740 64860 #1 DO# 277 63731 中 5 SO 784 64898 低 2 RE 294 63835 # 5 SO# 831 64934 #2 RE# 311 63928 中 6 LA 880 64968 低 3 M 330 64021 # 6 932 64994 低 4 FA 349 64103 中 7 SI 988 65030 # 4 FA# 370 64185 高 1 DO 1046 65058 低 5 SO 392 64260 # 1 DO# 1109 65085 # 5 SO# 415 64331 高 2 RE 1175 65110 低 6 LA 440 64400 # 2 RE# 1245 65134 # 6 466 64463 高 3 M 1318 65157 低 7 SI 494 64524 高 4 FA 1397 65178 中 1 DO 523 64580 # 4 FA# 1480 65198 # 1 DO# 554 64633 高 5 SO 1568 65217 中 2 RE 587 64684 # 5 SO# 1661 65235 # 2 RE# 622 64732 高 6 LA 1760 65252 中 3 M 659 64777 # 6 1865 65268 中 4 FA69864820高 7 SI196765283下面我们要为这个音符建立一个表格, 的数据有助于单片机通过查表的方式来获得相应DW 0,63731,63928,0,64185,64331,64463,0,0,0DW 0,64633,64732,0,64860,64934,64994,0,0,0DW 0,65058,65110,65157,65178,65217,65252,65283,0,0DW 0,65085,65134,0,65198,65235,65268,0,0,0DW 02、音乐的音拍,一个节拍为单位(C调)曲调值DELAY 曲调值DELAY调4/4 125ms 调4/4 62ms调3/4 187ms 调3/4 94ms调2/4 250ms 调2/4 125ms对于不同的曲调我们也可以用单片机的另外一个定时/计数器来完成。
KEYL EQU 30H ; 定义KEYL变量,用于键盘扫描KEYR EQU 31H ; 定义KEYR变量,用于键盘扫描VAL EQU 32H ; 定义键值变量VALORG 00HJMP START ; 主程序入口ORG 0BHJMP INT_T0 ; Timer 0中断入口START:MOV TMOD,#01H ; Timer 0作定时器,模式1LSCAN: ; 键盘按键判断MOV P2,#0F0H ; 列全为1L1: ; 判断第1行JNB P2.0,L2CALL DELAYJNB P2.0,L2MOV KEYL,#00HJMP RSCANL2: ; 判断第2行JNB P2.1,L3CALL DELAYJNB P2.1,L3MOV KEYL,#01HJMP RSCANL3: ; 判断第3行JNB P2.2,L4CALL DELAYJNB P2.2,L4MOV KEYL,#02HJMP RSCANL4: ; 判断第4行JNB P2.3,L1CALL DELAYJNB P2.3,L1MOV KEYL,#03HRSCAN:MOV P2,#0FH ; 键盘行输出1C1: ; 判断第1列JNB P2.4,C2MOV KEYR,#00HJMP CALCUC2: ; 判断第2列JNB P2.5,C3MOV KEYR,#01HJMP CALCUC3: ; 判断第3列JNB P2.6,C4MOV KEYR,#02HJMP CALCUC4: ; 判断第4列JNB P2.7,C1MOV KEYR,#03HCALCU: ; 计算按键号MOV A,KEYLMOV B,#04HMUL ABADD A,KEYRMOV VAL,AMOV DPTR,#TABLE ; 装表MOV B,#2MUL ABMOV R1,AMOVC A,@A+DPTR ; 把表中计数初始值装入累加器AMOV TH0,AINC R1MOV A,R1MOVC A,@A+DPTRMOV TL0,AMOV IE,#82H ; 使能Timer 0中断SETB TR0 ; 启动TimerW0: ; 等待按键释放MOV A,P2CJNE A,#0FH,W1CLR TR0 ; TRO清0JMP LSCANW1:MOV A,P2CJNE A,#0F0H,W2MOV P0,#00HCLR TR0JMP LSCANW2:JMP W0;Timer 0中断服务程序,输出某一频率的方波.INT_T0:MOV DPTR,#TABLEMOV A,VALMOV B,#2MUL ABMOV R1,AMOVC A,@A+DPTRMOV TH0,AINC R1MOV A,R1MOVC A,@A+DPTRMOV TL0,ACPL P1.0 ; 清P1.0口RETIDELAY:MOV R6,#10D1:MOV R7,#250DJNZ R7,$DJNZ R6,D1RETTABLE: ; 16个琴键发音频率的计数初始值DW 64021,64103,64260,64400DW 64524,64580,64684,64777DW 64820,64898,64968,65030DW 65058,65110,65157,65178END。
《单片机原理》课程设计说明书专业名称:电气工程及其自动化班级:11-2学号:姓名:指导教师:日期:2013.6.21《单片机原理课程设计》评阅书摘要本文设计了一种基于STC12C5A32S2单片机的电子琴电路。
该方案利用单片机定时器产生固定频率的方波信号以驱动蜂鸣器发出一定的旋律,通过矩阵键盘中的相应的按键来输入使蜂鸣器发出相对音阶的单音。
同时设计还有自动存储所输入的单音,之后再一起自动演奏出来的功能。
本设计通过控制单片机定时器的定时时间产生不同频率的音频脉冲,经三极管放大信号后驱动蜂鸣器发出不同音节的声音。
要实现7个音符的各自的高、中、低音,需要建立三个表,分别存储高音、中音和低音的频率值;默认为中音输出,当二个按键开关中某一个按下,通过软件选择相应的音频。
按下弹奏键就可弹奏出不同的声音。
另外用软件延时来控制发音时间的长短,来控制节拍。
通过把乐谱中的音符和相应的节拍变换为定时常数和延时常数,作为数据表格存放在存储器中。
由程序查表得到定时常数和延时常数,分别用来控制定时器产生的脉冲频率和发出该音频脉冲的持续时间,这样就可以实现乐曲的演奏。
本设计为实物电路板设计开发,报告中详细的阐述了电子琴设计的方法和过程。
并经过软硬件的调试,该音乐发生器不但能通过键盘弹奏出很好的音调,而且还可以通过键盘选择播放不同的音乐。
本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
关键词:STC12C5A32S2 单片机定时器电子琴目录摘要 ....................................... 错误!未定义书签。
第一章引言 . (2)第二章电子琴电路硬件电路设计 .............. 错误!未定义书签。
2.1单片机的介绍与组成 (4)2.2单片机主控电路 (4)2.3 4×4矩阵键盘电路 (5)2.4 蜂鸣器电路 (5)第三章电子琴电路软件设计 .................. 错误!未定义书签。
毕业设计(论文)课题名称:指导教师:系别:专业:班级:姓名:摘要音乐一直都是人类情感表达的一个重要媒介,随着社会的进步与发展,音乐在人类的生活与学习中的作用越发不可忽视。
电子琴也是实现播放音乐的一个途径。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,它在音乐演奏中已成为不可缺少的一部分。
单片机是一个具有功能强大和编程灵活性的控制器,它已广泛应用于现代人们的生活中,扮演着重要的角色。
本设计主要是使用AT89C51单片机及单片机C语言,用AT89S51单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。
在PROTEUS 仿真平台上实现功能仿真,同时还增加了音乐播放功能。
本文中给出了该系统设计的硬件电路,软件设计等。
其次,详细阐述了程序的各个模块和实现过程。
本设计具有硬件电路简单、功能完善、控制可靠、运行稳定等特点,具有一定的实用性。
关键词: 单片机;电子琴;PROTEUS;KEIL;C语言1.引言单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。
它的应用必定导致传统的控制技术从根本上发生变革。
因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色。
简易电子琴是电声乐队的中坚力量,常用于独奏主旋律并伴以丰富的和声。
还常作为独奏乐器出现,具有鲜明时代特色。
但电子琴的局限性也是十分明显:旋律与和声缺乏音量变化,过于协和、单一;在模仿各类馆、弦乐器时,音色还不够逼真,模仿提琴类乐器的音色时,失真度更大,还需要不断改进。
单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用AT89S51单片机为核心控制元件,设计一个电子琴。
1 绪论随着生活水平的提高,在放松自己的同时又能提高各个方面的能力。
学习和欣赏音乐可以在使人们得到放松的同时,提高人们的精神品质和个人素养。
当代,爱好音乐的年轻人越来越多,有不少人自己练习弹奏乐器,作为业余爱好和一种放松的手段,鉴于一些乐器学习难度大需要太多的学习时间,且其价格又太过于高昂,使得一部分有这种想法的人不得不放弃这种想法。
而一些简易的电子乐器价格相对便宜,学习上手快,价格相对便宜,一般人容易负担的起,能够满足一般爱好者的需求。
故简易电子乐器的研制具有一定的社会意义。
本次课程设计主要研究基于AT89C52单片机的16键简易电子琴的设计。
1.1 单片机发音概述由于单片机的强大功能,除了在测试控制领域中有着广泛的应用外,还有一些而有趣的应用。
比如,使用单片机可以驱动蜂鸣器或者扬声器发出声音,还可以控制其发出不同的声调,从而连接起来构成一个曲子。
目前,市场上有很多种音乐模块或者音乐芯片,可以直接产生各种曲子。
但是,这种模块价格比较昂贵,电路结构比较复杂。
如果系统中仅需要产生简单的音符或者简短的曲子,可以使用单片机配合简单的扬声器而产生需要的音乐效果。
一般说来,单片机不像其他专业乐器那样能奏出多种音色的声音,即不包含相应幅度的谐波频率。
单片机演奏的音乐基本都是单音频率。
因此单片机演奏音乐比较简单,只需要清楚“音调”和“节拍”。
音调表示一个音符唱多高的频率;节拍表示一个音符唱多长的时间。
1.1.1 音调音调是音乐学中的名词,与平时所说的音高十分相似。
在音乐中常把中音C 上方的A音定为标准音高,其频率为 f = 440Hz,其余音均与其进行比较。
f1和f2为两个音符,如果两个音符的频率相差一倍时,即212⨯=ff时,则称f2比f1高一个倍频程。
在音乐中音符1(do)与音符ⅰ之间正好相差一个倍频程,在音乐学中称它相差一个八度音。
在一个八度音里,有12个半音。
以1--ⅰ八音区为例。
12个半音是:1--#1,#1--2,2--#2,#2—3,3—4,4--#4,#4—5,5--#5,#5—6,6--#6,#6—7,7--ⅰ。
2018年第7期基于单片机的16键多功能电子琴硬件设计葛水河,张窝羊,杨旭辉(漯河食品职业学院,河南漯河462300)摘要:音乐包含多种音阶,音阶不一样,与之对应的频率也不同,通过单片定时/计数器T 来形成不同组合的频率,进而构成音乐。
本设计系统能够准确检测扫描到被按下的键位,继而单片机的定时将发出对应的音调,定时器发出脉冲,这个特定频率脉冲经过串口,它可以让喇叭执行发音。
同时键值显示在LED 显示器上。
关键词:电子琴;单片机;STC89C52作者简介:葛水河(1975-),男,河南上蔡人,大学本科,助教。
现代电子产品渗透到社会生活各个角落,本次设计的着重点就是在耗能低、工作效率高、生产花费少的条件下达到各项设计需求指标,实用新颖的基于单片机的16键多功能电子琴设计,它具有体积小、稳定高、价钱实惠的特点。
1系统组成在选定机型的基础上,依照整个设计的总体要求,确定设计系统中硬件部分的相关元器件,接着确定电路原理图和总体框图,进行硬件的设计。
该设计要设计16键多功能电子琴,这个电子琴中的单片机工作的时钟频率是12MHz ,定时/计数器工作模式设置1,通过调节计数值与,进而得到多种频率的脉冲信号。
音乐发生器通过扬声器播放出来,来源是依据用户自己弹奏的音乐,用户在键盘输入弹奏乐曲的。
运用单片机生成音频脉冲,来启动扬声器,是由于它不足以提供充足的驱动能力,不能够产生想要的音乐。
因此要对设计进行改进,增加一个电路,这个电路的功能是放大音频功率。
该次设计,电子琴的改进放大电路是通过低压音频功率放大器实现的,这样子就可以产生想要的音乐。
在本设计当中,一个很好的特点就是在电流断开的情况下可以保存数据,不会造成数据的丢失,所以选择录制键盘,主要是录制弹奏音乐的这个过程。
单片机和总线的连接是通过芯片实现的,这样电子琴就可以弹奏相应的音乐,完成录制与回放功能。
如图1系统结构图所示。
图1系统结构图按键AT24C02STC89C52单片机扬声器数码管显示电路音频功放电路2各功能模块原理图2.1STC89C52最小系统模块STC89C52最小系统的组成部分是12M 晶振电路,P0口和复位电路等,结构齐全,特别是单片机存在的四个脚,大大便利了程序,这个模块的电路原理图如图2所示。
基于单片机的简易电子琴设计摘要电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用AT89S51单片机作为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。
本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
关键词:单片机键盘扬声器电子琴AbstractElectronic organ is a modern electronic music technology and the product is a new type of keyboard instruments. It played an important role in modern music. SCM has powerful control functions and flexible programming characteristics. It has converged with modern people's lives, become an irreplaceable part. The main content is AT89S51 control of the core components, design of a electronic organ. SCM as a host to the core, with the keyboard, speaker and other core modules. In the main control module has 16 keys and a speaker. The system is steady, its simple hardware circuits, software functions, reliability of control system and high cost performance is its advantages. It also has certain practical and reference value.Key words : SCM keyboard speaker electronic organ目录摘要................................................................................................................................................................ - 1 - Abstract.......................................................................................................................................................... - 2 - 目录.................................................................................................................................................................. - 3 -1 引言.............................................................................................................................................................. - 4 -2 原理图.......................................................................................................................................................... - 5 -2.1 系统板硬件连线.............................................................................................................................. - 6 -3 主要芯片简介.............................................................................................................................................. - 7 -3.1 AT89S51简介................................................................................................................................... - 7 -3.1.1 主要功能特性...................................................................................................................... - 8 -3.1.2 引脚功能.............................................................................................................................. - 8 -3.2 LM386................................................................................................................................................ - 9 -3.2.1 LM386的引脚图................................................................................................................. - 10 -3.2.2 音频放大器电路................................................................................................................ - 10 -3.3 LED数码管..................................................................................................................................... - 11 -4 模块原理.................................................................................................................................................... - 12 -4.1 4X4行列式键盘识别及显示......................................................................................................... - 12 -4.1.1 系统板上硬件连线设计.................................................................................................... - 12 -4.1.2 程序设计内容.................................................................................................................... - 14 -图4-2 行列式键盘电路............................................................................................................... - 14 -4.1.3 I/O并行口直接驱动LED显示 ......................................................................................... - 15 -4.1.4 键盘识别程序............................................................................................................................ - 18 -4.2 音乐产生的方法............................................................................................................................ - 24 -4.2.1 原理.................................................................................................................................... - 24 -4.2.2 程序框图............................................................................................................................ - 26 -4.2.3源程序:............................................................................................................................. - 27 -5 结束语........................................................................................................................................................ - 35 - 致谢.............................................................................................................................................................. - 36 - 参考文献........................................................................................................................................................ - 37 -1 引言单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。
上海电机学院课程设计报告课题爱心电子琴学院(系)电气学院专业电气工程及其自动化年级学号姓名导师定稿日期:2011-7-7电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用AT89c51单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。
本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
关键字:单片机 89C51 LM386Electronic organ is a modern electronic music technology and the product is a new type of keyboard instruments. It played an important role in modern music. MCU has powerful control functions and flexible programming characteristics. It has converged with modern people's lives, become an irreplaceable part. The main content is AT89C51 control of the core components, design of a electronic organ. MCU as a host to the core, with the keyboard, speaker and other core modules. In the main control module has 16 keys and a speaker. The system is steady, its simple hardware circuits, software functions, reliability of control system and high cost performance is its advantages. It also has certain practical and reference value.Keywords:MCU 89C51 LM386绪论 (5)第一章总体方案 (6)1.1系统设计要求 (6)1.2 电子琴系统的组成 (6)1.3 系统框图 (6)第二章硬件简介 (8)2.1 AT89C51 (8)2.1.1 AT89C51简介 (8)2.1.2 主要的功能特性 (8)2.1.3 管脚功能 (9)2.1.4 芯片擦除 (10)2.2 矩阵式键盘的识别 (10)2.2.1. 矩阵式键盘的结构与工作原理 (10)2.2.2. 矩阵式键盘的按键识别方法 (11)2.2.3. 键盘接口必须具有的4个基本功能。
毕业设计(论文)任务书一、课题名称:基于单片机的十六音键电子琴设计二、主要技术指标:1. 通过十六位按键来读取不同的按键信号;2. 通过查表指令读取按键所对应的时间基数;3. 通过中断来产生不同频率的周期方波信号,送扬声器发出声音。
三、工作内容和要求:1. 理解并确认毕业设计任务书;2. 撰写完成毕业设计开题报告并经指导老师审核通过;3. 学习并掌握51单片机电路的设计方法、数码管的使用要求;4. 学习PCB电路的设计要求和方法;5. 确定并完成方案论证;6. 通过PROTEUS软件进行仿真;7. 设计并绘制原理框图、电路原理图、PCB板图;8. 选择元器件,编制元器件清单;9. 编写电路相关元件功能说明;10. 编写电路工作原理说明;11. 撰写毕业设计报告并整理装订。
四、主要参考文献:1. 单片机原理、应用与PROTEUS仿真,张靖武周灵彬,2008.82. 李朝青.单片机原理及接口技术[M].北京:北京航天航空大学出版色,20013. 胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,20044. 百度文库,/view/37ecc218964bcf84b9d57ba4.html学生(签名)年月日指导教师(签名)年月日教研室主任(签名)年月日系主任(签名)年月日毕业设计(论文)开题报告目录摘要Abstract第1章前言 (1)第2章方案论证 (2)2.1 控制模块选择方案 (2)2.2按键选择方案 (2)第3章系统硬件设计及说明 (3)3.1系统组成及总体框图 (3)3.2元件简介 (3)3.2.1 A T89S52 (3)3.2.2 LM386 (5)3.2.3 LED数码管 (7)3.3显示电路 (8)3.4 各功能模块原理图 (9)3.4.1 A T89S52模块电路原理图 (9)3.4.2键盘扫描模块电路原理图 (10)3.4.3数码管显示模块电路原理图 (10)3.4.4音频处理模块电路原理图 (11)3.4.5电源模块电路原理图 (11)第4章系统软件设计 (12)4.1音乐相关知识 (12)4.2如何用单片机实现音乐的节拍 (12)4.3如何用单片机产生音频脉冲 (12)4.4系统总体功能流程图 (13)第5章电路仿真 (17)5.1 ISIS软件介绍 (17)5.2 仿真图 (17)5.3 仿真图介绍 (18)第6章PCB印制板制作 (19)6.1 印制板制作的要求 (19)6.2印制电路板图 (19)第7章系统调试 (20)7.1软件仿真调试 (20)7.2软件调试 (20)第8章调试结论 (21)第9章参考文献答谢辞附录1:元器件清单附录2:主要电路原理图附录3:程序摘要微型电子琴的设计以A T89S52单片机作为系统的核心控制部分,通过制作硬件电路和软件的设计编写,然后进行软硬件的调试运行,最终达到设计电路的乐器演奏、点歌、存储及显示功能。
目录第1章前言 (1)1.1 系统开发背景 (1)1.2 系统开发意义 (1)1.3 设计目标 (2)第2章方案论证 (2)2.1 控制模块选择方案 (2)2.2 按键选择方案 (2)第3章系统硬件设计及说明 (2)3.1系统组成及总体框图 (2)3.2显示电路 (3)3.3部分功能模块原理图 (3)第4章系统软件设计 (5)4.1音乐相关知识 (5)4.2如何用单片机实现音乐的节拍 (5)4.3如何用单片机产生音频脉冲 (6)4.4系统总体功能流程图 (6)第5章电路仿真 (9)5.1 仿真图 (9)第6章PCB印制板制作 (9)6.1 印制板制作的要求 (9)6.2 印制电路板图 (10)第7章系统调试 (10)7.1软件仿真调试 (10)7.2 软件调试 (11)附录 (11)第1章前言1.1 系统开发背景随着电子科技的飞速发展,电子技术正在逐渐改善着人们的学习、生活、工作,因此开发本系统希望能够给人们多带来一点生活上的乐趣。
基于当前市场上的玩具市场需求量大,其中电子琴就是一个很好的应用方面。
单片机技术使我们可以利用软硬件实现电子琴的功能,从而实现电子琴的微型化,可以用作玩具琴、音乐转盘以及音乐童车等等。
并且可以进行一定的功能扩展。
鉴于传统电子琴可以用键盘上的“k0”到“k16”键演奏从低So到高DO 等16个音,从而可以用来弹奏喜欢的乐曲。
1.2 系统开发意义该设计具有以下优点:(1)可以随意弹奏想要表达的音乐;(2)制作简单,成本低。
1.3 设计目标由于本设计主要用于人们娱乐方面,因此在设计上尽量使其安全以及简单易操作。
其次,在这次设计可行性上进行分析如下:1、经济可行性:所谓经济可行性,即在这次设计上需要投入资金的多少,由于竞赛设计是没有项目资金,没有开发经费,因此在经济上必须能够承受,比较理想化的项目对于我们毕业设计来说是不可行的。
通过分析后,无论是在器件价格或是常见度上均是可行的。
《单片机原理》课程设计说明书专业名称:电气工程及其自动化班级:11-2学号:姓名:指导教师:日期:2013.6.21《单片机原理课程设计》评阅书摘要本文设计了一种基于STC12C5A32S2单片机的电子琴电路。
该方案利用单片机定时器产生固定频率的方波信号以驱动蜂鸣器发出一定的旋律,通过矩阵键盘中的相应的按键来输入使蜂鸣器发出相对音阶的单音。
同时设计还有自动存储所输入的单音,之后再一起自动演奏出来的功能。
本设计通过控制单片机定时器的定时时间产生不同频率的音频脉冲,经三极管放大信号后驱动蜂鸣器发出不同音节的声音。
要实现7个音符的各自的高、中、低音,需要建立三个表,分别存储高音、中音和低音的频率值;默认为中音输出,当二个按键开关中某一个按下,通过软件选择相应的音频。
按下弹奏键就可弹奏出不同的声音。
另外用软件延时来控制发音时间的长短,来控制节拍。
通过把乐谱中的音符和相应的节拍变换为定时常数和延时常数,作为数据表格存放在存储器中。
由程序查表得到定时常数和延时常数,分别用来控制定时器产生的脉冲频率和发出该音频脉冲的持续时间,这样就可以实现乐曲的演奏。
本设计为实物电路板设计开发,报告中详细的阐述了电子琴设计的方法和过程。
并经过软硬件的调试,该音乐发生器不但能通过键盘弹奏出很好的音调,而且还可以通过键盘选择播放不同的音乐。
本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
关键词:STC12C5A32S2 单片机定时器电子琴目录摘要 ....................................... 错误!未定义书签。
第一章引言 . (2)第二章电子琴电路硬件电路设计 .............. 错误!未定义书签。
2.1单片机的介绍与组成 (4)2.2单片机主控电路 (4)2.3 4×4矩阵键盘电路 (5)2.4 蜂鸣器电路 (5)第三章电子琴电路软件设计 .................. 错误!未定义书签。
3.1 程序设计流程图...................... 错误!未定义书签。
3.2音乐播放部分 (5)3.3电子琴弹奏部分 (5)3.4发音原理 (5)第四章程序 ................................ 错误!未定义书签。
心得体会 ................................... 错误!未定义书签。
参考文献 (11)附件错误!未定义书签。
第一章引言随着计算机在社会各领域的渗透,单片机的应用正在不断地走向深入,同时带动着工业、农业、商业、家电以及玩具的日新月异更新,极大地提高了电子电路及系统设计质量和效率。
单片机是指一个集成在一块芯片上的完整计算机系统。
尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。
同时集成诸如通讯接口、定时器,实时时钟等外围设备。
而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业控制领域。
单片机由芯片内仅有CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。
STC单片机是一款增强型51单片机,完全兼容MCS-51。
STC12C5A32S2可以代替AT89C51,而且功能更强,速度更快,寿命更长,价格更低。
该单片机具有40个引脚,采用双列直插式封装。
可以完成ISP在线编程功能。
本设计是以主控芯片STC12C5A32S2为中心器件,辅以小键盘、发光二极管、和蜂鸣器电路来设计电子琴系统,同时详细论述了该系统的设计过程及关键技术。
第二章电子琴硬件电路设计2.1 51单片机的介绍与组成51单片机是对所有兼容Intel 8031指令系统的单片机的统称。
该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。
很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。
51单片机是基础入门的一个单片机,还是应用最广泛的一种。
需要注意的是52系列的单片机一般不具备自编程能力。
组成:8位CPU·4kbytes程序存储器(ROM) (52为8K)·128bytes的数据存储器(RAM) (52有256bytes的RAM)·32条I/O口线·111条指令,大部分为单字节指令·21个专用寄存器·2个可编程定时/计数器·5个中断源,2个优先级(52有6个)·一个全双工串行通信口·外部数据存储器寻址空间为64kB·外部程序存储器寻址空间为64kB·逻辑操作位寻址功能·双列直插40PinDIP封装·单一+5V电源供电CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:用以存放程序、一些原始数据和表格;I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;五个中断源的中断控制系统;一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。
最高振荡频率为12M《单片机原理课程设计》说明书2.2 单片机主控电路图5 单片机主控电路图6 单片机复位电路该电路采用的是STC12C系列的单片机,此系列单片机是宏晶科技生产的单时钟/机器周期单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
资源丰富。
复位电路采用的是按键手动复位。
时钟电路采用的是12M晶振,用内部振荡器。
2.3 4×4矩阵键盘电路图3 矩阵键盘电路矩阵键盘共有16个按键,其中s1-s7分别是中音的do-ti控制键,s8-s14分别是高音的do-ti的控制键,而s15和s16则是音乐的播放和控制键。
占用单片机的P1口。
2.3 蜂鸣器电路图4 蜂鸣器电路蜂鸣器电路主要是系统的发音电路。
用PNP三极管8550来驱动蜂鸣器发声。
第三章电子琴电路软件设计3.1程序流程图3.2 音乐播放部分音乐实际上是固定周期的信号。
本系统是用AT89S52 的定时器控制,在P3.6脚上输出方波周期信号,产生音乐。
乐曲中,每一音符对应着确定的频率,我们将每一音符的时间常数和其相应的节拍常数作为一组,按顺序将乐曲中的所有常数排列成一个表,然后由查表程序依次取出,产生音符并控制节奏,就可以实现演奏效果。
在输出中我们用蜂鸣器及其驱动电路实现发声。
3.3电子琴弹奏部分本系统设置了16个按键,其中三个按键为高音、中音、低音的选择按键,其余为发音按键,按下不同的按键产生不同的音符,通过按键时间的长短控制发音的长短,这样弹奏人员可以随心所欲的弹奏自己所喜爱的乐曲。
电子琴弹奏实际上就是把每个按键所对应的值经过处理后发给单片机,再在单片机内把数字当作指针指向所对应的音符。
我们运用单片机的最小系统,用P2口的低三位作高音、中音、低音的选择按键的接口,用P1口的低七位作发音按键的接口。
3.4 具体发音原理一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把各个音阶对应频率关系弄正确即可。
若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。
利用定时器计时半周期时间,每当计时终止后就将蜂鸣器端口反相,然后重复计时再反相。
就可在该引脚上得到此频率的脉冲实现发音。
利用AT89S52的内部定时器使其工作计数器模式(MODE1)下,改变计数初值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T=1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将I/O反相,就可得到中音DO(523Hz)。
计数脉冲值与频率的关系式是:N=fi÷2÷fr式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr 是想要产生的频率。
其计数初值T的求法如下:T=65536-N=65536-fi÷2÷fr例如:设K=65536,fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO (1046Hz)的计数值。
T=65536-N=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/fr低音DO的T=65536-50000/262=63628中音DO的T=65536-50000/523=64580高音DO的T=65536-50000/1046=65058因此,可以通过计算求得各音阶的简谱码T值如下:1 Do的T=65536-50000/262.1=636282 Re的T=65536-50000/293.7=638363 Mi的T=65536-50000/329.6=640214 Fa的T=65536-50000/349.2=641045 So的T=65536-50000/392.0=642616 La的T=65536-50000/440.0=644007 Si的T=65536-50000/493.9=64524相应求得在要发出不同音符时先给定时器T0装入的初值如下表:第四章程序#include <REG52.H>#define SYSTEM_OSC 24000000 //定义晶振频率12000000HZ#define SOUND_SPACE 4/5 //定义普通音符演奏的长度分率,//每4分音符间隔sbit BeepIO= P3^7; //定义输出管脚#define uchar unsigned charuchar code a[4]={0xfe,0xfc,0xfb,0xf7};#define uint unsigned intuchar code b[4]={0xef,0xdf,0xbf,0x7f};unsigned int code FreTab[12] = { 262,277,294,311,330,349,369,392,415,440, 466,494 }; //原始频率表unsigned char code SignTab[7] = { 0,2,4,5,7,9,11 }; //1~7在频率表中的位置unsigned char code LengthTab[7]= { 1,2,4,8,16,32,64 };unsigned char Sound_Temp_TH0,Sound_Temp_TL0; //音符定时器初值暂存unsigned char Sound_Temp_TH1,Sound_Temp_TL1; //音长定时器初值暂存void InitialSound(void){BeepIO = 0;Sound_Temp_TH1 = (65535-(1/2400)*SYSTEM_OSC)/256; // 计算TL1应装入的初值(10ms的初装值)Sound_Temp_TL1 = (65535-(1/2400)*SYSTEM_OSC)%256; // 计算TH1应装入的初值TH1 = Sound_Temp_TH1;TL1 = Sound_Temp_TL1;TMOD |= 0x11;ET0 = 1;ET1 = 0;TR0 = 0;TR1 = 0;EA = 1;}char num;void BeepTimer0(void) interrupt 1 //音符发生中断{BeepIO = !BeepIO;TH0 = Sound_Temp_TH0;TL0 = Sound_Temp_TL0;}void delay(uint z){ uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void Play(unsigned char *Sound,unsigned char Signature,unsigned Octachord,u nsigned int Speed){unsigned int NewFreTab[12]; //新的频率表unsigned char i,j;unsigned int Point,LDiv,LDiv0,LDiv1,LDiv2,LDiv4,CurrentFre,Temp_T, SoundLength;unsigned char Tone,Length,SL,SH,SM,SLen,XG,FD;for(i=0;i<12;i++) // 根据调号及升降八度来生成新的频率表{j = i + Signature;if(j > 11){j = j-12;NewFreTab[i] = FreTab[j]*2;}elseNewFreTab[i] = FreTab[j];if(Octachord == 1)NewFreTab[i]>>=2;else if(Octachord == 3)NewFreTab[i]<<=2;}SoundLength = 0;while(Sound[SoundLength] != 0x00) //计算歌曲长度{SoundLength+=2;}Point = 0;Tone = Sound[Point];Length = Sound[Point+1]; // 读出第一个音符和它时时值LDiv0 = 24000/Speed; // 算出1分音符的长度(几个10ms)LDiv4 = LDiv0/4; // 算出4分音符的长度LDiv4 = LDiv4-LDiv4*SOUND_SPACE; // 普通音最长间隔标准TR0 = 0;TR1 = 1;while(Point < SoundLength){SL=Tone%10; //计算出音符SM=Tone/10%10; //计算出高低音SH=Tone/100; //计算出是否升半C urrentFre = NewFreTab[SignTab[SL-1]+SH]; //查出对应音符的频率if(SL!=0){if (SM==1) CurrentFre >>= 2; //低音if (SM==3) CurrentFre <<= 2; //高音Temp_T = 65536-(50000/CurrentFre)*10/(24000000/SYSTEM_OSC);//计算计数器初值Sound_Temp_TH0 = Temp_T/256;Sound_Temp_TL0 = Temp_T%256;TH0 = Sound_Temp_TH0;TL0 = Sound_Temp_TL0 + 12; //加12是对中断延时的补偿}SLen=LengthTab[Length%10]; //算出是几分音符XG=Length/10%10; //算出音符类型(0普通1连音2顿音)FD=Length/100;LDiv=LDiv0/SLen; //算出连音音符演奏的长度(多少个10ms)if (FD==1)LDiv=LDiv+LDiv/2;if(XG!=1)if(XG==0) //算出普通音符的演奏长度if (SLen<=4)LDiv1=LDiv-LDiv4;elseLDiv1=LDiv*SOUND_SPACE;elseLDiv1=LDiv/2; //算出顿音的演奏长度 elseLDiv1=LDiv;if(SL==0) LDiv1=0;LDiv2=LDiv-LDiv1; //算出不发音的长度if (SL!=0){TR0=1;for(i=LDiv1;i>0;i--) //发规定长度的音{while(TF1==0);TH1 = Sound_Temp_TH1;TL1 = Sound_Temp_TL1;TF1=0;}}if(LDiv2!=0){TR0=0; BeepIO=0;for(i=LDiv2;i>0;i--) //音符间的间隔{while(TF1==0);TH1 = Sound_Temp_TH1;TL1 = Sound_Temp_TL1;TF1=0;}}Point+=2;Tone=Sound[Point];Length=Sound[Point+1];}BeepIO = 0;}void Delay1ms(unsigned int count){ unsigned int i,j;for(i=0;i<count;i++)for(j=0;j<240;j++);}void scan(){ uchar i,j,c,temp;i=j=0;while(i<4){P2=a[i];temp=P2;if(temp!=a[i]){delay(10);temp=P2;if(temp!=a[i]){while(j<4){c=b[j]&a[i];if(P2==c)num=4*i+j+1;j++;}}}i++;}}unsigned char code Music_Girl[]={0x17,0x03, 0x19,0x03, 0x17,0x03, 0x16,0x03, 0x17,0x03, 0x16,0x03, 0x17,0x02, 0x16,0x03, 0x15,0x03, 0x10,0x03, 0x15,0x03, 0x17,0x03, 0x16,0x66, 0x16,0x03, 0x15,0x03, 0x10,0x03, 0x15,0x03, 0x16,0x03, 0x17,0x03, 0x19,0x0D, 0x16,0x03, 0x17,0x03, 0x1A,0x03, 0x19,0x03, 0x10,0x03,0x16,0x03, 0x15,0x66, 0x16,0x03, 0x15,0x03, 0x10,0x03, 0x15,0x03, 0x17,0x03, 0x1A,0x03, 0x19,0x0D, 0x17,0x03, 0x17,0x03, 0x1A,0x03, 0x19,0x03, 0x1A,0x03, 0x19,0x0D, 0x17,0x66, 0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x19,0x03, 0x1A,0x03, 0x19,0x0D, 0x17,0x03, 0x10,0x03, 0x17,0x03, 0x17,0x17, 0x16,0x17, 0x17,0x02, 0x17,0x02, 0x19,0x02, 0x1F,0x03, 0x19,0x03, 0x1A,0x16, 0x1A,0x03, 0x19,0x03, 0x17,0x03, 0x17,0x03, 0x19,0x03, 0x19,0x02, 0x19,0x02, 0x17,0x03, 0x19,0x03, 0x1A,0x03, 0x1F,0x03, 0x20,0x03, 0x1F,0x03, 0x19,0x03, 0x17,0x03, 0x16,0x03, 0x19,0x0D, 0x19,0x66, 0x17,0x0D, 0x17,0x7A, 0x17,0x03, 0x19,0x03, 0x1F,0x03, 0x19,0x03, 0x1A,0x15, 0x1F,0x03, 0x20,0x03, 0x1F,0x03, 0x19,0x04, 0x17,0x04, 0x19,0x04, 0x1F,0x03, 0x1A,0x15, 0x17,0x04, 0x16,0x04, 0x17,0x04, 0x19,0x04, 0x21,0x04, 0x20,0x0C, 0x20,0x02, 0x1F,0x03, 0x1F,0x0D, 0x1F,0x15, 0x17,0x04, 0x16,0x04, 0x17,0x04, 0x19,0x03, 0x21,0x03, 0x20,0x02, 0x20,0x02, 0x1F,0x02, 0x1F,0x02, 0x1F,0x16, 0x17,0x04, 0x16,0x04, 0x17,0x04, 0x19,0x03, 0x21,0x03, 0x20,0x03, 0x20,0x01, 0x20,0x01,}; unsigned char code Music_a1[]={ 0x15,0x02, 0x00,0x00 }; unsigned char code Music_a2[]={ 0x16,0x02, 0x00,0x00 }; unsigned char code Music_a3[]={ 0x17,0x02, 0x00,0x00 }; unsigned char code Music_a4[]={ 0x18,0x02, 0x00,0x00 }; unsigned char code Music_a5[]={ 0x19,0x02, 0x00,0x00 }; unsigned char code Music_a6[]={ 0x1A,0x02, 0x00,0x00 }; unsigned char code Music_a7[]={ 0x1B,0x02, 0x00,0x00 }; unsigned char code Music_b1[]={ 0x0b,0x02, 0x00,0x00 }; unsigned char code Music_b2[]={ 0x0c,0x02, 0x00,0x00 }; unsigned char code Music_b3[]={ 0x0d,0x02, 0x00,0x00 }; unsigned char code Music_b4[]={ 0x0e,0x02, 0x00,0x00 }; unsigned char code Music_b5[]={ 0x0f,0x02, 0x00,0x00 }; unsigned char code Music_b6[]={ 0x10,0x02, 0x00,0x00 }; unsigned char code Music_b7[]={ 0x11,0x02, 0x00,0x00 };main(){ uchar k=1;InitialSound();while(1){ scan();if(!k) Play(Music_Girl,0,3,360);if(k){if(num==1)Play(Music_a1,0,3,360);if(num==2)Play(Music_a2,0,3,360);if(num==3)Play(Music_a3,0,3,360);if(num==4)Play(Music_a4,0,3,360);if(num==5)Play(Music_a5,0,3,360);if(num==6)Play(Music_a6,0,3,360);if(num==7)Play(Music_a7,0,3,360);if(num==9)Play(Music_b1,0,3,360);if(num==10)Play(Music_b2,0,3,360);if(num==11)Play(Music_b3,0,3,360);if(num==12)Play(Music_b4,0,3,360);if(num==13)Play(Music_b5,0,3,360);if(num==14)Play(Music_b6,0,3,360);if(num==15)Play(Music_b7,0,3,360);}if(num==16){if(k==1)k=0;else k=1;}num=0;}}心得体会经过一个星期的课程设计,过程曲折可谓一语难尽,感想颇多。