基于STC89C52的数字式音乐盒设计毕业设计_第1页
基于STC89C52的数字式音乐盒设计毕业设计_第2页
基于STC89C52的数字式音乐盒设计毕业设计_第3页
基于STC89C52的数字式音乐盒设计毕业设计_第4页
基于STC89C52的数字式音乐盒设计毕业设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、黑龙江农业经济职业学院黑龙江农业经济职业学院 毕业论文毕业论文 基于 stc89c52 的数字式音乐盒设计 姓姓 名:名: xxxxxx 指导教师:指导教师: xxxxxx 专专 业:业: 应用电子技术应用电子技术 班班 级:级: xxxxxx 20112011 年年 1010 月月 2020 日日 目 录 前前 言言.2 2 1.1.系统基本设计思路系统基本设计思路.3 3 1.1 课题意义 .3 1.2 设计方案 .3 1.3 研究内容 .3 2.2.单元电路方案论证单元电路方案论证.3 3 2.1 控制器模块 .3 2.2 显示模块 .4 2.3 最终方案 .4 3.3.系统总体方案介绍

2、系统总体方案介绍.4 4 3.1 系统硬件组成图 .4 3.2 最小系统设计 .5 3.2.1 时钟电路 .5 3.2.2 复位电路 .5 3.3 主控机模块 .6 3.4 音乐机模块 .7 3.5 按键模块 .7 4.4.节拍的确定节拍的确定.7 7 结结 论论.9 9 附录:附录:.1212 主控机程序.12 音乐机程序.16 基于 stc89c52 数字式音乐盒的设计 摘摘 要要:本设计是以 stc89c51 芯片的电路为基础,外部加上放音设备,以此来实现音乐演 奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。 用户可以按照自己的喜好选择音乐并将其转化成

3、机器码存入单片机的存储器中。对于不同型号 的单片机只需要相应的改变一下地址即可。该软、硬件系统具有很好的通用性,很高的实际使 用价值,为广大的单片机和音乐爱好者提供了很好的借鉴。 关键词关键词:单片机,数码管,机间通讯 前前 言言 21 世纪,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个 领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能 进一步提高,产品更新换代的节奏也越来越快。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着 cmos 化、低功耗、小体 积、大容量、高性能、低价格和外围电路内装化等几个方面发展。单片机应用

4、的重要意义还在 于它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实 现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也 称为微控制技术,是传统控制技术的一次革命。单片机渗透到我们生活的各个领域,几乎很难 找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通 讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能 ic 卡,民用豪华 轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等, 这些都离不开单片机。 随着科学技术的进步和社会的发展,人类所接触的信息也

5、在不断增加并且日益复杂。面对 浩如烟海的信息,人们已经能够利用计算机等工具高效准确地对之进行处理,但要想将处理完 的信息及时,清晰地传递给别人,还必须通过寻求更加卓越的显示技术来实现。单片机技术与 液晶显示技术的结合,使信息传输交流向着智能可视化方向迅速发展。 随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐 盒可以给人们带来美好的回忆,提高人们的精神文化享受。传统音乐盒多是机械型的,体积笨 重,发音单调,不能实现批量生产。本文设计的音乐盒是以单片机为核心元件的电子式音乐盒, 体积小,重量轻,能演奏和旋音乐,功能多,外观效果多彩,使用方便,并具有一定的商业价 值。

6、 1.系统基本设计思路 1.1 课题意义 音乐盒的起源,可追溯至中世纪欧洲文艺复兴时期。当时为使教会的钟塔报时,而将 大小的钟表装上机械装置,被称为“可发出声音的组钟” 。音乐盒有着 300 多年的发展历史, 是人类文明发展的历史见证。 传统的音乐盒多是机械音乐盒,其工作原理是通过齿轮带动一个带有铁钉的铁桶转动, 铁桶上的铁钉撞击铁片制成的琴键,从而发出声音。但是,机械式的音乐盒体积比较大, 比较笨重,且发音单调。水、灰尘等外在因素,容易使内部金属发音条变形,从而造成发 音跑调。另外,机械音乐盒放音时为了让音色稳定,必须放平不能动摇,而且价格昂贵,不 能实现大批量生产。 本文设计的音乐盒,是基

