简易电子琴课程设计_第1页
简易电子琴课程设计_第2页
简易电子琴课程设计_第3页
简易电子琴课程设计_第4页
简易电子琴课程设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程名称:现代电子技术综合实验 实验名称:简易电子琴 学生姓名:张 通 班级: 08 通信 b 班 学号: 28010101096 实验地点:电子设计实验(a408) 实验学时:32 学时 i 摘摘 要要 当前市场上的玩具市场需求量大,其中电子琴就是一个很好的应用,本设计的主要 任务是要实现以单片机 stc89c51rc 为控制核心的简单音乐发生器。本系统由 51 系列单 片机 stc89c51rc,矩阵键盘、led 数码管、扬声器组成,可通过按压不同的按键控制不 同音符的播放和显示。 关键词:51 单片机;电子琴;行列键盘;定时/计数器 ii 目录目录 1 项目的主要任务4 2 总体设计方案

2、5 2.1 控制模块选择方案5 3.1 按键选择方案5 3 硬件设计6 3.1 sst89e58 单片机简介6 3.2 系统工作原理8 3.3 系统硬件总体设计9 3.4 led 显示模块 10 3.5 扬声器模块 10 3.6 按键模块 10 4 软件设计12 4.1 显示模块12 4.2 按键模块12 5 系统调试14 6 设计总结15 附录 1 实物图16 附录 2 c51 源程序清单17 参考文献错误!未定义书签。错误!未定义书签。 1 1 1、项目主要任务、项目主要任务 1.1 课程设计的目的 巩固和运用所学课程,理论联系实际,提高分析、解决计算机技术实际问 题的独立工作能力,通过对

3、一个简易的八音符电子琴的设计,进一步加深对计 算机原理以及数字电路应用技术方面的了解与认识,进一步熟悉数字电路系统 设计、制作与调试的方法和步骤。巩固所学课堂知识,理论联系实际,提高分 析、解决计算机技术实际问题的独立工作能力。为了进一步了解计算机组成原 理与系统结构,用 c 语言去控制将会使我们对本专业知识可以更好地掌握。 1.2 课程设计的内容 (1)设计一个简易的八音符电子琴,它可通过按键输入来控制音响。 (2)演奏时可以选择是手动演奏(由键盘输入)还是自动演奏已存入的乐曲。 (3)能够自动演奏多首乐曲,且每首乐曲可重复演奏。 2 2 2、总体设计方案、总体设计方案 2.1 控制模块选择

4、方案 由于 stc89c51 单片机性价比较高,并完全满足本设计作品智能化的要求, 所以采用 stc89c51 单片机进行控制。 2.2 按键选择方案 传统电子琴可以用键盘上的“1”到“a”键演奏从低 so 到高 do 等 11 音。 该设计有 13 个按钮矩阵,设计成 21 个音,比传统音阶范围大,弹奏效果好。 该设计要实现一种由单片机控制的电子琴,具有 4x4 行列式键盘,并根据 按键通过扬声器将音乐播放出来。所以本系统由以 51 单片机为主控核心,和矩 阵键盘、扬声器、led 显示管模块一起组合而成。具体如图 2.1。 键盘矩阵 单片机单片机 数码管数码管 扬声器扬声器 图 2.1 系统

5、总体框图流程图 3 3、硬件设计、硬件设计 3.1 stc89c51rc 单片机简介 stc89c51rc 是一种高性能低功耗的采用 cmos 工艺制造的 8 位微控制器, 它提供下列标准特征:4k 字节的程序存储器,128 字节的 ram,32 条 i/o 线,2 个 16 位定时器/计数器, 一个 5 中断源两个优先级的中断结构,一个双工的串 行口, 片上震荡器和时钟电路。 引脚说明: vcc:电源电压 gnd:地 p0 口:p0 口是一组 8 位漏极开路型双向 i/o 口,作为输出口用时,每 个引脚能驱动 8 个 ttl 逻辑门电路。当对 0 端口写入 1 时,可以作为高阻抗输 入端使用

6、。 当 p0 口访问外部程序存储器或数据存储器时,它还可设定成地址数据总 线复用的形式。在这种模式下,p0 口具有内部上拉电阻。 在 eprom 编程时,p0 口接收指令字节,同时输出指令字节在程序校验时。 程序校验时需要外接上拉电阻。 p1 口:p1 口是一带有内部上拉电阻的 8 位双向 i/o 口。p1 口的输出缓 冲能接受或输出 4 个 ttl 逻辑门电路。当对 p1 口写 1 时,它们被内部的上拉电 阻拉升为高电平,此时可以作为输入端使用。当作为输入端使用时,p1 口因为 内部存在上拉电阻,所以当外部被拉低时会输出一个低电流(iil)。 p2 口:p2 是一带有内部上拉电阻的 8 位双

