致 谢
在此论文撰写过程中,要特别感谢我的导师李优新老师的导与督促,同时感谢她的谅解与包容。没有李优新老师的帮助也就没有今天的这篇论文。求学历程是艰苦的,但又是快乐的。感谢我的班主任姚老师,谢谢他在这四年中为我们全班所做的一切,他不求回报,无私奉献的精神很让我感动,再次向他表示由衷的感谢。在这四年的学期中结识的各位生活和学习上的挚友让我得到了人生最大的一笔财富。在此,也对他们表示衷心感谢。
谢谢我的父母,没有他们辛勤的付出也就没有我的今天,在这一刻,将最崇高的敬意献给你们!
本文参考了大量的文献资料,在此,向各学术界的前辈们致敬!
26
附录A 主文件程序
#include
void Delay1ms(unsigned int count) { }
//*****************************Music****************************************************** //生日快乐
unsigned char code Music_Girl[]={0x0F,0x03, 0x0F,0x03, 0x10,0x02, 0x0F,0x02, 0x15,0x02,
0x11,0x01, 0x0F,0x03, 0x0F,0x03, 0x10,0x02, 0x0F,0x02,
0x16,0x02, 0x15,0x01, 0x0F,0x02, 0x0F,0x02, 0x0F,0x03,
0x0F,0x03, 0x19,0x02, 0x17,0x02, 0x15,0x02, 0x11,0x0C,
0x10,0x16, 0x18,0x03, 0x18,0x03, 0x17,0x02, 0x15,0x02,
0x16,0x02, 0x15,0x16, 0x00,0x00 }; //小星星
unsigned char code Music_Same[]={ 0x15,0x02, 0x15,0x02, 0x19,0x02, 0x19,0x02, 0x1A,0x02,
0x1A,0x02, 0x19,0x01, 0x18,0x02, 0x18,0x02, 0x17,0x02,
0x17,0x02, 0x16,0x02, 0x16,0x02, 0x15,0x01, 0x19,0x02,
unsigned int i,j; for(i=0;i 27 0x19,0x02, 0x18,0x02, 0x18,0x02, 0x17,0x02, 0x17,0x02, 0x16,0x01, 0x19,0x02, 0x19,0x02, 0x18,0x02, 0x18,0x02, 0x17,0x02, 0x17,0x02, 0x16,0x01, 0x15,0x02, 0x15,0x02, 0x19,0x02, 0x19,0x02, 0x1A,0x02, 0x1A,0x02, 0x19,0x01, 0x18,0x02, 0x18,0x02, 0x17,0x02, 0x17,0x02, 0x16,0x02, 0x16,0x02, 0x15,0x01, 0x00,0x00 }; //有只雀仔跌落水 unsigned char code Music_Two[] ={0x19,0x02, 0x1A,0x03, 0x19,0x03, 0x18,0x02, 0x17,0x02, 0x18,0x02, 0x19,0x00, 0x16,0x02, 0x17,0x02, 0x18,0x01, 0x17,0x02, 0x18,0x02, 0x19,0x01, 0x19,0x02, 0x1A,0x03, 0x19,0x03, 0x18,0x02, 0x17,0x02, 0x18,0x02, 0x19,0x00, 0x16,0x01, 0x19,0x01, 0x17,0x02, 0x15,0x00, 0x00,0x00 }; //*********************************************************************************** main() { { Delay1ms(10); InitialSound(); while(1){ if(key==0) 28 if(key==0) Play(Music_Girl,0,3,360); do { }while(key==1); if(key==0) { Delay1ms(10); if(key==0) Play(Music_Same,0,3,360); do { }while(key==1); if(key==0) { Delay1ms(10); if(key==0) Play(Music_Two,0,3,360);} } } } } 29 附录B 播放文件程序 /************************************************************************** File Name: SoundPlay.h Author: Jiang Jian Jun Created: 2005/5/16 Modified: *******************************************************************************/ /* ************************************************************************** 曲谱存贮格式 unsigned char code MusicName{音高,音长,音高,音长...., 0,0}; 音高由三位数字组成: 音长最多由三位数字组成: 个位表示音符的时值,其对应关系是: |数值(n): |0 |1 |2 |3 | 4 | 5 | 6 30 SOUND PLAY FOR 51MCU COPYRIGHT (c) 2005 BY JJJ. -- ALL RIGHTS RESERVED -- NO 1.0 Revision: 末尾:0,0 表示结束(Important) 个位是表示 1~7 这七个音符 十位是表示音符所在的音区:1-低音,2-中音,3-高音; 百位表示这个音符是否要升半音: 0-不升,1-升半音。