7、于单片机设计制作的电子式音乐盒。与传统的机械式音乐盒 相比更小巧,音质更优美且能演奏和弦音乐。电子式音乐盒动力来源是电池,制作工艺简 单,可进行批量生产,所以价格便宜。基于单片机制作的电子式音乐盒,控制功能强大, 可根据需要选歌,使用方便。根据存储容量的大小,可以尽可能多的存储歌曲。另外,可 以设计彩灯外观效果,使音乐盒的功能更加丰富。 1.2 设计方案 设计一个单片机的音乐盒,利用按键切换演奏出不同的乐曲。扬声器发出乐曲,与之 相对应的 led 亮起。使用五个按键,两个用来切换歌曲,两个切换八路 led 的变化花样。 一个用来启动和停止。 1.3 研究内容 (1)电路有两种工作模式:演奏音乐

8、模式和花样灯模式。演奏音乐模式:演奏完整的一 首的歌曲,八路 led 随着音乐变化。花样灯模式:八路 led 变化出各种花样,蜂鸣器随着发出 “嘀嘀”声 (2)按下按键 1 进入演奏音乐模式,再按切换歌曲,共两首歌曲。 (3)按下按键 2 进入花样灯模式,再按切换 led 花样,共三种花样。此电路的程序只占 用了 1k 左右,可编制更多的音乐和 led 花样,使系统的功能更加俱全。 2.单元电路方案论证 根据设计要求,本系统主要由控制器模块、显示模块构成。为较好的实现各模块的功 能,我们分别设计了几种方案并分别进行了论证。 2.1控制器模块 方案1:采用51系列作为系统控制器 单片机算术运算功

9、能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻 辑控制。由于其功耗低、体积较小、技术成熟和成本低等优点,在各个领域应用广泛。而 且抗干扰性能好。 方案2:采用凌阳系列单片机为系统的控制器 凌阳系列单片机可以实现各种复杂的逻辑功能,模块大,密度高,它将所有器件集成 在一块芯片上,减少了体积,提高了稳定性。凌阳系列单片机提高了系统的处理速度,适 合作为大规模实时系统的控制核心。 因51单片机价格比凌阳系列低得多,且本设计不需要很高的处理速度,从经济和方便 使用角度考虑,本设计选择了方案1。 2.2 显示模块 方案1:采用led数码管 采用控制用单片机,显示用led数码管这种方案。虽然显

10、示的内容有限,但是也可以显 示数字和几个英文字母,在这个设计中已经足够了,并且价格比液晶字符式要低的多,为 了控制设计制作的成本,在此设计中我们选用led数码管显示。 方案2:采用液晶字符显示器 控制用单片机,显示用液晶字符式,可以用软件达到很好的控制,硬件不复杂,液晶 字符显示器可以显示很丰富的内容,但是液晶字符式价格昂贵,在本设计中不需要用到复 杂的显示内容,因此我们放弃了此方案。 从济济的角度考虑,我们选择了方案1。 2.3 最终方案 经过反复论证,最终确定了如下方案: 1.主控制器:选用两片 51 内核的单片机作为主控制器 主控机:负责显示状态,检测按键以及向下位机传输数据 音乐机:在

11、接受到上位机的引号后产生一定频率方波从而发声 2.外设装置:这部分是由按键、数码管、led、扬声器等组成 3.系统总体方案介绍 3.1 系统硬件组成图 ea/vp 31 x1 19 x2 18 reset 9 rd 17 wr 16 int0 12 int1 13 t0 14 t1 15 p10/t 1 p11/t 2 p12 3 p13 4 p14 5 p15 6 p16 7 p17 8 p00 39 p01 38 p02 37 p03 36 p04 35 p05 34 p06 33 p07 32 p20 21 p21 22 p22 23 p23 24 p24 25 p25 26 p26 2