7、向的 i/o 端口。p2 口的输出 缓冲能驱动 4 个 ttl 逻辑门电路。当向 p2 口写 1 时,通过内部上拉电阻把端口 拉到高电平,此时可以用作输入口。作为输入口,因为内部存在上拉电阻,某 个引脚被外部信号拉低时会输出电流(iil)。 p2 口在访问外部程序存储器或 16 位地址的外部数据存储器(例如 movx dptr)时,p2 口送出高 8 位地址数据。在这种情况下,p2 口使用强大的内 部上拉电阻功能当输出 1 时。当利用 8 位地址线访问外部数据存储器时(例 movx r1),p2 口输出特殊功能寄存器的内容。 当 eprom 编程或校验时,p2 口同时接收高 8 位地址和一些控

8、制信号。 p3 口:p3 是一带有内部上拉电阻的 8 位双向的 i/o 端口。p3 口的输出 缓冲能驱动 4 个 ttl 逻辑门电路。当向 p3 口写 1 时,通过内部上拉电阻把端口 4 拉到高电平,此时可以用作输入口。作为输入口,因为内部存在上拉电阻,某 个引脚被外部信号拉低时会输出电流(iil)。 p3 口同时具有 stc89c51rc 的多种特殊功能,具体如表 1 所示。 表 3-1 p3 口的第二功能 端口引脚第二功能 p3.0 rxd (串行输入口) p3.1 txd(串行输出口) p3.2 (外部中断 0)0int p3.3(外部中断 1)1int p3.4 t0(定时器 0) p

9、3.5 t1(定时器 1) p3.6(外部数据存储器写选通)wr p3.7(外部数据存储器都选通)rd rst:复位输入。当振荡器工作时,rst 引脚出现两个机器周期的高电平 将使单片机复位。 ale/:当访问外部存储器时,地址锁存允许是一输出脉冲,用以prog 锁存地址的低 8 位字节。当在 flash 编程时还可以作为编程脉冲输出 ()。prog 一般情况下,ale 是以晶振频率的 1/6 输出,可以用作外部时钟或定时目 的。但也要注意,每当访问外部数据存储器时将跳过一个 ale 脉冲。 :程序存储允许时外部程序存储器的读选通信号。/vpp:外部psenea 访问允许。为了使单片机能够有效

10、的传送外部数据存储器从 0000h 到 fffh 单元 的指令,必须同 gnd 相连接。需要主要的是,如果加密位 1 被编程,复位时ea ea 端会自动内部锁存。 当执行内部编程指令时,应该接到 vcc端。ea xtal1:振荡器反相放大器以及内部时钟电路的输入端。 xtal2:振荡器反相放大器的输出端。 5 3.2 系统工作原理 本系统扫描键盘矩阵、显示按键、扬声器发出对应音符。 4*4 行列式键盘识别及显示原理如下: 组成键盘的按键有机械式、电容式、导电橡胶式、薄膜式多种,但不管什 么形式,其作用都是一个使电路接通与断开的开关。目前微机系统中使用的键 盘按其功能不同,通常可分为编码键盘和非

11、编码键盘两种基本类型。 编码键盘:键盘本身带有实现接口主要功能所需的硬件电路。不仅能自动 检测被按下的键,并完成去抖动、防串键等功能,而且能提供与被按键功能对 应的键码(如 ascii 码)送往 cpu。所以,编码键盘接口简单、使用方便。但 由于硬件电路较复杂,因而价格较贵。 非编码键盘:键盘只简单地提供按键开关的行列矩阵。有关按键的识别、 键码的确定与输入、去抖动等功能均由软件完成。目前微机系统中,一般为了 降低成本大多数采用非编码键盘。 键盘接口必须具有去抖动、防串键、按键识别和键码产生 4 个基本功能。 (1)去抖动:每个按键在按下或松开时,都会产生短时间的抖动。抖动的 持续时间与键的质

