




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、沈阳航空航天大学课课 程程 设设 计计 报报 告告课程设计名称:单片机系统综合课程设计单片机系统综合课程设计课程设计题目:数字音乐盒的设计与实现数字音乐盒的设计与实现院(系):计算机学院专 业: 班 级: 学 号: 姓 名: 指导教师: 说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要求;数据不实求;数据不实,不予通过。报告和电子数据必须作为实验现象重复的关键依据。不予通过。报告和电子数据必须作为实验现象重复的关键依据。沈阳航空航天大学课程设计报告 I 学术诚信声明 本人声明
2、本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指导下独立进行设计工作及取得的研究结果。尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表或撰写过的研究结果,也不包含其它教育机构使用过的材料。与我一同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。报告资料及实验数据若有不实之处,本人愿意接受本教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后果。 本人签名: 日期: 年 月 日沈阳航空航天大学课程设计报告 II 沈阳航空航天大学沈阳航空航天大学课课程程设设计计任任务务书书课程设计名称XXXX 课课程程设设计计专业学生姓
3、名班级学号题目名称起止日期年月日起至年月日止课设内容和要求:参考资料: 教教研研室室审审核核意意见见: 教教研研室室主主任任签签字字:指导教师(签名)指导教师(签名)年月日学学 生(签名)生(签名)年月日沈阳航空航天大学课程设计报告 III 课程设计总结:课程设计总结:在不知不觉中两个星期过去了,回想起来,真是一言难尽,期间既有无奈辛酸,又有成功的喜悦。学了一学期的单片机,对单片机的硬件设计,软件设计掌握的掌握程度远远不够,但经过这段时间努力,在老师的耐心指导下,从设计、论证、修改到编程、调试,终于使我的设计完成了。使我无论在理论基础知识还是在实际的操作能力上都有了较大的提高,更让我懂得了一分
4、耕耘一分收获的道理。通过本次音乐盒的设计,极大地激发了我对单片机的学习兴趣,同时也让我学习到了很多新的东西,比如单片机的定时器功能,LED 的数码显示,功能键盘的设计等,这些都让我受益匪浅。这其中有以前书本上学习过的知识,也有很多未曾注意到得新知识,比如如何将乐谱转换成机器能识别的代码,并让机器演奏音乐这一点,课本上并未涉及,但通过查找资料,让我学会了如何实现,我认为更主要的是让我明白了如何主动学习。这些曾使我的设计出错的问题,通过自己的努力,老师指导和同学的帮助,终于被我一个一个的克服了,顺利把硬件实物顺利做好,把软件调试完成了。通过此次课程设计,让我明白了很多,不光让我明白了很多新的知识,
5、更让我懂得了如何学习,让我知道了如何做人,这一点主要感谢我的课设指导老师,是他一直在教导我,鼓励我,才让我顺利完成了任务,在这里我表示衷心的感谢。一分耕耘一分收获,只要真心付出了,就一定会有所回报。我愿在未来的学习和研究过程中,以更加丰厚的成果来答谢曾经帮助过我的老师,同学和朋友.沈阳航空航天大学课程设计报告 IV 目目 录录1 概述概述.11.1 数字音乐盒简介 .11.2 发声原理介绍 .12 音乐盒总体设计音乐盒总体设计.42.1 设计要求 .42.2 方案论证与设计 .42.2.1 总体方案设计.42.2.2 LED 驱动模块设计 .52.2.3 系统总体结构框图.53 系统硬件设计系
6、统硬件设计.63.1 管脚说明 .63.2 振荡器特性 .73.3 LED 显示器的结构 .83.4 LED 显示器工作原理 .83.5 键盘.93.6 时钟电路模块.93.7 音频输出部分 .113.8 整体电路设计 .124 子函数描述子函数描述.134.1 定时器中断设计: .134.2 数码管显示模块设计: .134.3 键盘控制模块设计: .144.4 蜂鸣器演奏子函数模块设计: .164.5 整体流程图设计: .185 调试与结果分析调试与结果分析.195.1 调试步骤及方法 .195.2 实验结果 .19参考文献参考文献.20附附 录(关键部分程序清单)录(关键部分程序清单).2
7、1沈阳航空航天大学课程设计报告 1 1 概述1.1 数字音乐盒简介数字音乐盒简介 音乐盒的起源,可追溯至中世纪欧洲文艺复兴时期。当时为使教会的的钟塔报时,而将大小的钟表上机械装置,被称为 “可发出声音的组钟 ”。音乐盒 300 多年的产品发展,同时也是人类文明300 多年发 展的历史鉴证。每个不同时期的音乐盒造型,都能折射出当时不同的社会心态和文明发展现状,它也成了时代的一面镜子。现今,音乐盒的制造,延袭传统,结合现代,正日益成为人们或为了典藏一段岁月,或为了收藏一份情感,或出于对音乐的追求,或对于旧时代的怀念,或为了居室的美化,等等,而得到众多品位人士的追求。 音乐盒的分类 :18 音,30
8、 音,这些是代表音乐盒机芯的音数,其实也就是机芯里面,那一排钢条的数量,钢条的数量越多,也就是音数越高,奏出来的音色就越丰富,曲子也就是越好听,同时曲子的播放时间也相应长一点。一般18 音的曲子为 25 秒左右,30 音的曲子为 35 秒左右。50 音的差不多有 60 秒。目前来说,一般市面上卖的 “爱丽丝”都是 18 音的,其次是 30 音,50 音。此次设计的目的就是运用单片机来设计一套控制系统,来完成音乐播放的控制,并设计一套硬件来进行音调播放的实际模拟,从而有欣赏音乐的效果。1.2 发声原理介绍发声原理介绍 首先介绍蜂鸣器的发声原理。众所周知, 音调和音调的时长 是音符的主要特征,通过
9、产生不同的音调和音调的时长可以奏出不同的音符来。然后一个个音符串联在一起就可以产生美妙的音乐来了。 音调主要由声音的频率决定 ,通过单片机给蜂鸣器不同的音频脉冲来产生不同的音调。要产生音频脉冲,只要算出某一音频的周期(周期 =1/频率),然后将此周期除以 2 即为半周期的时间。利用单片机的定时器工作在计数模式MODE1 下,设定 TH0 和 TL0 的沈阳航空航天大学课程设计报告 2 值以产生这半个周期,每当计时到达时就将输出脉冲的I/O(即接蜂鸣器的那个管脚)反相,然后重复计时此半个周期再对I/O 反相,就可以在 I/O 引脚上得到此频率的脉冲。下面附上不同音调所对应的频率表:音符频率(Hz
10、)/初值(s)音符频率(Hz)/初值(s)低 1DO262/63627中 1DO 523/64580高 1DO1042/65056低 2RE 294/63835中 2RE589/64687高 2RE 1245/65134低 3M330/64021中 3M 661/64780高 3M1318/65157低 4FA 350/64107中 4FA700/64822高 4FA 1397/65178低 5SO393/64264中 5SO 786/64900高 5SO1568/65217低 6LA 441/64402中 6LA882/64969高 6LA 1760/65252低 7SI495/64526中
11、 7SI 990/65031表表 1.1 C 调各音符频率与计数初值调各音符频率与计数初值 T 的对照表的对照表节拍的产生:音乐中的节拍用延时时间产生。例如, 1 拍=0.4s,1/4 拍=0.1s,以此类推。假设 1/4 拍执行一次延时程序,则 1/2 拍就执行两次延时程序,所以只要求出 1/4 拍的延时时间,其余节拍就是它的倍数。为了方便,将节拍数也进行了编码,并且计算了乐谱节拍编程时的延时时间。按 1/4 拍为一个延时时间的节拍编码与节拍对应的表按 1/8 拍为一个延时时间的节拍编码与节拍对应的表节拍编码节拍节拍编码节拍节拍编码节拍节拍编码节拍11/466/411/866/822/488
12、/422/888/833/4A10/433/8A10/844/4C12/444/8C12/855/4F15/455/8 表表 1.2 节拍数编码表节拍数编码表沈阳航空航天大学课程设计报告 3 乐谱节拍1/4 拍的延时时间乐谱节拍1/8 拍的延时时间4/4125 ms4/462 ms3/4187 ms3/494 ms2/4250 ms2/4125 ms表表 1.3 乐谱节拍编程时的时间延时表乐谱节拍编程时的时间延时表 如果没有必要进行精确的计时,可以用for 循环空语句来粗略计时即可(本次课设选用此法)。当单片机使用11.0592Mhz 的晶振时,for(i=0;i115;i+);这个空循环延时
13、约为 1ms;当晶振选用 12Mhz 时,可使用 for(i=0;i125;i+);这个空循环来延时 1ms。在这个空循环外头再进行一次循环就可以实现延时若干 ms。沈阳航空航天大学课程设计报告 4 2 音乐盒总体设计2.1 设计要求设计要求 本次数字音乐盒课程设计是利用 I/O 口产生一定频率的方波,从而驱动蜂鸣器,发出不同的音调,从而演奏乐曲因为产生的频率不同,所以导致蜂鸣器发出的音调不同,由不同的音调和节拍可组成不同的音乐。演奏过程中可采用七段数码管显示当前播放的歌曲序号和播放时间。同时可通过键盘数字键直接选择乐曲,也可以用功能键选择上一曲和下一曲,具有暂停和播放控制功能。例如本次课设按
14、 1 键选择第一首歌曲,按 2 键选择第二首歌曲,按 A 键暂停,按 B 键继续唱歌。2.2 方案论证与设计方案论证与设计2.2.1 总体方案设计总体方案设计通过单片机的定时器产生一定长度的方波,方波脉冲驱动蜂鸣器发声。要产生音频脉冲,只需算出某一音频的周期(1/音频) ,然后取半周期的时间定时。利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的 I/O 反相,然后重复计时此半周期时间再对 I/O 口反相,就可在 I/O 脚上得到此频率的脉冲。如中音 D0,频率为 523HZ,其周期 T=1/523=1912 微秒,因此只要令计数器定时 1912/2=956,在每计数 956 次时将 I
15、/O 口反相,就可得到中音D0(523HZ)。 当键盘有键按下时,判断键值,启动计数器 T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。同时启动定时器 T1,在 LED 显示歌曲号, 。数码管采用共阴极数码管,实现歌曲序号的显示;功能键盘采用按键开关,实现歌曲播放顺序的调换和暂停播放功能;蜂鸣器由单片机的 P3.6 口控制,实现歌曲播放。通过按下功能键实现上一首和下一首及暂停播放,同时有数码管显示当前沈阳航空航天大学课程设计报告 5 播放歌曲的序号,蜂鸣器播放出音乐。2.2.2 LED 驱动模块设计驱动模块设计方案一:采用静态锁存方式,将每一个 LED 发光管的一端接至单片机的一个I/O 口,
16、另一端通过电阻接电源。这种方法可以直接驱动 LED,原理简单,驱动能力强,LED 的亮度也可以通过限流电阻调节,非常方便,但此种方法太浪费单片机的 I/O 口,只适合于较小的系统。方案二:采用动态扫描方式,通过三极管驱动并联在一起的 LED 发光管的一端(共阴极),LED 发光管的另一脚接通用 I/O 口,控制其亮灭。该方法能驱动较多的 LED,控制方式较灵活,而且节省单片机的资源。比较以上两种方案,系统设计中采用方案二。2.2.3 系统总体结构框图系统总体结构框图 MCS-51单片机电源电路LED显示复位电路晶振电路蜂鸣器电路按键矩阵电路沈阳航空航天大学课程设计报告 6 3 系统硬件设计本设
17、计中用到了 8051 单片机,4*6 键盘,蜂鸣器,8 段数码管等硬件电路常用元器件。3.13.1 管脚说明管脚说明 8051 芯片如图 3.1 所示:VCC:供电电压。 GND:接地。P0 口,P1 口,P2 口,P3 口:四个 8 位 I/O 口P3 口也可作为 8051 的一些特殊功能口,如下所示: 管口管脚 备选功能P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断 0) P3.3 /INT1(外部中断 1) P3.4 T0(记时器 0 外部输入) P3.5 T1(记时器 1 外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /
18、RD(外部数据存储器读选通)RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。/PSEN:外部程序存储器的选通信号。/EA/VPP:/EA 保持低电平时,在此期间为外部程序存储器(0000H-FFFFH) ,不管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;沈阳航空航天大学课程设计报告 7 当/EA 端保持高电平时,此时为内部程序存储器。X1:反向振荡放大器的输入及内部时钟工作电路的输入。X2:来自反向振荡器的输出。图图 3.13.1 80518
19、051 芯片示意图芯片示意图 3.23.2 振荡器特性振荡器特性X1 和 X2 分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,X2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。沈阳航空航天大学课程设计报告 8 3.33.3 LEDLED 显示器的结构显示器的结构常用的 LED 显示器为 8 段。每一个段对应 1 个发光二极管,这种显示器有共阳极和共阴极两种:共阴极 LED 显示器的发光二极管的阴极连接在一起,通常此公共阴极接地。当某个发光二极
20、管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,共阳极 LED 显示器的发光二极管的阳极连接在一起,通常此公共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。为了使 LED 显示器显示不同的符号或数字,就要把不同段的发光二极管点亮,这样就要为 LED 提供代码,因为这些代码可使 LED 相应的段发光,从而显示不同字型,因此该代码称为段码。7 段发光二极管,再加上 1 个小数点位,共计 8 位。因此提供给 LED 显示器的段码正好是 1B。各段与字节中各位对应关系如下表 3.2:代码位D7D6D5D4D3D2D1D0显示位dpgfEdcba表表 3.2
21、 8 段段 LED 结构及外形结构及外形3.43.4 LEDLED 显示器工作原理显示器工作原理由 N 个 LED 显示块可以拼接成 N 位的 LED 显示器。如图是 LED 数码管。图图 3.33.3 数码管结构图数码管结构图沈阳航空航天大学课程设计报告 9 N 个 LED 显示器有 N 个位选线和 8*N 位 根段码线。段码线控制显示字符的字型,而位选线为各个 LED 显示块中各段的公共端,它控制该 LED 显示位的亮或暗。LED 显示器有静态显示和动态显示两种。 3.53.5 键盘键盘图图 3.43.4 键盘电路键盘电路键盘在单片机应用系统中能实现向单片机输入数据,传送命令等功能,是人工
22、干预单片机的主要手段。键盘实质上是一级按键开关的集合。通常,键盘开关利用了机械触点的合、断作用。键的闭合与否,反映在行线输出电压上就呈现高电平或低电平,如果高电平表示键断开,低电平则表示键闭合,通过对行线电平高低状态的检测,便可确认按键按下与否。为了确保 CPU 对一次按键动作只确认一次按键有效,必须消除抖动的影响。采用软件来消除按键抖动的基本思想是:在一次检测到有键按下时,该键所对应的行线为低电平,执行一段延时 10MS 的子程序后,确认该行线电平是不否仍为低电平,如果仍为低电平,则确认为该行确实有键按下。当按键松开时,行线的低电平变为高电平,执行一段延时 10MS的子程序后,检测该行线为高
23、电平,说明按键确实已经松开。3.63.6 时钟电路模块时钟电路模块时钟电路在单片机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟是保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢。沈阳航空航天大学课程设计报告 10 图图 3.53.5 时钟电路时钟电路为达到振荡周期是 12MHZ 的要求,这里要采用 12MHZ 的晶振,另外有两个22P 的独石电容,两晶振引脚分别连到 X1 和 X2 振荡脉冲输入引脚。其中74HC244-2 表示 74HC244 芯片的 2 号引脚。沈阳航空航天大学课程设计报告 11 3.
24、73.7 音频输出部分音频输出部分 图图 3.63.6 音频输出部分音频输出部分音频输出部分主要由 NPN 三极管和蜂鸣器组成。用 P1.0 口控制蜂鸣器。沈阳航空航天大学课程设计报告 12 3.83.8 整体电路设计整体电路设计图图 3.73.7 整体电路设计整体电路设计沈阳航空航天大学课程设计报告 13 4 子函数描述4.1 定时器中断设计:定时器中断设计:在本设计中采用定时器中断 0 方式。工作方式寄存器 TMOD 用于选择定时器/计数器的工作方式和工作模式。其格式如下表 4.1:D7D6D5D4D3D2D1D0GATEM1M0GATEM1M0TMODT1 方式字段T0 方式字段 表表
25、4.14.1 寄存器寄存器 TMODTMOD 工作方式和工作模式工作方式和工作模式定时器初始化子函数如下:void TimerConfiguration() TMOD = 0 x01; /选择工作方式 1 TH0 = 0 xfc; /设置初始值,定时 1ms TL0 = 0 x18; EA = 1;/打开总中断 ET0 = 1;/打开定时器 0 中断 TR0 = 0;/关闭定时器 04.2 数码管显示模块设计:数码管显示模块设计:模块设计的重点是由显示代码取得相应的段码,显示段码数据的并行发送,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英沈阳航空航天大学课程设计报告
26、14 钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用 LED 显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。子函数如下:void DigDisplay() /显示函数unsigned char i; unsigned char Pos; unsigned char LED; Pos = 0 x04; / 从左边开始显示 for (i = 0; i = 1; / 显示下一位 4.3 键盘控制模块设计:键盘控制模块设计:此模块主要由键
27、盘扫描程序组成,在主函数中通过 switch()语句根据键盘扫描函数的返回值来进入相应的功能函数中。扫描程序具体为先扫描列找出按键所在的列再扫描行找出按键所在的行,列为高四位行为低四位,因此有键值=列*4+行,然后等待键位释放,最后根据相应的键码值返回按键对应的值,若无按键则返回 0 xff。流程图如下:沈阳航空航天大学课程设计报告 15 开始扫描列有低电平扫描行是计算键值结束返回键值下一列图图 4.24.2 键盘扫描流程图键盘扫描流程图函数代码如下:unsigned char GetKey() unsigned char Pos; unsigned char i; unsigned char
28、 k; i = 6; Pos = 0 x20; / 找出键所在列 do 沈阳航空航天大学课程设计报告 16 OUTBIT = Pos; Pos = 1; k = IN & 0 x0f; while (-i != 0) & (k = 0); / 键值 = 列 x 4 + 行 if (k != 0) i *= 4; if (k & 2) i += 1; else if (k & 4) i += 2; else if (k & 8) i += 3; OUTBIT = 0; do Delay(1); while (TestKey(); / 等键释放 return(KeyTablei); / 取出键码
29、else return(0 xff);4.4 蜂鸣器演奏子函数模块设计:蜂鸣器演奏子函数模块设计:本模块通过循环获取频率和节拍数组来使蜂鸣器发出不同的音调以及延时音调时间,子函数如下:void yanzou(unsigned char pinlv,unsigned int jiepai)/播放乐曲unsigned char pl;unsigned int jp;沈阳航空航天大学课程设计报告 17 for(jp=0;jpjiepai;jp+) KeyDown();if(flag=1)TR0=0;DisplayData0=LEDMAPKeyValue;DisplayData1=LEDMAPs/10
30、; DisplayData2=LEDMAPs%10;while(1)KeyDown();DigDisplay();if(flag=2)TR0=1;break;else if(flag=3)TR0=0; Buzzer=0; for(pl=0;plpinlv;pl+); Buzzer=1; for(pl=0;plpinlv;pl+); 沈阳航空航天大学课程设计报告 18 4.5 整体流程图设计:整体流程图设计:开始初始化有按键是键值为1演奏乐曲1是有按键获取键值是暂停音乐和计时判断键值键值为10判断键值结束否关定时器否判断按键键值11演奏乐曲2键值为2否结束有按键否是关定时器获取键值是判断键值暂停
31、音乐和计时键值为10判断按键键值11否 图图 4.34.3 整体流程图设计整体流程图设计沈阳航空航天大学课程设计报告 19 5 调试与结果分析5.1 调试步骤及方法调试步骤及方法1.在实验箱上连接所需要的线2.将实验箱 LAB8000 和电脑相连接3.将程序载入实验箱4.复位5.运行程序5.2 实验结果实验结果程序运行后,实验箱的数码管显示三个 0,按 1 键蜂鸣器开始演奏第一首音乐,同时开始计时,并且显示当前演奏音乐的序号程序运行过程中,按 A 键音乐暂停,同时计时暂停,再按 B 键,音乐继续演奏,数码管继续计时,音乐结束后,可继续选择播放音乐序号,如此循环 。综上,本次设计符合设计要求。沈
32、阳航空航天大学课程设计报告 20 参考文献1 张毅刚.单片机原理及应用M.哈尔滨:哈尔滨工业大学出版社,20082 戴仙金.51 单片机及其 C 语言程序开发实例M.北京:清华大学出版社,20113 黄惟公.单片机原理及应用技术M.西安:西安电子科技大学出版社,20104 高锋.单片微型计算机原理与接口技术M.北京:科学出版社,20075 李叶紫.MCS-51 单片机应用教程M .北京:清华大学出版社,2002 6 刘守亦.单片机应用技术M .陕西:西安电子科技大学出版社,1995沈阳航空航天大学课程设计报告 21 附 录(关键部分程序清单)#include xdata unsigned ch
33、ar OUTBIT _at_ 0 x8002; / 位控制口xdata unsigned char OUTSEG _at_ 0 x8004; / 段控制口xdata unsigned char IN _at_ 0 x8001; / 键盘读入口sbit Buzzer=P10; /蜂鸣器unsigned char DisplayData10; /数码管显示码unsigned char code LEDMAP = / 共阴极八段管显示码 0 x3f, 0 x06, 0 x5b, 0 x4f, 0 x66, 0 x6d, 0 x7d, 0 x07, 0 x7f, 0 x6f, 0 x77, 0 x7c
34、, 0 x39, 0 x5e, 0 x79, 0 x71;unsigned char code wema= 0 x20,0 x10,0 x08,0 x04,0 x02,0 x01 ;/位选,0-5位数码管 code unsigned char KeyTable = / 键码定义 0 x16, 0 x15, 0 x14, 0 xff, 0 x13, 0 x12, 0 x11, 0 x10, 0 x0d, 0 x0c, 0 x0b, 0 x0a, 0 x0e, 0 x03, 0 x06, 0 x09, 0 x0f, 0 x02, 0 x05, 0 x08, 0 x00, 0 x01, 0 x04,
35、 0 x07; unsigned char code pinlv1=131,110,98, 87, 73, 87, 110,98, 131,0,110,98, 87, 73, 73, 65, 98, 87,87,87,73,65,73,65,55,58,65,73,65,87,110,98,87,73,110,131,110,98,87,65,73,73,0,87,65,65,73,82,87,98,87,73,131,110,98,0,110,98,87,73,65,55,58,65,73,87,65,65,; unsigned int code 沈阳航空航天大学课程设计报告 22 jiep
36、ai1=110,131,147,494,196,165,131,294,440,1,131,147,165,588,196,440,294,660,330,165,196,880,588,220,262,124,110,196,220,330,131,147,495,196,262,220,131,147,165,22,0,784,392,2,660,660,220,196,175,330,588,495,196,110,131,147,2,131,147,330,392,440,524,247,220,196,165,880,880;unsigned char code pinlv2=66
37、,55 ,44, 55, 49, 65, 55, 44, 37, 37, 65, 37, 41, 44, 41, 37, 29, 33, 44, 58, 65, 44;unsigned int code jiepai2=220,262,350,262,587,262,247,660,587,880,262,330,392,440,392,349,2640,698,784,492,440,660;unsigned int Num=0; /计数到 1Sunsigned int s=0,i=0;unsigned char flag=0;unsigned char KeyValue=0;unsigne
38、d char Key;unsigned char k=0;unsigned char t=0;unsigned char Pos=0 x04;void Delay(unsigned char CNT);/延时函数void DigDisplay(); /数码管显示函数void TimerConfiguration(); /配置定时器unsigned char GetKey(); /获取键值unsigned char TestKey();void KeyDown();void yanzou(unsigned char pinlv,unsigned int jiepai);/播放音乐void Mus
39、ic_1(); /第一首乐曲沈阳航空航天大学课程设计报告 23 void Music_2(); /第二首乐曲void main() /主函数 DisplayData0=LEDMAP0; DisplayData1=LEDMAP0;DisplayData2=LEDMAP0;TimerConfiguration(); while (1) DisplayData1=LEDMAPs/10;DisplayData2=LEDMAPs%10;DigDisplay();if(TestKey()TR0=1;KeyValue=GetKey();DisplayData0=LEDMAPKeyValue;switch(KeyValue) case 1 : Music_1();KeyValue=0;TR0 = 0;break; case 2 : Music_2();KeyValue=0;TR0 = 0;break;void yanzou(unsigned char pinlv,unsigned int jiepai)/播放乐曲沈阳航空航天大学课程设计报告 24 unsigned char pl;unsigned int jp;for(jp=0;jpjiepai;jp+) KeyDown();if(fl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 行政管理经济法专注考点试题及答案
- 市政工程考试趋势与未来展望及试题及答案
- 行政管理与经济法教育试题及答案
- 酒店管理服务培训合作协议
- 物流管理与供应链知识测试卷
- 通信技术与网络应用知识考点
- 行政管理经济法热点追踪试题及答案汇编
- 经济师学术与实务结合试题及答案
- 优化药品使用管理的工作思路计划
- 宿舍门标设计
- 数据中心基础设施管理系统DCIM整体方案
- 核电站入厂安全培训课件
- 陕旅版五年级英语上册句型词汇知识点总结
- 汉字构字的基本原理和识字教学模式分析
- 围术期过敏反应诊治的专家共识(全文)
- 2013年俄语专业四级历年真题详解
- 论中学语文教师美学素养的培养
- 送货单ECEL模板
- RouterOS介绍
- 模切检验标准
- 保洁员工考勤表
评论
0/150
提交评论