12、7 p27 28 psen 29 ale /p 30 txd 11 rxd 10 gnd 20 vcc 40 一一一 89c52rc ea/vp 31 x1 19 x2 18 reset 9 rd 17 wr 16 int0 12 int1 13 t0 14 t1 15 p10/t 1 p11/t 2 p12 3 p13 4 p14 5 p15 6 p16 7 p17 8 p00 39 p01 38 p02 37 p03 36 p04 35 p05 34 p06 33 p07 32 p20 21 p21 22 p22 23 p23 24 p24 25 p25 26 p26 27 p27 28

13、psen 29 ale /p 30 txd 11 rxd 10 gnd 20 vcc 40 一一一 89c52rc 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 10k一一 p00 p01 p02 p03 p04 p05 p06 p10 p11 p12 p13 p14 p15 p16 p17 p30 p31 p32 p33 p34 p35 p36 p37 p07 p27 p26 p25 p24 p23 p21 p20 p22 10uf r1 10k s1 一一一一 一一+ 一一 一

14、一- 一一一 一一一 vcc 10uf r5 10k s1 一一一一 vcc 30p 30p 11.0592m hz 30p 30p 11.0592m hz vcc vcc 1 2 3 p07 p06 p05 bee p p33 p34 p35 p37 p36 in+ 3 in- 2 gnd 4 v out 5 gain 1 gain 8 bypa ss 7 vcc 6 386一一 lm 386 r2 470 r3 10k bee p 10uf 47uf 104 473 r4 10 vcc + - bee p r6 200 r7 200 r8 200 r9 200 r10 200 r11 20

15、0 r12 200 r13 200 p25p24 p22 p23 p20p21 p27 p26 vcc 1 2 3 4 5 6 7 a b c d e f g 8 dp 9 gnd a bf c g d e dp 1h 1 2 3 4 5 6 7 a b c d e f g 8 dp 9 gnd a bf c g d e dp 4h 1 2 3 4 5 6 7 a b c d e f g 8 dp 9 gnd a bf c g d e dp 2h 1 2 3 4 5 6 7 a b c d e f g 8 dp 9 gnd a bf c g d e dp 3h 1 2 3 4 5 6 7 8

16、p17 p16 p15 p14 p13 p12 p11 p10 1 2 3 4 p03 p02 p01 p00 图1 设计原理图 3.2 最小系统设计 最小系统包括单片机及其所需的必要的电源、时钟、复位等部件,能使单片机始终处 于正常的运行状态。电源、时钟等电路是使单片机能运行的必备条件,可以将最小系统作 为应用系统的核心部分,通过对其进行存储器扩展、a/d扩展等,使单片机完成较复杂的功 能。 89c52是片内有rom/eprom的单片机,因此,这种芯片构成的最小系统简单可靠。用89c52 单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,结构如图2所示, 由于集成度的限制,最

17、小应用系统只能用作一些小型的控制单元。 图2 单片机最小系统原理框图 3.2.1 时钟电路 89c52 单片机的时钟信号通常有两种方式产生:一是内部时钟方式,二是外部时钟方 式。内部时钟方式如图 3 所示。在 89s51 单片机内部有一振荡电路,只要在单片机的 xtal1(18)和 xtal2(19)引脚外接石英晶体(简称晶振) ,就构成了自激振荡器并在单片 机内部产生时钟脉冲信号。图中电容 c1 和 c2 的作用是稳定频率和快速起振,电容值在 530pf,典型值为 30pf。晶振 cys 的振荡频率范围在 1.212mhz 间选择,典型值为 12mhz 和 6mhz。 y1 11.0592m

18、hz c2 30pf c3 30pf 18 19 图3 89c51内部时钟电路 3.2.2 复位电路 当在 89c52 单片机的 rst 引脚引入高电平并保持 2 个机器周期时,单片机内部就执 行复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态) 。 复位电路通常采用上电自动复位和按钮复位两种方式。 最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充放电来实现 的。只要 vcc 的上升时间不超过 1ms,就可以实现自动上电复位。 除了上电复位外,有时还需要按键手动复位。本设计就是用的按键手动复位。按键手动复 位有电平方式和脉冲方式两种。其中电平复位是通过 rst(9)端