12、量相关,一般为 520mm。所谓抖动是指在识别被按键是必 须避开抖动状态,只有处在稳定接通或稳定断开状态才能保证识别正确无误。 去抖问题可通过软件延时或硬件电路解决。 (2)防串键:防串键是为了解决多个键同时按下或者前一按键没有释放又 有新的按键按下时产生的问题。常用的方法有双键锁定和 n 键轮回两种方法。 双键锁定,是当有两个或两个以上的按键按下时,只把最后释放的键当作有效 键并产生相应的键码。n 键轮回,是当检测到有多个键被按下时,能根据发现 它们的顺序依次产生相应键的键码。 (3)被按键识别:如何识别被按键是接口解决的主要问题,一般可通过软 硬结合的方法完成。常用的方法有行扫描法和线反转

13、法两种。行扫描法的基本 思想是,由程序对键盘逐行扫描,通过检测到的列输出状态来确定闭合键,为 此,需要设置入口、输出口一个,该方法在微机系统中被广泛使用。线反转法 的基本思想是通过行列颠倒两次扫描来识别闭合键,为此需要提供两个可编程 6 的双向输 7 入/输出端口。 (4)键码产生:为了从键的行列坐标编码得到反映键功能的键码,一般在 内存区中建立一个键盘编码表,通过查表获得被按键的键码。 总体电路具体流程图如图: y n 开始 模块初始化 按键扫码 根据键值 keyno 读出音符 启动定时中断 发音 延时 有无键按下 keyno=keyno+11 键值 keyno 是否为 11 关中断 结束

14、8 3.3 系统硬件总体设计 本系统由键盘矩阵、led 显示管、扬声器这几个部分组成,led 显示管显示 当前按键,扬声器发出对应音符。硬件总体设计图如下: 图 3.3 系统硬件总体设计图 3.4 led 显示模块 led 显示模块的接口电路如图 3.4 所示。图中,数码管采用共阳结构,为 节省单片机口线,采用动态扫描显示。pnp 型三极管 q1q4 实现数码管驱动。 图 3.4 led 显示模块接口电路 9 3.5 扬声器模块 矩阵扫描扬声器发出对应音符模块如下: 图 3.5 扬声器模块 3.6 按键模块 对键盘扫描电路的扫描方式有行扫描法和线反转法,在此次程序编写中, 采用行扫描法,通过扫

15、描口线电平信息给单片机,经处理程序,判断出是哪个 按键按下,并送主程序调子程序以实现不同功能。 1 4、软件设计、软件设计 4.1 显示模块 七段 led 显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各 管的极管的接线形式,可分成共阴极型和共阳极型。led 数码管的 g-a 七个发光二极管因 加正电压而发亮,因加零电压而不以发亮,不同亮暗的组合就能形成不同的字形,这种 组合称之为字形码。 本系统按键显示模块软件流程图如图 4.1: 4.2 按键模块 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利 用不同的频率的组合,即可构成我们所想要的音乐了,当

16、然对于单机来产生不同的频率 非常方便,我们可以利用单片机的定时/计数器 t0 来产生这样方波频率信号,因此,我 们只要把一首歌曲的音阶对应频率关系正确即可。 开始 模块初始化 键盘按下 键盘扫描 显示扫描 结束 n y 2 利用 at89c51 的内部定时器使其工作计数器模式(mode1)下,改变计数值 th0 及 tl0 以产生不同频率的方法产生不同音阶,例如,频率为 523hz,其周期 t1/5231912s,因此只要令计数器计时 956s/1s956,每计数 956 次时将 i/o 反相, 就可得到中音 do(523hz) 。 计数脉冲值与频率的关系式: n=fi2fr 上式中,n 是计

17、数值;fi 是机器频率(晶体振荡器为 12mhz 时,其频率为 1mhz) ; fr 是想要产生的频率。 其计数初值 t 的求法如下: t65536n65536fi2fr 例如:设 k65536,fi1mhz,求低音 do(261hz) 、中音 do(523hz) 、高音 do(1046hz)的计数值。 t65536n65536fi2fr6553610000002fr65536500000/fr 低音 do 的 t65536500000/26263627 中音 do 的 t65536500000/52364580 高音 do 的 t65536500000/104665059 本系统按键发出对应

