版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕 业 设 计 (论 文)课题名称: 指导教师: 系 别: 专 业: 班 级: 姓 名: 摘要音乐一直都是人类情感表达的一个重要媒介,随着社会的进步与发展,音乐在人类的生活与学习中的作用越发不可忽视。电子琴也是实现播放音乐的一个途径。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,它在音乐演奏中已成为不可缺少的一部分。单片机是一个具有功能强大和编程灵活性的控制器,它已广泛应用于现代人们的生活中,扮演着重要的角色。本设计主要是使用AT89C51单片机及单片机C语言,用AT89S51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主
2、控模块上设有16个按键和扬声器。在PROTEUS仿真平台上实现功能仿真,同时还增加了音乐播放功能。本文中给出了该系统设计的硬件电路,软件设计等。其次,详细阐述了程序的各个模块和实现过程。本设计具有硬件电路简单、功能完善、控制可靠、运行稳定等特点,具有一定的实用性。关键词: 单片机;电子琴;PROTEUS;KEIL;C语言1. 引言单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐
3、结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色。简易电子琴是电声乐队的中坚力量,常用于独奏主旋律并伴以丰富的和声。还常作为独奏乐器出现,具有鲜明时代特色。但电子琴的局限性也是十分明显:旋律与和声缺乏音量变化,过于协和、单一;在模仿各类馆、弦乐器时,音色还不够逼真,模仿提琴类乐器的音色时,失真度更大,还需要不断改进。单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。 本文的主要内容是用AT89S51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。对
4、使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。这次的电子琴是由4*4组成16个按钮矩阵,设计成16个音。然后再用一个音频放大模块来使音乐播出的声音
5、变大。通过这16个键的随意组合可随意弹奏想要表达的音乐,使用很简单。2.系统分析2.1系统组成该系统通过电子琴按键随意键入所要表达的音符,作为电平送给主体电路,中央处理器通过识别,解码输出音符,在扬声器中发出有效的声音。通过这样可以不断的弹奏音乐。嵌入式电路,按键电路,LED显示电路和两个功能键组成,通过功能键可以选择播放音乐。其主要模块由五个部分组成,具体关系如图2.1所示。图2.1系统组成框图本系统的电路基本模块:51单片机中心、矩阵键盘模块、显示模块、发音模块、功能选择模块。2.2工作原理打开电子琴电源开关后,电子琴默认为弹奏状态,弹奏显示灯点亮,数码管显示为0。按下矩阵键盘中的任意键,
6、扬声器发相应的音调,数码管显示对应的数字。按下播放按钮,电子琴处于自动播放状态,播放显示灯点亮,此时,按下矩阵键盘中的任意键,扬声器发出存储在单片机内部的对应的乐曲,数码管显示对应的按键数字。再按弹奏/停止键,音乐停止。弹奏显示灯点亮。此时系统又处于弹奏状态。3硬件分析3.1系统硬件总设计将设计的电子琴硬件部分进行模块化设计,主要分以下模块:(1)矩阵键盘模块:系统采用4*4矩阵键盘。(2)显示模块:系统采用LED显示管显示。(3)功能显示模块:采用发光二极管显示弹奏、播放两种状态。(4)发音模块:采用扬声器发音。(5)控制中心模块:AT89C51单片机。图3.1 电子琴电路图3.2 AT89
7、C51单片机3.2.1 AT89C51简介AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案,。外形及引脚排列如下图3.2所示。图3.2 AT89C51单片机引脚分配图3.22 AT89C51特征(1)有40个引脚(2
8、)4K字节可编程闪烁存储器(3)128 字节的随机存取数据存储器(4)两个16位定时器/计数器(5)32个外部双向输入/输出(I/O)口(6)5个中断源(7)与MCS-51 兼容(8)2个可编程串行通道(9)片内振荡器和时钟电路此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。3.2.3 AT89C51引脚说明VCC:供电电压。GN
9、D:接地。P0口(3932):P0口为8位漏极开路双向I/O口,每引脚可吸收8个TTL门电流; P1口(18):P1口是从内部提供上拉电阻器的8位双向I/O口,P1口缓冲器能接收和输出4个TTL门电流; P2口(2128):P2口为内部上拉电阻器的8位双向I/O口,P2口缓冲器可接收和输出4个TTL门电流; P3口(1017):P3口是8个带内部上拉电阻器的双向I/O口,可接收和输出4个TTL门电流,P3口也可作为AT89C51的特殊功能口; RST(9):复位输入。当振荡器复位时,要保持RST引脚2个机器周期的高电平时间; ALE/PROG(30):当访问外部存储器时,地址锁存允许的输出电平
10、用于锁存地址的低位字节,在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6,它可用作对外部输出的脉冲或用于定时目的,要注意的是,每当访问外部数据存储器时,将跳过1个ALE脉冲; PSEN(29):外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期2次PSEN有效,但在访问外部数据存储器时,这2次有效的PSEN信号将不出现; EA/VPP(31):当EA保持低电平时,外部程序存储器地址为(0000HFFFFH)不管是否有内部程序存储器。FLASH编程期间,此引脚也用于施加12V编程电源(VPP); XTAL1(
11、19):反向振荡器放大器的输入及内部时钟工作电路的输入; XTAL2(18):来自反向振荡器的输出。3.3 LM386简介3.3.1 LM386LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。LM386特性: (1)静态功耗低,约为4mA,可用于电池供电;(2)工作电压范围宽,4V-12V或5V-18V;(3)外围元件少; (4)电压增益可调,20-200;(5)低失真度; LM386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点,广泛应用于录音机和收音机之中。图3.3.1 LM386内部电路原理图LM386内
12、部电路原理图如上图3.3.1所示。与通用型集成运放相类似,它是一个三级放大电路。第一级为差分放大电路,T1和T3、T2和T4分别构成复合管,作为差分放大电路的放大管;T5和T6组成镜像电流源作为T1和T2的有源负载;T3和T4信号从管的基极输入,从T2管的集电极输出,为双端输入单端输出差分电路。使用镜像电流源作为差分放大电路有源负载,可使单端输出电路的增益近似等于双端输出电容的增益。 第二级为共射放大电路,T7为放大管,恒流源作有源负载,以增大放大倍数。 第三级中的T8和T9管复合成PNP型管,与NPN型管T10构成准互补输出级。二极管D1和D2为输出级提供合适的偏置电压,可以消除交越失真。引
13、脚2为反相输入端,引脚3为同相输入端。电路由单电源供电,故为OTL电路。输出端(引脚5)应外接输出电容后再接负载。 电阻R7从输出端连接到T2的发射极,形成反馈通路,并与R5和R6构成反馈网络,从而引入了深度电压串联负反馈,使整个电路具有稳定的电压增益。3.3.2 LM386的引脚图LM386的外形和引脚的排列如下图3.3.2所示LM386引脚图引脚2为反相输入端,引脚3为同相输入端;引脚5为输出端;引脚6和4分别为电源和地;引脚1和8为电压增益设定端;使用时在引脚7和地之间接旁路电容,通常取10uF。3.3.3音频放大电路由LM386组成的音频放大电路如下图3.3.3所示图3.3.3音频放大
14、电路此放大电路由键盘输出的音频信号控制,通过输出的高低电平信号来控制扬声器的声音大小。3.4矩阵式键盘3.4.1矩阵式键盘结构与工作原理在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一
15、些,本系统中的矩阵键盘中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。键盘接口必须具有去抖动、防串键、按键识别和键码产生4个基本功能。 (1)去抖动:每个按键在按下或松开时,都会产生短时间的抖动。抖动的持续时间与键的质量相关,一般为520mm。所谓抖动是指在识别被按键是必须避开抖动状态,只有处在稳定接通或稳定断开状态才能保证识别正确无误。去抖问题可通过软件延时或硬件电路解决。 (2
16、)防串键:防串键是为了解决多个键同时按下或者前一按键没有释放又有新的按键按下时产生的问题。常用的方法有双键锁定和N键轮回两种方法。双键锁定,是当有两个或两个以上的按键按下时,只把最后释放的键当作有效键并产生相应的键码。N键轮回,是当检测到有多个键被按下时,能根据发现它们的顺序依次产生相应键的键码。 (3)被按键识别:如何识别被按键是接口解决的主要问题,一般可通过软硬结合的方法完成。常用的方法有行扫描法和线反转法两种。行扫描法的基本思想是,由程序对键盘逐行扫描,通过检测到的列输出状态来确定闭合键,为此,需要设置入口、输出口一个,该方法在微机系统中被广泛使用。线反转法的基本思想是通过行列颠倒两次扫
17、描来识别闭合键,为此需要提供两个可编程的双向输入/输出端口。 (4)键码产生:为了从键的行列坐标编码得到反映键功能的键码,一般在内存区中建立一个键盘编码表,通过查表获得被按键的键码。矩阵式键盘如下图3.4.1所示图3.4.1矩阵式键盘图3.4.2矩阵式键盘的按键识别方法下面矩阵式键盘上何键被按下介绍一种“行扫描法”。行扫描法:行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。1、判断键盘中有无键按下。将全部行线置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列
18、线均为高电平,则键盘中无键按下。2、判断闭合键所在的位置。在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。用AT89C51的并行口P0接44矩阵键盘,以P0.0P0.3作输入线,以P0.4P0.7作输出线;在数码管上显示每个按键的“0F”序号。3.4.3按键显示模块数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、
19、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。显示模块如下图3.4.3所示。图3.4.3显示模块3.4.4功能显示模块当按
20、下弹奏/停止功能键时,D1灯点亮,此时,电子琴系统处于弹奏状态;当按下播放键时,D2灯点亮,此时,电子琴系统处于自动播放内置音乐状态。此系统的功能显示模块如下图3.4.4所示。图3.4.4功能显示模块3.5音乐播放装置3.5.1音乐发声原理音乐发声原理:一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。 若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除
21、以2,即为半周期的时间。利用定时器计时的半周期时间,每当计时终止后就将P3.7反相,然后重复计时再反相。就可在P3.7引脚上得到此频率的脉冲。 利用AT89C51的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T1/5231912s,因此只要令计数器计时956s/1s956,每计数956次时将I/O反相,就可得到中音DO(523Hz)。计数脉冲值与频率的关系式是:Nfi2fr式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生的频率。 其计数初值T的求法如下: T6
22、5536N65536fi2fr 例如:设K65536,fi1MHz,求低音DO(262Hz)、中音DO(523Hz)、高音DO(1046Hz)的计数值。 T65536N65536fi2fr6553610000002fr 65536500000/fr 低音DO的T65536500000/26263628 中音DO的T65536500000/52364580 高音DO的T65536500000/104665058单片机12MHZ晶振,高中低音符与计数T0相关的计数值如表2所示。表2 音符频率表音符频率(HZ)简谱码(T值)音符频率(HZ)简谱码(T值)休止00中 4 FA69864820低1 DO
23、26263628中 5 SO78464898低2 RE29463835中 6 LA88064968低 3 M33064021中 7 SI98865030低 4 FA34964103高 1 DO104665058低 5 SO39264260高 2 RE117565110低 6 LA44064400高 3 M131865157低 7 SI49464524高 4 FA139765178中 1 DO52364580高 5 SO156865217中 2 RE58764684高 6 LA176065252中 3 M65964777高 7 SI196765283我们要为这个音符建立一个表格,单片机通过查表的
24、方式来获得相应的数据。音乐的音拍,以一个节拍为单位(C调),如表3所示。表3 曲调值表曲调值DELAY曲调值DELAY调4/4125ms调4/462ms调3/4187ms调3/494ms调2/4250ms调2/4125ms通过上面关于一个音符音调和节拍的确定方法,我们就可以在单片机上实现演奏音乐了。具体的实现方法为:将乐谱中的每个音符的音调及节拍变换成相应的音调参数和节拍参数,将他们做成数据表格,存放在存储器中,通过程序取出一个音符的相关参数,播放该音符,该音符唱完后,接着取出下一个音符的相关参数,如此直到播放完毕最后一个音符,根据需要也可循环不停地播放整个乐曲。音乐播放装置的工作原理:当打开
25、电子琴电源后,按下弹奏按钮,再按下矩阵键盘任意键,扬声器发出对应的单个音调;若按下歌曲选择按钮,再按矩阵键盘任意键,扬声器便发出存储在单片机内的对应的一段音乐。发声装置如下图3.5.1所示。图3.5.1发声装置对于不同的曲调我们也可以用单片机的另外一个定时/计数器来完成。在这个程序中用到了两个定时/计数器来完成的。其中T0用来产生音符频率,T1用来产生音拍。4软件分析4.1音乐播放设计音乐播放流程如下图4.1所示图4.1音乐播放流程图4.2播放歌曲子程序设计播放歌曲子程序流程图如下图4.2所示图4.2播放歌曲子程序流程图4.3程序设计本设计程序如下#include #include #incl
26、ude #include #define uchar unsigned char#define uint unsigned intuchar STH0; /定时器计数初值uchar STL0; bit FY=0; /放乐曲时FY=1, 电子琴弹奏时FY=0uchar Song_Index=0,Tone_Index=0; /放音乐的参数uchar k, key;sbit SPK=P37;sbit LED1=P10;sbit LED2=P11;uchar code DSY_CODE= 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,
27、0x7c, 0x39,0x5e,0x79,0x71;uchar code Song100= /任意选几首音乐的旋律输入音谱;uchar code Len100= /这里输入几首音乐的旋律每个音符对应的节拍 输入相对应的节拍数;uint code tab= /* 音符与计数值对应表 */ 0,63628,63835,64021,64103,64260,64400,64524, 64580,64684,64777,64820,64898,64968,65030, 65058,65110,65157,65178,65217,65252,65283; void delay1(uint ms) /播放歌
28、曲时实现节拍的延时函数 uchar t; while(ms-) for (t=0;t0;i-);uchar getkey(void) /* 键扫描函数 */uchar scancode,tmpcode;if (P0&0xf0)=0xf0)return(0);scancode = 0xfe;while(scancode&0x10)!=0)/ 逐行扫描P0 = scancode;/ 输出行扫描码if (P0&0xf0)!=0xf0)/ 本行有键按下tmpcode = (P0&0xf0)|0x0f;/* 返回特征字节码,为1的位即对应于行和列 */return(scancode)+(tmpcode)
29、;else scancode = (scancode1)|0x01;/ 行扫描码左移一位void EX0_INT() interrupt 0 /* 外部中断0 ,这里是弹唱按键*/ FY=0; LED1=1; LED2=0; void EX1_INT() interrupt 2 /* 外部中断1 ,这里是播放按键*/ FY=1; LED1=0; LED2=1; void time0_int(void) interrupt 1 using 0 /* 定时器0中断服务子程序 */TH0 = STH0; /* 设置计数初值 */ TL0 = STL0; SPK=!SPK; / 反相,产生输出脉冲 P
30、2=DSY_CODEk ;void main(void) LED1=1; LED2=0; P2=0x3f; IE=0x87; TMOD=0x01; IT0=1; IT1=1; while(1) P0 = 0xf0; / 发全0列扫描码if (P0&0xf0)!=0xf0)/ 若有键按下 delay();/ 延时去抖动if (P0&0xf0)!=0xf0) / 延时后再判断一次,去除抖动影响 key = getkey(); / 调用键盘扫描函数switch(key) / 根据获取的按键位置得到k值 case 0x11: k = 0;break; / 1行1列case 0x21: k = 1;br
31、eak; / 1行2列case 0x41: k = 2;break; / 1行3列case 0x81: k = 3;break; / 1行4列case 0x12: k = 4;break; / 2行1列case 0x22: k = 5;break; / 2行2列case 0x42: k = 6;break; / 2行3列case 0x82: k = 7;break; / 2行4列case 0x14: k = 8;break; / 3行1列case 0x24: k = 9;break; / 3行2列case 0x44: k = 10;break; / 3行3列case 0x84: k = 11;
32、break; / 3行4列case 0x18: k = 12;break; / 3行4列case 0x28: k = 13;break; / 3行4列case 0x48: k = 14;break; / 3行4列case 0x88: k = 15; break; / 3行4列default:break; if(FY=0) /* 根据所得的k值设定计数器1的计数初值 */ STH0 = tabk/256; STL0 = tabk%256; TR0 = 1; / 开始计数 while (P0&0xf0)!=0xf0);/ 若没有松开按键,则等待,等待期间弹奏该音符TR0 = 0;/ 若按键松开,则
33、停止计数,不产生脉冲输出 else while (FY=1) if (SongkTone_Index=-1) Tone_Index=0; STH0=(tabSongkTone_Index)/256; STL0=(tabSongkTone_Index)%256; P2=DSY_CODESongkTone_Index ; TR0 = 1; delay1(300*LenkTone_Index); Tone_Index+; TR0 = 0; 5实现软件调试步骤一:安装Proteus软件。步骤二:安装Keil软件。步骤三:Keil和Proteus的配置因为利用Keil和Proteus的结合可以搭建仿真平
34、台,实现软硬件的仿真。 (1)首先启动Proteus,打开要仿真的工程文件,然后配置Proteus软件,选择“Debug”“Use Remote Debug Monitor”。(2)调出编辑AT89C51属性的对话框,将其程序文件设置为空。(3)Keil uV3的设定,首先启动Proteus仿真项目对应的Keil中的工程。(4)在工程工作区选中“Target1”,并右击选中“Options for Target Target1”。选中“Output”中“Creat HEX Fi”和“Debug”中“Use Remote Debug Monitor”。6总结将程序导入AT89C51芯片,调试成功
35、后,可任意弹奏自己想要的旋律。本课题通过制作电子琴,将几个模块很好的融合起来,对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。说明一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,于是我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可,然后我们利用功放电路来将音乐声音放大,同时通过显示模块来确知自己所弹的音符。通过这次课程设计,我感觉收获了很多:首先,通过实践,
36、加深对单片机系列知识及其系统的认识。这个设计题目并不是新的,但从中能体现到一个系统开发设计的过程,足于让我们受益。第二,通过设计学习到了很多软件的使用。本次设计,软件部分用到了protues进行硬件设计,用keil进行程系编译,用protel进行制板。第三,提高了自己的动手能力。从这次实物制作中,我的动手能力提高了。感谢我们的老师这几年的教育。 参考文献1 陈明荧8051单片机课程设计实训教材M北京:清华大学出版社,2003年9月2 张毅刚,MCS-51单片机应用设计M哈尔滨工业大学出版社,2004 3 吴金戌,沈庆阳,郭庭吉,8051单片机实践与应用M清华大学出版社,2001 4 张毅刚,M
37、CS-51单片机应用设计M哈尔滨工业大学出版社,2004 5 赵亮,侯国锐.单片机C语言编程与实例M.北京:人民邮电出版社,2003. 6 张虹.单片机原理及应用M.北京:中国电力出版社,2009. 7 李云钢,邹逢兴,龙志强. 单片机原理与应用系统计J.北京:中国水利水电出版社,2008.致谢值此论文完成之际,谨向给予我指导、关心和帮助的老师、同学、朋友、亲人表示最衷心的感谢。首先,要特别感谢我的指导老师程颖老师。 老师在我毕业论文的撰写过程中,给我提供了极大的帮助和指导。从开始的分析到修正,再到最终定稿, 老师给我提供了许多宝贵建议和指导。老师渊博的专业知识,严谨的治学态度,精益求精的工作
38、作风,诲人不倦的高尚师德,朴实无华、平易近人的人格魅力对我影响深远。其次,要感谢所有曾经给我们12电子班任课的老师,老师们教会我的不仅仅是专业知识,更多的是对待学习、对待生活的态度。第三,感谢我的父母亲,你们是我力量的源泉,只要有你们,不管面对什么样的困难,我都不会害怕,谢谢你们对我的支持与鼓励!再次,感谢我的室友及其他好友,因为有你们的帮助,我的论文得以顺利完成。感谢你们,这几年里给我了那么多的帮助与鼓励,无论欢笑与泪水,总有你们陪伴。最后对老师,同学和家人再次致以我最衷心的感谢!教导过我的老师,你们的人格魅力永记我心间。身边的同学和朋友,有你们,我的大学才算完整。寝室的好友,你们的存在犹如
39、上天恩赐,有了你们我的生活更加精彩。感谢那些同做毕业设计的战友,那段光辉岁月不管成败,存在即为珍贵。附录部分音乐简谱如下: 同一首歌 unsigned char code Music_tyshg=0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x66, 0x18,0x03, 0x17,0x02, 0x15,0x02, 0x16,0x01, 0x15,0x02, 0x10,0x02, 0x15,0x00, 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x02, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x15
40、,0x02, 0x18,0x66, 0x17,0x03, 0x19,0x02, 0x16,0x03, 0x17,0x03, 0x16,0x00, 0x17,0x01, 0x19,0x02, 0x1B,0x02, 0x1B,0x70, 0x1A,0x03, 0x1A,0x01, 0x19,0x02, 0x19,0x03, 0x1A,0x03, 0x1B,0x02, 0x1A,0x0D, 0x19,0x03, 0x17,0x00, 0x18,0x66, 0x18,0x03, 0x19,0x02, 0x1A,0x02, 0x19,0x0C, 0x18,0x0D, 0x17,0x03, 0x16,0x
41、01, 0x11,0x02, 0x11,0x03, 0x10,0x03, 0x0F,0x0C, 0x10,0x02, 0x15,0x00, 0x1F,0x01, 0x1A,0x01, 0x18,0x66, 0x19,0x03, 0x1A,0x01, 0x1B,0x02, 0x1B,0x03, 0x1B,0x03, 0x1B,0x0C, 0x1A,0x0D, 0x19,0x03, 0x17,0x00, 0x1F,0x01, 0x1A,0x01, 0x18,0x66, 0x19,0x03, 0x1A,0x01, 0x10,0x02, 0x10,0x03, 0x10,0x03, 0x1A,0x0C,
42、 0x18,0x0D, 0x17,0x03, 0x16,0x00, 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x70, 0x18,0x03, 0x17,0x02, 0x15,0x03, 0x15,0x03, 0x16,0x66, 0x16,0x03, 0x16,0x02, 0x16,0x03, 0x15,0x03, 0x10,0x02, 0x10,0x01, 0x11,0x01, 0x11,0x66, 0x10,0x03, 0x0F,0x0C, 0x1A,0x02, 0x19,0x02, 0x16,0x03, 0x16,0x03, 0x18,0x66, 0x
43、18,0x03, 0x18,0x02, 0x17,0x03, 0x16,0x03, 0x19,0x00, 0xff,0xff ; 两只蝴蝶 unsigned char code Music_lzhhd = 0x17,0x03, 0x16,0x03, 0x17,0x01, 0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03, 0x10,0x0E, 0x15,0x04, 0x0F,0x01,
44、 0x17,0x03, 0x16,0x03, 0x17,0x01, 0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x01,0x10,0x03, 0x15,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03,0x16,0x03, 0x15,0x03, 0x10,0x03, 0x15,0x03, 0x16,0x01,0x17,0x03, 0x16,0x03, 0x17,0x01, 0x16,0x03, 0x17,0x03,0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02,0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03,0x10,0x0E, 0x15,0x04, 0x0F,0x01, 0x17,0x03, 0x19,0x03,0x19,0x01, 0x19,0x03, 0x1A,0x03, 0x19,0x03, 0x17,0x01,0x16,0x03, 0x16,0x03, 0x16,0x02, 0x16,0x0D, 0x17,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学数学基础与高阶思维的培养策略
- 会议达人必学:如何制作高效的商务会议汇报材料
- 房地产行业招聘:项目策划岗位面试要点
- 电工工具的使用与维修技术
- 新型口服降糖药的临床应用
- 大学毕业生求职信写作技巧及注意事项
- 企业资源规划ERP系统的实施与优化
- 河南省郑州市登封嵩阳中学2024-2025学年九年级上学期期中考试数学试卷(图片版无答案)
- 企业文化与品牌形象塑造
- 油库防雷电预案
- 部编版三年级下册语文课课练全册(附答案)
- 军用靶场设计方案
- 管理会计学 第10版 课件 第3章 本-量-利分析
- Unit 3 Zhong Nanshan- Part B(小学英语教学)闽教版英语五年级下册
- 消防维保方案(消防维保服务)(技术标)
- 车辆交通危险点分析预控措施
- QC成果提高SBS防水卷材铺贴质量一次合格率
- 大舜号海难事故案例分析
- TGRM 057.1-2023 非煤岩岩爆倾向性评价规范 第1部分:室内指标测定及等级分类
- 2023年安徽新闻出版职业技术学院单招考试职业技能考试模拟试题及答案解析
- LY/T 2271-2014造林树种与造林模式数据库结构规范
评论
0/150
提交评论