19、与电源 vcc 接通而实现的。 按键手动复位电路见图 4。时钟频率用 11.0592mhz 时 c 取 10uf,r 取 10k。 时钟电路 复位电路 51 系列单片机 i/ o 接 口 r1 10k c1 10uf s4vcc 9 图4 89c52 复位电路 3.3 主控机模块 作为此次设计的核心硬件,主控机的作用几乎囊括了除音乐播放外的其他所有功能。 功能一:控制显示模块 功能二:控制按键模块 功能三:控制炫彩模块 功能四:向下位机传 ea/vp 31 x1 19 x2 18 reset 9 rd 17 wr 16 int0 12 int1 13 t0 14 t1 15 p10/t 1 p

20、11/t 2 p12 3 p13 4 p14 5 p15 6 p16 7 p17 8 p00 39 p01 38 p02 37 p03 36 p04 35 p05 34 p06 33 p07 32 p20 21 p21 22 p22 23 p23 24 p24 25 p25 26 p26 27 p27 28 psen 29 ale /p 30 txd 11 rxd 10 gnd 20 vcc 40 一一一 89c52rc 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 10k一一 p

21、00 p01 p02 p03 p04 p05 p06 p10 p11 p12 p13 p14 p15 p16 p17 p30 p31 p32 p33 p34 p35 p36 p37 p07 p27 p26 p25 p24 p23 p21 p20 p22 10uf r1 10k s1 一一一一 vcc 30p 30p 11.0592mhz vcc vcc 图 5 主控机模块 3.4 显示模块 显示模块主要包括数码管,单片机,led 等其他元件。 该模块的主要功能: (1)播放开机动画 (2)显示点歌的曲目 (3)显示炫彩小灯的闪烁速度 r6 200 r7 200 r8 200 r9 200 r1

22、0 200 r11 200 r12 200 r13 200 p25p24 p22 p23 p20p21 p27 vcc 1 2 3 4 5 6 7 a b c d e f g 8 dp 9 gnd a bf c g d e dp 1h 1 2 3 4 5 6 7 a b c d e f g 8 dp 9 gnd a bf c g d e dp 4h 1 2 3 4 5 6 7 a b c d e f g 8 dp 9 gnd a bf c g d e dp 2h 1 2 3 4 5 6 7 a b c d e f g 8 dp 9 gnd a bf c g d e dp 3h 1 2 3 4

23、5 6 7 8 p17 p16 p15 p14 p13 p12 p11 p10 1 2 3 4 p03 p02 p01 p00 图 6 显示模块 3.4 音乐机模块 该模块只用于读取上位机的信号后播放音乐。 3.5 按键模块 (1)按键是输入信号的主要工具。 (2)该模块主要由五个独立按键组成: 按键 1:加速度 按键 2:启动循环 按键 3:减速度 按键 4:下一曲 按键 5:上一曲 4.节拍的确定 一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说 不能象电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是 “音调”和“节拍”。音调表示一

24、个音符唱多高的频率,节拍表示一个音符唱多长的时间。在音乐中 所谓“音调”,其实就是我们常说的“音高”。在音乐中常把中央 c 上方的 a 音定为标准音高,其 频率 f=440hz。当两个声音信号的频率相差一倍时,也即 f2=2f1 时,则称 f2 比 f1 高一个倍频程, 在音乐中 1(do)与,2(来)与正好相差一个倍频程,在音乐学中称它相差一个八度音。 在一个八度音内,有 12 个半音。以 1i 八音区为例,12 个半音是:11、12、2 2、23、34、44,45、5 一5、56、66、67、7i。这 12 个音 阶的分度基本上是以对数关系来划分的。如果我们只要知道了这十二个音符的音高,也