18、音符模块软件流程图如图 4.2: 开始 模块初始化 键盘按下 键盘扫描 启动定时根据 keyno 发音 结束 n y 3 5 5、系统调试、系统调试 调试是电路与系统设计中的重要环节,通过调试,逐步排除电路连接、元件装配、 程序运行过程中可能存在的各种故障,使系统在满足功能要求的前提下稳定、可靠地工 作。 焊好电路板后先用万用表检测是否存在短路故障,有的话一定要找到短路点,否则, 一旦通电,极有可能损坏电源或电路板。在没有短路存在的情况下,初次上电也一定要 细心,不要接反电源极性,否则很容易烧坏芯片。 电路板除短路或断路外还可能存在其它故障,如元器件老化失效或管脚接错等,为 了验证电路板硬件的

19、正确性,可先编写一些针对硬件各单元的基本测试程序,经编译、 连接、转换后下载到单片机运行,发现硬件故障要及时排除,直到各部分硬件都能独立 正常工作。 4 6 6、设计总结、设计总结 单片机作为我们的主要专业课之一,虽然在开学初我对这门课并没有太大兴趣,觉 得那些程序枯燥乏味,但在这次课程设计后我发现自己在一点一滴的努力中对单片机的 兴趣也在逐渐增加。在课堂上我们掌握的仅仅是理论上的知识,但此次的课程设计锻炼 了我们的实践能力,让我们学会如何把学到的专业理论知识运用到实践中去。 整个设计过程中,不仅巩固了书本知识,更学到了许多平时不会去注意的知识,这 是在设计过程中遇到问题而查阅大量资料去解决才

20、能获得的。 同时,课程设计还锻炼了我们的思维能力。要做好一个设计,必须在设计之前先根 据要设计的内容选取合适的单片机和设计方案,对所用单片机的内部结构有一个系统的 了解;要有一个清晰的思路和一个完整的软件流程图;在设计程序时,一次就想设计好 是不现实的,必须经过反复的改进和完善,不仅能实现应有的功能,并能完整的展现出 自己的思路;碰到问题时不要着急,这正是一个学习分析的好机会,解决过后之后就不 会困于相同的问题了。 另外,同学间的交流也能让我们吸收不同的思维,互帮互助。还要感谢指导老师在 我们遇到困难时给予我们的建议与帮助。 课程设计虽然结束了,但是从中学到的知识却会让我受益终生。发现、提出、

21、分析、 解决问题和实践能力的提高都将益于今后的学习工作。 5 附录附录 1 实物图实物图 6 附录附录 2 c51 源程序清单源程序清单 #include #include #include #define uchar unsigned char #define uint unsigned int /共阳数码管编码 uchar code dsy_table = 0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80, /0,1,2,3,4,5,6,7,8 0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x8e,0

22、xbf; /9,a,b,c,d,e,f,- /各音符应对的延时 uint code tone_delay_table = 64580,64684,64777,64820, /中 1do,中 2re,中 3me,中 4fa 64898,64968,65030,63628, /中 5so,中 6la,中 7si,低 1do 64021,64260,64524, /低 3me,低 5so,低 7si 65058,65110,65157,65178, /高 1do,高 2re,高 3me,高 4fa 65217,65252,65283,63835, /高 5so,高 6la,高 7si,低 2re 6

23、4103,64400,64524; /低 4fa,低 6la,低 7si0 uchar code led99224 =0 xf9,0 xbf,0 xbf,0 xbf, 0 xa4,0 xbf,0 xbf,0 xbf, 0 xb0,0 xbf,0 xbf,0 xbf, 0 x99,0 xbf,0 xbf,0 xbf, 0 x92,0 xbf,0 xbf,0 xbf, 0 x82,0 xbf,0 xbf,0 xbf, 0 xf8,0 xbf,0 xbf,0 xbf, 0 xf9,0 xf7,0 xf7,0 xf7, 0 xb0,0 xf7,0 xf7,0 xf7, 0 x92,0 xf7,0 xf

24、7,0 xf7, 0 xf8,0 xf7,0 xf7,0 xf7, 0 xf9,0 xfe,0 xfe,0 xfe, 7 0 xa4,0 xfe,0 xfe,0 xfe, 0 xb0,0 xfe,0 xfe,0 xfe, 0 x99,0 xfe,0 xfe,0 xfe, 0 x92,0 xfe,0 xfe,0 xfe, 0 x82,0 xfe,0 xfe,0 xfe, 0 xf8,0 xfe,0 xfe,0 xfe, 0 xa4,0 xf7,0 xf7,0 xf7, 0 x99,0 xf7,0 xf7,0 xf7, 0 x82,0 xf7,0 xf7,0 xf7, 0 xf8,0 xf7,0

25、xf7,0 xf7 ; unsigned char code music_girl= 0 x17,0 x02, 0 x17,0 x03, 0 x18,0 x03, 0 x19,0 x02, 0 x15,0 x03, 0 x16,0 x03, 0 x17,0 x03, 0 x17,0 x03, 0 x17,0 x03, 0 x18,0 x03, 0 x19,0 x02, 0 x16,0 x03, 0 x17,0 x03, 0 x18,0 x02, 0 x18,0 x03, 0 x17,0 x03, 0 x15,0 x02, 0 x18,0 x03, 0 x17,0 x03, 0 x18,0 x0

26、2, 0 x10,0 x03, 0 x15,0 x03, 0 x16,0 x02, 0 x15,0 x03, 0 x16,0 x03, 0 x17,0 x02, 0 x17,0 x03, 0 x18,0 x03, 0 x19,0 x02, 0 x1a,0 x03, 0 x1b,0 x03, 0 x1f,0 x03, 0 x1f,0 x03, 0 x17,0 x03, 0 x18,0 x03, 0 x19,0 x02, 0 x16,0 x03, 0 x17,0 x03, 0 x18,0 x03, 0 x17,0 x03, 0 x18,0 x03, 0 x1f,0 x03, 0 x1f,0 x02

27、, 0 x16,0 x03, 0 x17,0 x03, 0 x18,0 x03, 0 x17,0 x03, 0 x18,0 x03, 0 x20,0 x03, 0 x20,0 x02, 0 x1f,0 x03, 0 x1b,0 x03, 0 x1f,0 x66, 0 x20,0 x03, 0 x21,0 x03, 0 x20,0 x03, 0 x1f,0 x03, 0 x1b,0 x03, 0 x1f,0 x66, 0 x1f,0 x03, 0 x1b,0 x03, 0 x19,0 x03, 0 x19,0 x03, 0 x15,0 x03, 0 x1a,0 x66, 0 x1a,0 x03,

28、 0 x19,0 x03, 0 x15,0 x03, 0 x15,0 x03, 0 x17,0 x03, 0 x16,0 x66, 0 x17,0 x04, 0 x18,0 x04, 0 x18,0 x03, 0 x19,0 x03, 0 x1f,0 x03, 0 x1b,0 x03, 0 x1f,0 x66, 0 x20,0 x03, 0 x21,0 x03, 0 x20,0 x03, 0 x1f,0 x03, 0 x1b,0 x03, 0 x1f,0 x66, 0 x1f,0 x03, 0 x1b,0 x03, 0 x19,0 x03, 0 x19,0 x03, 0 x15,0 x03,

29、0 x1a,0 x66, 0 x1a,0 x03, 0 x19,0 x03, 0 x19,0 x03, 0 x1f,0 x03, 0 x1b,0 x03, 0 x1f,0 x00, 0 x1a,0 x03, 0 x1a,0 x03, 0 x1a,0 x03, 0 x1b,0 x03, 0 x1b,0 x03, 0 x1a,0 x03, 0 x19,0 x03, 0 x19,0 x02, 0 x17,0 x03, 8 0 x15,0 x17, 0 x15,0 x03, 0 x16,0 x03, 0 x17,0 x03, 0 x18,0 x03, 0 x17,0 x04, 0 x18,0 x0e,

30、 0 x18,0 x03, 0 x17,0 x04, 0 x18,0 x0e, 0 x18,0 x66, 0 x17,0 x03, 0 x18,0 x03, 0 x17,0 x03, 0 x18,0 x03, 0 x20,0 x03, 0 x20,0 x02, 0 x1f,0 x03, 0 x1b,0 x03, 0 x1f,0 x66, 0 x20,0 x03, 0 x21,0 x03, 0 x20,0 x03, 0 x1f,0 x03, 0 x1b,0 x03, 0 x1f,0 x66, 0 x1f,0 x04, 0 x1b,0 x0e, 0 x1b,0 x03, 0 x19,0 x03,

31、0 x19,0 x03, 0 x15,0 x03, 0 x1a,0 x66, 0 x1a,0 x03, 0 x19,0 x03, 0 x15,0 x03, 0 x15,0 x03, 0 x17,0 x03, 0 x16,0 x66, 0 x17,0 x04, 0 x18,0 x04, 0 x18,0 x03, 0 x19,0 x03, 0 x1f,0 x03, 0 x1b,0 x03, 0 x1f,0 x66, 0 x20,0 x03, 0 x21,0 x03, 0 x20,0 x03, 0 x1f,0 x03, 0 x1b,0 x03, 0 x1f,0 x66, 0 x1f,0 x03, 0