25、就是其 基本音调的频率,我们就可根据倍频程的关系得到其他音符基本音调的频率。知道了一个音符 的频后,怎样让单片机发出相应频率的声音呢?一般说来,常采用的方法就是通过单片机的定 时器定时中断,将单片机上对应蜂鸣器的 i/o 口来回取反,或者说来回清零,置位,从而让蜂鸣 器发出声音,为了让单片机发出不同频率的声音,我们只需将定时器予置不同的定时值就可实 现。那么怎样确定一个频率所对应的定时器的定时值呢?以标准音高 a 为例: a 的频率 f = 440 hz,其对应的周期为: . 1 . 2 t = 1/ f = 1/440 =2272s t t 由上图可知,单片机上对应蜂鸣器的 i/o 口来回取

26、反的时间应为: t = t/2 = 2272/2 = 1136s 这个时间 t 也就是单片机上定时器应有的中断触发时间。一般情况下,单片机奏乐时定时器为工 作方式 1,它以振荡器的十二分频信号为计数脉冲。设振荡器频率为 f0, 则定时器的予置初值由下式来确定: t = 12 *(tall thl)/ f0,式中 tall = 216 = 65536,thl 为定时器待确定的计数初值。因此 定时器的高低计数器的初值为: th = thl / 256 = (tallt* f0/12) / 256tl = thl % 256 = (tallt* f0/12) %256 将 t=1136s 代入上面两

27、式(注意:计算时应将时间和频率的单位换算一致) ,即可求出标准音 高 a 在单片机晶振频率 f0=12mhz,定时器在工作方式 1 下的定时器高低计数器的予置初值为 : th440hz = (65536 1136 * 12/12) /256 = fbh tl440hz = (65536 1136 * 12/12)%256 = 90h 根据上面的求解方法,我们就可求出其他音调相应的计数器的予置初值。 说明* 曲谱存贮格式 unsigned char code musicname音高,音长,音高,音长., 0,0;末尾: 0,0 表示结束(important) 音高由三位数字组成: 个位是表示 1

28、7 这七个音符 十位是表示音符所在的音区:1-低音,2-中音,3-高音; 百位表示这个音符是否要升半音: 0-不升,1-升半音。 音长最多由三位数字组成: 个位表示音符的时值,其对应关系是: |数值(n): |0 |1 |2 |3 | 4 | 5 | 6 |几分音符: |1 |2 |4 |8 |16 |32 |64 音符=2n 十位表示音符的演奏效果(0-2): 0-普通,1-连音,2-顿音 百位是符点位: 0-无符点,1-有符点 调用演奏子程序的格式 play(乐曲名,调号,升降八度,演奏速度); |乐曲名 : 要播放的乐曲指针,结尾以(0,0)结束; |调号(0-11) :是指乐曲升多少个

29、半音演奏; |升降八度(1-3) : 1:降八度, 2:不升不降, 3:升八度; |演奏速度(1-12000):值越大速度越快; 结 论 单片机的设计至今为止已经进入了令人鼓舞的阶段,在进行了长达两个多月的时间的摸索 与实验,使我不仅仅是对于单片机入门软件与硬件的常用设计与功能,还使我对于一项设计研 究的制作过程所需要的详细步骤和具体的实现方法的力度的掌握。 当然在这次宝贵的毕业设计活动中,经验才是对于我们最大的收获,而且还增强了自身对 未知问题以及对知识的深化认识的能力,用受益匪浅这个词语来概括这次难忘的活动我觉得再 合适不过了。但是,光是完成了作品还是不可以自我满足的,在从一开始的时候就怀

30、着将作品 制作得更加人性化,更加令人满意,更加地使功能完美又方便地被应用领域这个最终目的下, 随着对单片机这门学科的认识加深,到达了拓展的程度,我想这个目的将在不远的时期内被实 现。 总之,这次设计从软件编写、调试到软硬件联机调试,我倾注了大量的时间和心血。真是 曾经为程序的编写而冥思查找过,曾经为无法找出错误而郁闷苦恼过,也曾经为某一功能不能 实现而犹豫彷徨过,但最终我成功了。 我不仅品味到了结果的喜悦,更明白了过程的弥足珍贵。 参考文献 1 李建忠.单片机原理及应用m,西安电子科技大学出版社,2008.2. 2 黄智伟.全国大学生电子设计竞赛系统设计m,北京:北京航空航天大学出版社,200