32、 x1b,0 x03, 0 x19,0 x03, 0 x19,0 x03, 0 x15,0 x03, 0 x1a,0 x66, 0 x1a,0 x03, 0 x19,0 x03, 0 x19,0 x03, 0 x1f,0 x03, 0 x1b,0 x03, 0 x1f,0 x00, 0 x18,0 x02, 0 x18,0 x03, 0 x1a,0 x03, 0 x19,0 x0d, 0 x15,0 x03, 0 x15,0 x02, 0 x18,0 x66, 0 x16,0 x02, 0 x17,0 x02, 0 x15,0 x00, 0 x00,0 x00; unsigned char c

33、ode music_same= 0 x0f,0 x01, 0 x15,0 x02, 0 x16,0 x02, 0 x17,0 x66, 0 x18,0 x03, 0 x17,0 x02, 0 x15,0 x02, 0 x16,0 x01, 0 x15,0 x02, 0 x10,0 x02, 0 x15,0 x00, 0 x0f,0 x01, 0 x15,0 x02, 0 x16,0 x02, 0 x17,0 x02, 0 x17,0 x03, 0 x18,0 x03, 0 x19,0 x02, 0 x15,0 x02, 0 x18,0 x66, 0 x17,0 x03, 0 x19,0 x02

34、, 0 x16,0 x03, 0 x17,0 x03, 0 x16,0 x00, 0 x17,0 x01, 0 x19,0 x02, 0 x1b,0 x02, 0 x1b,0 x70, 0 x1a,0 x03, 0 x1a,0 x01, 0 x19,0 x02, 0 x19,0 x03, 0 x1a,0 x03, 0 x1b,0 x02, 0 x1a,0 x0d, 0 x19,0 x03, 0 x17,0 x00, 0 x18,0 x66, 0 x18,0 x03, 0 x19,0 x02, 0 x1a,0 x02, 0 x19,0 x0c, 0 x18,0 x0d, 0 x17,0 x03,

35、 0 x16,0 x01, 0 x11,0 x02, 0 x11,0 x03, 0 x10,0 x03, 0 x0f,0 x0c, 0 x10,0 x02, 0 x15,0 x00, 0 x1f,0 x01, 0 x1a,0 x01, 0 x18,0 x66, 0 x19,0 x03, 0 x1a,0 x01, 0 x1b,0 x02, 0 x1b,0 x03, 0 x1b,0 x03, 0 x1b,0 x0c, 0 x1a,0 x0d, 0 x19,0 x03, 0 x17,0 x00, 0 x1f,0 x01, 0 x1a,0 x01, 0 x18,0 x66, 0 x19,0 x03,

36、0 x1a,0 x01, 0 x10,0 x02, 0 x10,0 x03, 0 x10,0 x03, 0 x1a,0 x0c, 0 x18,0 x0d, 0 x17,0 x03, 0 x16,0 x00, 0 x0f,0 x01, 0 x15,0 x02, 0 x16,0 x02, 0 x17,0 x70, 0 x18,0 x03, 0 x17,0 x02, 0 x15,0 x03, 0 x15,0 x03, 0 x16,0 x66, 9 0 x16,0 x03, 0 x16,0 x02, 0 x16,0 x03, 0 x15,0 x03, 0 x10,0 x02, 0 x10,0 x01,

37、 0 x11,0 x01, 0 x11,0 x66, 0 x10,0 x03, 0 x0f,0 x0c, 0 x1a,0 x02, 0 x19,0 x02, 0 x16,0 x03, 0 x16,0 x03, 0 x18,0 x66, 0 x18,0 x03, 0 x18,0 x02, 0 x17,0 x03, 0 x16,0 x03, 0 x19,0 x00, 0 x00,0 x00 ; unsigned char code music_love= 0 x19,0 x03, 0 x19,0 x03, 0 x19,0 x03, 0 x19,0 x04, 0 x19,0 x0e, 0 x19,0

38、 x04, 0 x19,0 x0e, 0 x1a,0 x03, 0 x19,0 x7a, 0 x20,0 x03, 0 x20,0 x04, 0 x1b,0 x0e, 0 x1b,0 x03, 0 x19,0 x03, 0 x1f,0 x0e, 0 x1f,0 x7a, 0 x15,0 x04, 0 x1f,0 x03, 0 x1f,0 x04, 0 x19,0 x0e, 0 x19,0 x0e, 0 x17,0 x03, 0 x1a,0 x0e, 0 x1a,0 x15, 0 x19,0 x03, 0 x19,0 x03, 0 x19,0 x03, 0 x19,0 x03, 0 x19,0

39、x03, 0 x1a,0 x04, 0 x19,0 x0e, 0 x1a,0 x0e, 0 x19,0 x7b, 0 x19,0 x04, 0 x20,0 x03, 0 x20,0 x04, 0 x1b,0 x0e, 0 x1b,0 x04, 0 x19,0 x03, 0 x1f,0 x0e, 0 x1f,0 x7a, 0 x15,0 x04, 0 x1f,0 x03, 0 x1f,0 x04, 0 x19,0 x0e, 0 x19,0 x04, 0 x17,0 x03, 0 x1a,0 x0e, 0 x1a,0 x15, 0 x1a,0 x03, 0 x1a,0 x04, 0 x1a,0 x

40、0e, 0 x1a,0 x03, 0 x1a,0 x04, 0 x1b,0 x0e, 0 x1b,0 x04, 0 x1f,0 x03, 0 x1f,0 x0e, 0 x1f,0 x03, 0 x1b,0 x03, 0 x1a,0 x04, 0 x19,0 x04, 0 x1a,0 x03, 0 x1a,0 x15, 0 x1b,0 x03, 0 x1b,0 x04, 0 x21,0 x0e, 0 x21,0 x67, 0 x1b,0 x04, 0 x1a,0 x67, 0 x19,0 x04, 0 x1a,0 x04, 0 x1b,0 x7b, 0 x1f,0 x0e, 0 x1b,0 x1

41、5, 0 x1a,0 x03, 0 x1a,0 x03, 0 x1a,0 x03, 0 x1a,0 x04, 0 x1b,0 x0e, 0 x1b,0 x04, 0 x1f,0 x03, 0 x1f,0 x0e, 0 x1f,0 x03, 0 x1b,0 x03, 0 x1a,0 x04, 0 x19,0 x04, 0 x1a,0 x0d, 0 x1a,0 x15, 0 x1b,0 x03, 0 x1b,0 x04, 0 x21,0 x0d, 0 x21,0 x67, 0 x1b,0 x04, 0 x1a,0 x0e, 0 x1a,0 x67, 0 x19,0 x04, 0 x1a,0 x04

42、, 0 x1f,0 x7b, 0 x1f,0 x0e, 0 x21,0 x0d, 0 x20,0 x01, 0 x21,0 x01, 0 x23,0 x01, 0 x1f,0 x00, 0 x21,0 x03, 0 x22,0 x03, 0 x23,0 x03, 0 x24,0 x0d, 0 x24,0 x03, 0 x23,0 x03, 0 x1f,0 x0d, 0 x1f,0 x0d, 0 x1f,0 x17, 0 x1a,0 x03, 0 x1f,0 x03, 0 x24,0 x03, 0 x21,0 x03, 0 x21,0 x16, 0 x1a,0 x0d, 0 x1f,0 x0d,

43、 0 x1b,0 x03, 0 x1b,0 x16, 0 x21,0 x01, 0 x23,0 x01, 0 x1f,0 x00, 0 x21,0 x03, 0 x22,0 x03, 0 x23,0 x03, 0 x24,0 x0d, 0 x24,0 x04, 0 x23,0 x04, 0 x1f,0 x0d, 0 x1f,0 x0d, 0 x21,0 x0d, 0 x20,0 x03, 0 x1f,0 x0d, 0 x20,0 x03, 0 x1f,0 x00, 0 x00,0 x00 ; 10 sbit beep = p37; /蜂鸣器 uchar keys=0 x8; uint i,led;/ 声明按钮及播放谱变量 uchar keyno; uchar flag=0; uchar flag1=0; /按键序号 uchar flag2=0; /- /延时 /- void delayms(uchar x) uchar i; while( x-) for(i =0;i4) 0 x0f; /对 03 行分别附加起始值 0,4,8,12 switch (tmp) case 1 :k+=0; break; case 2 :k+=4; break; case 4 :k+=8; break; case 8 :k+=12; break; default:return; keyno

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论