31、6.6. 3 黄智伟.凌阳单片机课程设计指导m,北京:北京航空航天大学出版社,2006.11. 4 李广弟,朱月秀,王秀山.单片机基础m,北京:北京航空航天大学出版社,2001.7. 5 赵曙光,郭万有,杨颂华.可编程逻辑器件原理开发与应用m,西安:西安电子科技大学, 2000. 6 候伯亨.vhdl 硬件描述语言与数字逻辑电路设计m, 西安:西安电子科技大学出版社, 1999. 7 康华光. 模拟电子技术基础(第四版)m, 武汉:华中理工大学出版社,1999. 8 谭浩强.c 语言程序设计(第二版)m,北京:清华大学出版社,1991. 9 陈小忠,黄宁. 单片机接口技术实用子程序m,北京:北

32、京人民邮电出版社, 2005. 10 欧伟明,周春临,瞿遂春.电子信息系统设计m,西安电子科技大学出版社,2005.9. 11 贾立新,王涌.电子系统设计与实践m,北京:清华大学出版社,2007. 12 罗亚非.凌阳 16 位单片机应用基础m,北京:北京航空航天大学出版社,2003. 13 雷思孝.凌阳单片机原理及实用技术m,西安电子科技大学,2004. 致 谢 这次毕业设计得到了很多人的帮助,其中 xxx 老师对我的关心和支持尤为重要,每次遇到 难题,我首先想到的就是向 xxx 老师寻求帮助。另外,他严谨的作风使我的论文即使在谨小细 微处也给予了纠正,让我的论文无论是结构还是内容变得更加公整

33、、紧凑,感谢 xxx 老师对我 的悉心指导。 感谢校方给予我这样一次机会,能够独立地完成这样一个设计,作为检验这些年来学习的 成果,在这个过程当中,学校给予我们各种方便,使我们在即将离校的最后一段时间里,能够更 多学习一些实践应用知识,增强了我们实践操作和动手应用能力,提高了独立思考的能力。再 一次对我的母校表示感谢。 感谢在整个毕业设计期间和我密切合作的同学,和曾经在各个方面给予过我帮助的伙伴们, 正是因为有了你们的帮助,才让我不仅学到了本次课题所涉及的新知识,更让我感觉到了知识 以外的东西,那就是团结的力量。 此外特别感谢桂林电子工业学院提供的51单片机音乐编码软件! 附录: 主控机程序

34、#include #include unsigned int huanqu,d,f,f1,f2,hq1,hq2,s,c,l,p; sbit kaishi=p36; sbit up=p33; sbit down=p34; sbit ledz=p37; sbit ledf=p35; sbit h1=p00; sbit h2=p01; sbit h3=p02; sbit h4=p03; sbit wu=p05; sbit liu=p06; sbit qi=p07; unsignedcharcodewei=0 xfe,0 xfe,0 xfd,0 xfb,0 xf7,0 xf7,0 xf7,0 xfb,

35、0 xfd,0 xfe,0 xfe,0 xfe,0 xfd,0 xfb,0 xf7,0 xf7; unsignedcharcodeduan=0 x20,0 x01,0 x01,0 x01,0 x01,0 x02,0 x40,0 x40,0 x40,0 x40,0 x10,0 x08,0 x08,0 x0 8,0 x08,0 x04; unsignedcharcodetab=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f; unsignedcharcodetab0=0 xbf,0 x86,0 xdb,0 xcf,0 xe6,

36、0 xed,0 xfd,0 x87,0 xff,0 xef; void yanshi(unsigned int q) unsigned int i,j; for(i=q;i0;i-) for(j=110;j0;j-); void job() hq1=huanqu/10; hq2=huanqu%10; f1=d/10; f2=d%10; h1=0; h2=1; h3=1; h4=1; p1=tabhq1; yanshi(5); h1=1; h2=0; h3=1; h4=1; p1=tab0hq2; yanshi(5); h1=1; h2=1; h3=0; h4=1; p1=tabf1; yans

37、hi(5); h1=1; h2=1; h3=1; h4=0; p1=tabf2; yanshi(5); void ledsd(unsigned int d) unsigned int x; for(x=d;x0;x-) job(); void kaiji() unsigned char a; for(a=0;a3) huanqu=1; while(!up) job(); if(down=0) yanshi(5); if(down=0) huanqu-; if(huanqu=-1) huanqu=3; while(!down) job(); if(ledz=0) yanshi(5); if(le

38、dz=0) c=1; d=d+1; if(d10) d=0; while(!ledz) job(); if(ledf=0) yanshi(5); if(ledf=0) c=1; d=d-1; if(d0) d=10; while(!ledf) job(); void chuansong() if(huanqu=1) liu=0; qi=0; if(huanqu=2) liu=0; qi=1; if(huanqu=3) liu=1; qi=0; if(huanqu=4) huanqu=1; main() f=0 xfe; d=10; s=0; huanqu=0; kaiji(); while(1

39、) anjian(); job(); chuansong(); if(c=0) led(); 音乐机程序 #include #include soundplay.h unsigned char qu,kaishi; sbit ling=p10; sbit yi=p11; sbit er=p12; void yanshi(unsigned int q)/系统延时 unsigned int i,j; for(i=q;i0;i-) for(j=110;j0;j-); /祝你平安 unsigned char code music_ping= 0 x17,0 x03, 0 x19,0 x03, 0 x1

40、9,0 x0e, 0 x17,0 x03, 0 x19,0 x0e, 0 x19,0 x01, 0 x17,0 x03, 0 x15,0 x03, 0 x15,0 x0d, 0 x10,0 x04, 0 x15,0 x0e, 0 x15,0 x01, 0 x17,0 x03, 0 x19,0 x03, 0 x19,0 x0e, 0 x1a,0 x67, 0 x19,0 x01, 0 x16,0 x03, 0 x17,0 x03, 0 x19,0 x03, 0 x16,0 x0e, 0 x17,0 x04, 0 x16,0 x01, 0 x17,0 x03, 0 x15,0 x03, 0 x15

41、,0 x0d, 0 x10,0 x04, 0 x17,0 x04, 0 x17,0 x66, 0 x0f,0 x02, 0 x16,0 x03, 0 x15,0 x04, 0 x10,0 x04, 0 x17,0 x03, 0 x16,0 x0e, 0 x16,0 x02, 0 x0f,0 x04, 0 x0f,0 x04, 0 x0f,0 x04, 0 x16,0 x0e, 0 x17,0 x67, 0 x15,0 x15, 0 x1f,0 x03, 0 x1f,0 x03, 0 x17,0 x03, 0 x19,0 x0d, 0 x19,0 x66, 0 x17,0 x0e, 0 x16,

42、0 x04, 0 x15,0 x03, 0 x15,0 x03, 0 x1a,0 x03, 0 x19,0 x0d, 0 x19,0 x01, 0 x1a,0 x03, 0 x1a,0 x03, 0 x1a,0 x03, 0 x15,0 x0d, 0 x15,0 x67, 0 x10,0 x04, 0 x15,0 x04, 0 x19,0 x03, 0 x17,0 x03, 0 x16,0 x03, 0 x17,0 x03, 0 x17,0 x0d, 0 x16,0 x01, 0 x1f,0 x03, 0 x1f,0 x03, 0 x17,0 x03, 0 x19,0 x0d, 0 x19,0

43、 x66, 0 x17,0 x0e, 0 x16,0 x04, 0 x15,0 x03, 0 x15,0 x03, 0 x1a,0 x03, 0 x19,0 x0d, 0 x19,0 x01, 0 x17,0 x03, 0 x15,0 x04, 0 x15,0 x0e, 0 x15,0 x03, 0 x10,0 x03, 0 x17,0 x0e, 0 x16,0 x03, 0 x16,0 x04, 0 x0f,0 x04, 0 x0f,0 x04, 0 x19,0 x04, 0 x19,0 x04, 0 x16,0 x04, 0 x17,0 x67, 0 x15,0 x01, 0 x00,0

44、x00 ; /铃儿响叮当 unsigned char code music_dingdang= 0 x0f,0 x03, 0 x0f,0 x03, 0 x17,0 x03, 0 x16,0 x03, 0 x15,0 x03, 0 x0f,0 x66, 0 x19,0 x04, 0 x19,0 x04, 0 x0f,0 x03, 0 x17,0 x03, 0 x16,0 x03, 0 x15,0 x03, 0 x10,0 x66, 0 x10,0 x03, 0 x10,0 x03, 0 x18,0 x03, 0 x17,0 x03, 0 x16,0 x03, 0 x10,0 x66, 0 x10

45、,0 x03, 0 x19,0 x03, 0 x19,0 x03, 0 x18,0 x03, 0 x16,0 x03, 0 x17,0 x0d, 0 x15,0 x03, 0 x0f,0 x03, 0 x0f,0 x03, 0 x17,0 x03, 0 x16,0 x03, 0 x15,0 x03, 0 x0f,0 x66, 0 x0f,0 x03, 0 x0f,0 x03, 0 x17,0 x03, 0 x16,0 x03, 0 x15,0 x03, 0 x10,0 x66, 0 x10,0 x03, 0 x10,0 x03, 0 x18,0 x03, 0 x17,0 x03, 0 x16,

46、0 x03, 0 x19,0 x03, 0 x19,0 x03, 0 x19,0 x03, 0 x19,0 x03, 0 x1a,0 x03, 0 x19,0 x03, 0 x18,0 x03, 0 x16,0 x03, 0 x15,0 x66, 0 x17,0 x03, 0 x17,0 x03, 0 x17,0 x02, 0 x17,0 x03, 0 x17,0 x03, 0 x17,0 x02, 0 x17,0 x03, 0 x19,0 x03, 0 x15,0 x03, 0 x16,0 x03, 0 x17,0 x00, 0 x18,0 x03, 0 x18,0 x03, 0 x18,0

47、 x67, 0 x18,0 x04, 0 x18,0 x03, 0 x17,0 x03, 0 x17,0 x03, 0 x17,0 x04, 0 x17,0 x04, 0 x17,0 x03, 0 x16,0 x03, 0 x16,0 x03, 0 x15,0 x03, 0 x16,0 x03, 0 x19,0 x66, 0 x19,0 x03, 0 x19,0 x03, 0 x18,0 x03, 0 x16,0 x03, 0 x15,0 x02, 0 x00,0 x00 ; /让我们荡起双桨 unsigned char code music_shuangjiang= 0 x15,0 x03,

48、 0 x16,0 x03, 0 x17,0 x03, 0 x19,0 x02, 0 x1a,0 x16, 0 x10,0 x03, 0 x15,0 x03, 0 x16,0 x03, 0 x17,0 x02, 0 x19,0 x16, 0 x0d,0 x03, 0 x0f,0 x03, 0 x10,0 x03, 0 x15,0 x02, 0 x17,0 x02, 0 x16,0 x01, 0 x17,0 x04, 0 x16,0 x04, 0 x15,0 x03, 0 x11,0 x03, 0 x10,0 x02, 0 x10,0 x03, 0 x10,0 x03, 0 x10,0 x17, 0 x10,0 x17, 0 x10,0 x03, 0 x10,0 x03, 0 x15,0 x03, 0 x16,0 x03, 0 x17,0 x65, 0 x19,0 x04, 0 x19,0 x04, 0 x17,0 x03, 0 x15,0 x03, 0 x16,0 x02, 0 x10,0 x15, 0 x15,0 x03, 0 x1

温馨提示

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

评论

0/150

提交评论