毕业论文-基于at89c51单片机的音乐播放器的设计_第1页
毕业论文-基于at89c51单片机的音乐播放器的设计_第2页
毕业论文-基于at89c51单片机的音乐播放器的设计_第3页
毕业论文-基于at89c51单片机的音乐播放器的设计_第4页
毕业论文-基于at89c51单片机的音乐播放器的设计_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

兰州工业学院毕业设计(论文)题目基于单片机的音乐播放器的设计学院电子信息工程学院专业电子信息工程技术班级嵌入式11姓名张文琪学号201110103125指导教师(职称)兰聪花(讲师)日期2014年3月兰州工业学院毕业设计(论文)任务书电子信息工程学院2014届电子信息工程专业毕业设计(论文)任务书毕业设计(论文)题目基于单片机的音乐播放器的设计课题内容性质软、硬件开发课题来源性质教师收集的结合生产实际的课题设计/论文校内(外)指导教师职称工作单位及部门联系方式兰聪花讲师电子信息工程学、题目说明(目的和意义)本设计希望通过对常见电子产品的设计与制作来培养学生综合运用所学知识,分析和解决实际问题的能力,掌握相关绘图制作软件,会运用电子仪器进行电路检测和调试,强化电子技术应用技能训练,为今后开展产品技术开发、设计和制作打下初步的基础。该系统设计,涉及到电路技术、单片机原理、PROTEL电路设计原理、程序设计、单片机程序烧录和焊接电路等方面知识,考察了学生对以往学习过的课程的综合应用能力。二、设计(论文)要求(工作量、内容)【设计内容】根据音乐演奏控制器所要实现的显示与选曲及音乐产生功能原理,系统包括演奏扬声器、选曲、播放和显示几部分。通过按键控制,系统具有开启、暂停播放当前曲子的功能;播放前一首、后一首歌曲的功能;控制播放器的播放模式顺序播放、随机播放、重复单曲、全部重复等功能。未播放时放光二极管产生流水灯,播放音乐时能随着曲调闪烁。所设计的音乐播放器可以播放多首音乐,曲目选择可以由键盘控制,并通过显示器显示歌曲序号。【设计环境】软件KEIL软件,AVR_FIGHTER烧写软件,PROTEL99SE绘图软件,PROTUES仿真软件。硬件微机,常用电子元件,实验室常用电子检测仪器。【设计要求】(1)完成系统总体设计,硬件设计和软件设计等。(2)完成各种硬件图的绘制及仿真,完成相应流程图的绘制和程序的编写、调试。(3)论文书写规范、文字通顺、图表清晰、测试数据完整、结论明确。【设计步骤】1、熟悉开发环境,总体方案设计;2、系统硬件设计;3、系统软件设计;4、完成毕业设计报告。三、进度表日期内容2013129201312152013121620131222201312232013122920131230201411220141132014119熟悉设计任务,查阅相关书籍和文献方案论证及可行性分析功能电路设计程序设计、实现与调试,系统测试与分析,逐步修改、完善设计对毕业设计的成果进行归纳、整理、总结并撰写毕业设计报告完成日期第21周(本学期)答辩日期第12周(下学期)四、主要参考文献、资料、设备和实习地点及翻译工作量主要参考文献、资料参考如下(其它资料自己收集)1、微机原理与接口技术赵又新主编中国电力出版社20072第1版2、单片机原理及其接口技术胡汉才主编清华大学出版社20042第2版3、新概念51单片机C语言教程入门、提高、开发、拓展全攻略,郭天祥编著,电子工业出版社,20091设备为计算机一台,实验板一块。实习地点为嵌入式系统实验室。翻译工作量为论文概要、关键字。指导教师签字教研室主任签字主管系领导签字年月日年月日年月日注本任务书要求一式两份,一份系部留存,一份报教务处实践教学科。摘要本设计是基于AT89C51系列单片机的音乐播放器的设计,根据单片机的原理,连接了LED显示灯、蜂鸣器、LCD液晶显示屏、按键电路、晶振电路和复位电路。当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。同时启动定时器T1,显示乐曲播放的时间,并驱动LCD显示歌曲号及播放时间。AT89C51单片机的内存较小,就用了一个74LS373锁存器和27512外部扩展芯片对该单片机进行了内存的扩充,增大了它的存储空间,让它可以存储足够多的歌曲。关键词音乐播放器;AT89C51单片机;LCDLM016L液晶显示屏ABSTRACTTHISDESIGNISTHEDESIGNOFTHESERIESBASEDONAT89C51SINGLECHIPCOMPUTERMUSICPLAYER,ACCORDINGTOTHEPRINCIPLEOFMCU,CONNECTTHELEDDISPLAYLIGHTS,BUZZER,LCDLIQUIDCRYSTALDISPLAY,BUTTONS,CRYSTALOSCILLATIONCIRCUITANDRESETCIRCUITWHENTHEKEYBOARDHASAKEYPRESS,DETERMINETHEKEYVALUE,STARTTHECOUNTERT0,PRODUCEACERTAINFREQUENCYOFPULSE,DRIVEBUZZER,LETOUTMUSICSTARTTHETIMERT1ATTHESAMETIME,ACCORDINGTOTHEMUSICPLAYINGTIME,ANDDRIVELCDDISPLAYSONGNUMBERANDPLAYTIMEAT89C51MEMORYISSMALL,WITHA74LS373FLIPLATCHANDEXTERNALEXPANSIONCHIPONTHESINGLECHIPMICROCOMPUTER27512MEMORYEXPANSION,INCREASEITSSTORAGESPACE,ITCANSTOREENOUGHSONGSKEYWORDSMUSICPLAYERAT89C51SINGLECHIPMICROCOMPUTERLCDLM016LLIQUIDCRYSTALDISPLAY目录摘要IABSTRACTII1引言111设计意义112设计内容213设计方案22系统的总体设计321音乐播放器的工作原理322总体设计框图33硬件设计531晶振复位电路5311晶振电路5312复位电路632LED显示电路7321二极管7322发光二极管的性能8323显示接口电路的设计833时钟振荡电路934按键电路104软件设计1341主程序流程图1342延时模块1443函数初始化模块1544顺序播放模块1645键盘扫描函数流程图1846主要程序代码21结束语24致谢25参考文献26附录一原理图27附录二仿真图281引言基于单片机的音乐播放器可应用于很多方面,并可作为很多系统的辅助功能,作为单片机的重要硬件资源之一,利用定时器可以产生各种固定频率的方波信号,也可以产生包括“DO“、“RE“、“ME“等音阶在内的各种频率声音。将各个音阶连接在一起,便可组成一支曲子或是演奏一段旋律。基于这个思想,我设计了一款特殊的“音乐播放器“,本播放器可实现播放、暂停、复位等功能。为了体现乐曲播放过程中的动态效果,增加了1只LED,作随机闪烁以指示旋律的节奏。由于时间及条件限制,本设计实现了一种简单的音乐播放器,其核心器件采用AT89C51单片机,本播放器具有电路简单,功能强大,易于拓展等特点。在此基础上,可以添加按键,LED显示屏等模块,实现切换歌曲,歌名显示,动感音乐屏等功能。11设计意义音乐播放器的起源,可追溯至中世纪欧洲文艺复兴时期。当时为使教会的钟塔报时,而将大小的钟表装上机械装置,被称为“可发出声音的组钟”。音乐播放器有着300多年的发展历史,是人类文明发展的历史见证。传统的音乐播放器多是机械音乐盒,其工作原理是通过齿轮带动一个带有铁钉的铁桶转动,铁桶上的铁钉撞击铁片制成的琴键,从而发出声音。但是,机械式的音乐盒体积比较大,比较笨重,且发音单调。水、灰尘等外在因素,容易使内部金属发音条变形,从而造成发音跑调。本文设计的音乐播放器,是基于单片机设计制作的电子式音乐播放器。与传统的机械式音乐播放器相比更小巧,音质更优美且能演奏和弦音乐。电子式音乐播放器动力来源是电池,制作工艺简单,可进行批量生产,所以价格便宜。基于单片机制作的电子式音乐播放器,控制功能强大,可根据需要选歌,使用方便。根据存储容量的大小,可以尽可能多的存储歌曲。另外,可以设计彩灯外观效果,使音乐播放器的功能更加丰富。12设计内容主要工作过程是通过按下功能键实现上一首和下一首及暂停播放,同时有数码管显示当前播放歌曲的序号,蜂鸣器播放出音乐,当播放最后一首夜曲时还伴有彩灯闪烁。功能键盘采用按键开关,通过单片机P1口控制,按键控制歌曲的顺序播放,循环播放,随机播放,以及上一曲,下一曲,暂停/播放,结束。蜂鸣器由单片机的P37口控制,实现歌曲播放。LCD播放当前歌曲时,LCD显示屏上显示当前歌曲的序号和歌曲名,并提示下一曲即将要播放的歌曲。利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲内存四首乐曲。13设计方案设计一个基于AT89C51系列单片机的音乐播放器,利用按键切换演奏出不同的乐曲。蜂鸣器发出某个音调,与之相对应的LED亮起。使用五个按键,分别是设置、上一曲、下一曲、暂停/播放和结束五个按键。2系统的总体设计21音乐播放器的工作原理通过单片机的定时器产生一定长度的方波,方波脉冲驱动蜂鸣器发声。要产生音频脉冲,只需算出某一音频的周期(1/音频),然后取半周期的时间定时。利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲。如中音D0,频率为523HZ,其周期T1/5231912微秒,因此只要令计数器定时1912/2956,在每计数956次时将I/O口反相,就可得到中音D0523HZ。当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。同时启动数码显示部分,在LED显示歌曲号,也可使彩灯长亮和闪烁。数码管采用共阳极数码管,通过单片机P2口控制,实现歌曲序号的显示;功能键盘采用按键开关,通过单片机P3口控制,实现歌曲播放顺序的调换和暂停播放功能;蜂鸣器由单片机的P37口控制,实现歌曲播放;彩灯是由普通发光二极管代替,能实现单色长亮和闪烁效果,通过单片机的P0口控制。22总体设计框图单片机接5V电源供电,晶振电路产生单片机所需时钟信号,通过功能键产生外部中断,控制音乐盒的上一首和下一首曲目,再由I/O接口输出控制蜂鸣器发声,LED显示,彩灯亮或闪烁。另外,复位电路在于营造一个程序运行的初始状态,在程序出错时,重新启动单片机工作。编程设置好定时时间,通过编程器写入AT89S51单片机系统。由AT89S51单片机的定时器每秒钟通过P20P27口控制LED数码显示,复位信号由按钮输入,每按下一次,系统恢复原设定状态。总体设计框图如图21所示。图21总体设计框图编程设置好定时时间,通过编程器写入AT89S51单片机系统。由AT89S51单片机的定时器每秒钟通过P20P27口控制LED数码显示,复位信号由按钮输入,每按下一次,系统恢复原设定状态。AT89C51按键输入模块晶振复位电路LCD显示屏LED显示灯蜂鸣器3硬件设计31晶振复位电路311晶振电路在AT89C51单片机内部有一振荡电路,只要在单片机的XTAL1和XTAL2引脚外接晶振,就改成了自激振荡器并在单片机内部产生时钟脉冲信号。如图31所示,单片机工作的时间基准是由时钟电路提供的。在单片机的XTAL1和XTAL2两个引脚间,接一个晶振及两只电容就构成了时钟电路。图31晶振复位电路电路中的器件可以通过计算和实验确定,也可以参考一些典型电路参数。电路中,电容器C1和C2对晶振器频率有微调作用,通常取值范围XTAL218XTAL119ALE30EA31PSEN29RST9P00/AD039P01/AD138P02/AD237P03/AD336P04/AD435P05/AD534P06/AD63P07/AD732P101P112P123P134P145P156P167P178P30/RXD10P31/TXD1P32/INT012P33/INT113P34/T014P37/RD17P36/WR16P35/T115P27/A1528P20/A821P21/A92P22/A1023P23/A124P24/A1225P25/A1326P26/A1427U1AT89C51C130PFC230PFX1CRYSTALGND3010PF;石英晶体选择12MHZ都可以。其结果只是机器周期时间不同,影响计算器的计数初值。312复位电路图32复位电路51单片机的复位是由外部的复位电路来实现的。复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声。单片机需要复位以后才能正常工作,复位的目的就是使单片机处于一个基准点,在这个基准点,程序将会从C51的MAIN()主函数的第一条语句开始执行。复位工作是一个纯硬件的工作,一般是在上电开始几毫秒内执行完毕。复位的过程很简单,在电源刚刚合上时,电流经过电阻对电解电容器充电,这样在电阻上就形成一个电压,对于单片机来说,这个电压就是复位电压。经过若干毫秒以后,电解电容器被充满电,这时电阻就没有电流流过,电阻两端也就没有电压,单片机的复位脚电压恢复为0,复位工作结束,单片机开始工作。上电复位上电复位电路是种简单的复位电路,只要在RST复位引脚XTAL218XTAL119ALE30EA31PSEN29RST9P00/AD039P01/AD138P02/AD237P03/AD336P04/AD435P05/AD534P06/AD63P07/AD732P101P112P123P134P145P156P167P178P30/RXD10P31/TXD1P32/INT012P33/INT113P34/T014P37/RD17P36/WR16P35/T115P27/A1528P20/A821P21/A92P22/A1023P23/A124P24/A1225P25/A1326P26/A1427U1AT89C51R210KR110KC310UFVC接一个电容到VCC,接一个电阻到地就可以了。上电复位是指在给系统上电时,复位电路通过电容加到RST复位引脚一个短暂的高电平信号,这个复位信号随着VCC对电容的充电过程而回落,所以RST引脚复位的高电平维持时间取决于电容的充电时间。为了保证系统安全可靠的复位,RST引脚的高电平信号必须维持足够长的时间。上电自动复位是通过外部复位电路的电容充电来实现的。只要VCC的上升时间不超过1MS,就可以实现自动上电复位。32LED显示电路321二极管二极管是半导体设备中的一种最常见的器件,大多数半导体最是由搀杂半导体材料制成原子和其它物质发光二极管导体材料通常都是铝砷化稼,在纯铝砷化稼中,所有的原子都完美的与它们的邻居结合,没有留下自由电子连接电流。在搀杂物质中,额外的原子改变电平衡,不是增加自由电子就是创造电子可以通过的空穴。这两样额外的条件都使得材料更具传导性。带额外电子的半导体叫做N型半导体,由于它带有额外负电粒子,所以在N型半导体材料中,自由电子是从负电区域向正电区域流动。带额外“电子空穴”的半导体叫做P型半导体,由于带有正电粒子。电子可以从另一个电子空穴跳向另一个电子空穴,从从负电区域向正电区域流动。因此,电子空穴本身就显示出是从正电区域流向负电区域。二极管是由N型半导体物质与P型半导体物质结合,每端都带电子。这样排列使电流只能从一个方向流动。当没有电压通过二极管时,电子就沿着过渡层之间的汇合处从N型半导体流向P型半导体,从而形成一个损耗区。在损耗区中,半导体物质会回复到它原来的绝缘状态所有的这些“电子空穴”都会被填满,所有就没有自由电子或电子真空区和电流不能流动。为了除掉损耗区就必须使N型向P型移动和空穴应反向移动。为了达到目的,连接二极管N型一方到电流的负极和P型就连接到电流的正极。这时在N型物质的自由电子会被负极电子排斥和吸引到正极电子。在P型物质中的电子空穴就移向另一方向。当电压在电子之间足够高的时候,在损耗区的电子将会在它的电子空穴中和再次开始自由移动。损耗区消失,电流流通过二极管。322发光二极管的性能发光二极管LED(LIGHTEMITTINGDIODE)是能将电信号转换成光信号的结型电致发光半导体器件。发光二极管LED主要特点(1)在低电压(1525V)、小电流530MA的条件下工作,即可获得足够高的亮度。(2)发光响应速度快(107109S),高频特性好,能显示脉冲信息。(3)单色性好,常见颜色有红、绿、黄、橙等。(4)体积小。发光面形状分圆形、长方形、异形(三角形等)。其中圆形管子的外径有1、2、3、4、5、8、10、12、15、20(MM)等规格,直径1MM的属于超微型LED。(5)防震动及抗冲击穿性能好,功耗低,寿命长。由于LED的PN结工作在正向导通状态,本射功耗低,只要加必要的限流措施,即可长期使用,寿命在10万小时以上,甚至可达100万小时。(6)使用灵活,根据需要可制成数码管、字符管、电平显示器、点阵显示器、固体发光板、LED平极型电视屏等。(7)容易与数字集成电路匹配。323显示接口电路的设计在单片机应用系统中,使用的显示器主要有LED显示器(发光二极管显示器)。这种显示器成本低廉,配置灵活,与单片机接口方便。在本系统的设计中采用LED显示器。LED显示器由8位LED数码管组成,用于显示系统在各种不同条件下的状态。用单片机驱动LED数码管有很多方法,按显示方式分,有静态显示和动态显示,按译码方式分为硬件译码和软件译码。静态显示是显示驱动电路具有输出锁存功能,单片机将要显示的数据送出后不再控制LED,直到下次显示时再传送一次新的显示数据。静态显示的数据稳定,占用CPU时间少。动态显示要CPU时刻对显示器件进行数据刷新,显示数据会有闪烁,占用的CPU时间多。这两种显示方式各有利弊静态显示虽然数据显示稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的电路硬件较多;动态显示虽然闪烁,占用的CPU时间多,但使用的硬件少,能节省线路板空间。在本设计中由于显示部分比较简单,所以选用了静态显示方式,LED显示器由74LS373来驱动,为了扩展外部存储器需一块74LS373地址锁存器。LED发光器件一般常用的有两类数码管和点阵。常用的数码管一般为8字型数码管,分为A、B、C、D、E、F、G、DP八段,其中DP为小数点。数码管常用的有10根管脚,每一段有一根管脚,另外两根管脚为一个数码管的公共端,两根之间相连通。数码管从电路上来看可分为共阴和共阳两种,在本设计中用了共阳的LED。33时钟振荡电路AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自然振荡器。外接石英晶体及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1,C2虽然没有什么严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,我们推荐电容使用30PF10PF,而如果使用陶瓷振荡器建议选择40PF10PF。用户也可以采用外部时钟。采用外部时钟的电路如图示。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。振荡器电路如图33所示。图33时钟振荡电路34按键电路按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的I/O端口形成一个负脉冲。闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。抖动XTAL218XTAL119ALE30EA31PSEN29RST9P00/AD039P01/AD138P02/AD237P03/AD336P04/AD435P05/AD534P06/AD63P07/AD732P101P112P123P134P145P156P167P178P30/RXD10P31/TXD1P32/INT012P33/INT113P34/T014P37/RD17P36/WR16P35/T115P27/A1528P20/A821P21/A92P22/A1023P23/A124P24/A1225P25/A1326P26/A1427U1AT89C51C130PFC230PFX1CRYSTALGND持续时间的常长短与开关的机械特性有关,一般在510MS之间。为了避免CPU多次处理按键的一次闭合,应采用措施消除抖动。本文采用的是独立式按键,直接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生互相影响。按键电路如图34所示。图34按键电路键盘是一组按键的集合,它是最常用的单片机输入设备。操作人员可以通过键盘输入数据或命令,可以实现简单的人机通信。键盘可以分为独立连接式和矩阵式两种,每一种按其译码方式都可以分为编码及非编码两种。编码键盘通过硬件的方法产生键码,能自动的识别按下的健并产生相应的键码值,以并行或串行的方式发送给CPU,它的接口简单,响应速度快,但需要专用的硬件电路;非编码键盘通过软件的方法产生键码,它XTAL218XTAL119ALE30EA31PSEN29RST9P00/AD039P01/AD138P02/AD237P03/AD336P04/AD435P05/AD534P06/AD63P07/AD732P101P112P123P134P145P156P167P178P30/RXD10P31/TXD1P32/INT012P33/INT113P34/T014P37/RD17P36/WR16P35/T115P27/A1528P20/A821P21/A92P22/A1023P23/A124P24/A1225P25/A1326P26/A1427U1AT89C51GNDK1K2K3K4K5不需要专用硬件电路,结构简单,成本低廉,但响应速度没有编码键盘快。为了减少电路的复杂程度,节省单片机的I/O接口,因此非编码键盘在单片机键盘中使用非常广泛。(1)键盘输入的特点键盘实质上是一级按键开关的集合。通常,键盘开关利用了机械触点的合、断作用。(2)按键的确认键的闭合与否,反映在行线输出电压上就呈现高电平或低电平,如果高电平表示键断开,低电平则表示键闭合,通过对行线电平高低状态的检测,便可确认按键按下与否。为了确保CPU对一次按键动作只确认一次按键有效,必须消除抖动的影响。4软件设计41主程序流程图图41主函数程序框图本设计采用了自定义下的流程图。主要程序流程有主程序、判断有无按开机加电关闭定时器T0、T1置定时器T0、T1的工作方式等待按键按下读取键盘有按键输入是A键是B键是C键A键函数B键函数C键函数NYYYNN键子程序、键盘扫描子程序、显示键号/歌曲号子程序、开机画面子程序、按键值播放歌曲子程序等。程序中使用了两个定时中断,定时中断0用于产生整个音程的频率,以便驱动扬声器。程序的总体流程是当P1由按键按下时,读键盘,并储存键值,若为F键则通过查表的方式,调用字符串下手键号/曲目子程序,将键号显示出来。主程序流程图如图41所示。42延时模块延时程序一般是通过一层或几层循环实现的,整个过程延时的时间是程序执行的指令总次数乘以每条指令所用的时间。由于该系统的晶振选用的是12M,所以执行指令所用的时间是2MS,程序执行流程图如图42所示。开始是否X0X是否Y0Y结束NYN图42延时程序流程图程序如下VOIDDELAY_MSUINTXMSUINTX,YFORXXMSX0XFORY110Y0X43函数初始化模块函数初始化程序即在主函数内对某些参数和标记位赋初值编写成一个函数,这样便是程序更具有条理化,清晰易懂。由于整个程序要用到定时器0和定时器1,所以,初始化程序主要是对定时器相关内容作说明。程序如下VOIDINITIALSOUNDVOIDSOUND_TEMP_TH1655361/1200SYSTEM_OSC/256/计算TL1应装入的初值SOUND_TEMP_TL1655361/1200SYSTEM_OSC256/计算TH1应装入的初值TH1SOUND_TEMP_TH1TL1SOUND_TEMP_TL1TMOD0X11ET01ET00TR00TR10EA144顺序播放模块顺序播放函数设计主要实现的是歌曲从14的播放,当播放歌曲时,播放模块(即上一曲、下一曲、暂停/播放和结束播放)可进行相应的操作,实现了音乐播放的切换功能。顺序播放函ORDER()函数代码如下VOIDORDERUINTIK8INITFORI0I15IWRITEDATATABI/LCD写数据函数写第一行MYDELAY50MYDELAY1000WRITECMD0X800X402/将指针设到第二行空两字符FORI0I6IWRITEDATATAB1IMYDELAY50INITIALSOUND/发音初始化程序GETCH/扫描键盘,获取键值IFK0/若键值为0UINTIINITFORI0I10IWRITEDATATAB2I/写第一首歌曲序号MYDELAY50MYDELAY1000WRITECMD0X800X40/转到第二行FORI0I9IPLAYMUSIC_GIRL,0,3,360/播放第一首歌MYDELAY500FORI0I11IWRITEDATATAB4IMYDELAY50MYDELAY1000WRITECMD0X800X40FORI0I11IWRITEDATATAB5IMYDELAY50PLAYMUSIC_JINGLE,0,3,360MYDELAY500FORI0I10IWRITEDATATAB6IMYDELAY50MYDELAY1000WRITECMD0X800X40FORI0I6IPLAYMUSIC_TWO,0,3,360MYDELAY500FORI0I10IMYDELAY1000WRITECMD0X800X40FORI0I6IWRITEDATATAB9IMYDELAY50PLAYMUSIC_JINGLE,0,3,360MYDELAY500BREAK45键盘扫描函数流程图按键扫面程序事实上就是去抖动程序。即先判断是否有键按下,若有则判断本次按键值和上次扫描到的的是否相同,如果相同,将扫描计数器加1;如果不同扫描计数器1;保存按键值以便和下次扫描键值比较。如果没有键按下,则认为按键值已释放。键盘扫描子程序流程如图43所示。开始键盘扫描有按键按下N图43键盘扫描子程序流程其源代码如下UCHARGETKEYUCHARI,J,K0UCHARKEYSCANCODE0XEF,0XDF,0XBF,0X7F/键盘扫描码UCHARKEYCODETABLE0XEE,0XED,0XEB,0XDE,0XDD,0XDB,0XBE,0XBD,0XBB,0X7E,0X7D,0X7B/键盘特征码P30X0F/扫描键盘获取按键序号IFP30X0FFORI0I4IP3KEYSCANCODEIFORJ0J3JKI3JIFP3KEYCODETABLEKRETURNK去抖动确定按键的物理位置计算键码等待释放返回返回ELSERETURN0XFFAT89C51单片机的P3口用作键盘I/O口,键盘的列线接到P3口的低4位,键盘的行线接到P3口的高4位。列线P30P33分别接有4个上拉电阻到正电源5V,并把列线P30P33设置为输入线,行线P34P37设置为输出线。4根行线和4根列线形成16个相交点。(1)检测当前是否有键被按下。检测的方法是P34P37输出全“0”,读取P30P33的状态,若P30P33为全“1”,则无键闭合,否则有键闭合。(2)去除键抖动。当检测到有键按下后,延时一段时间再做下一步的检测判断。(3)若有键被按下,应识别出是哪一个键闭合,方法是对键盘的行线进行扫描。P34P37按下表所示4种组合依次输出。如表41所示。表41键值组合P37P36P35P341110110110110111(4)在每组行输出时读取P30P33,若全为“1”,则表示为“0”这一行没有键闭合,否则有键闭合。由此得到闭合键的行值和列值,然后可采用计算法或查表法将闭合键的行值和列值转换成所定义的键值。46主要程序代码VOIDGETCHUCHARX,Y,ZP10XFFP10XF3/先对P0置数,行扫描IFP10XF3/判断是否有键按下DELAY1/延时IFP10XF3/确认按键按下XP3;XP1/保存行扫描时有键按下时状态P10XFC/列扫描YP1/保存列扫描时有键按下ZX|Y/取出键值SWITCHZ/判断键值CASE0XF9K0BREAKCASE0XF5K1BREAKCASE0XFAK2BREAKCASE0XF6K3BREAKVOIDDELAYUINTUICOUNTFORUICOUNT0UICOUNT250UICOUNTVOIDWRITECMDUCHARCOMMOND/写指令函数DELAY/先延时LCDE1/然后把LCD改为写入命令状态LCDRS0LCDRW0LCDPORTCOMMOND/在输出命令LCDE0/最后执行命令VOIDWRITEDATAUCHARDAT/LCD写数据函数DELAY/先延时LCDE1/把LCD改为写入数据状态LCDRS1LCDRW0LCDPORTDAT/在输出数据LCDE0/显示数据VOIDINITIALSOUNDVOIDBEEPIO0SOUND_TEMP_TH1655351/1200SYSTEM_OSC/256/计算TL1应装入的初值SOUND_TEMP_TL1655351/1200SYSTEM_OSC/256/计算TH1应装入的初值TH1SOUND_TEMP_TH1TL1SOUND_TEMP_TL1TMOD0X11ET01ET10TR00TR10EA1VOIDBEEPTIMER0VOIDINTERRUPT1/音符发生中断BEEPIOBEEPIOTH0SOUND_TEMP_TH0TL0SOUND_TEMP_TL0结束语毕业设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为电子信息工程的学生来说掌握单片机的开发技术是十分重要的。我的题目是基于单片机的音乐播放器的设计,对于我们这些工科学生来说,这是一次考验。怎么才能找到课堂所学与实际应用的最佳结合点,怎样让自己的业余更接近专业,怎样让自己的计划更具有序性,而不会忙无一用,这都是我们所要考虑和努力的。这次毕业设计我学到很多很多的东西,学会了怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻。这次毕业设计通过自己的努力,同学的帮助,还有老师的辛勤指导下,最终顺利完成致谢为期两个月的毕业设计结束了,在这次设计中,我得到了兰聪花老师悉心指导,在此深表感谢,同时,我也要向在设计过程中给予我帮助的几位同学以及班委的协助工作致以诚挚的谢意。参考文献1范海绍,李方园零起点学PROTEUS单片机仿真技术M北京机械工业出版社,2012012智兆华,张鹏USB接口芯片CH375的原理及应用J今日电子,20053袁卫,党纪源基于单片机的MP3播放器设计J现代电子技术,20114付军VISUALBASIC实用编程100例M北京中国铁道出版社,200355刘守义,单片机应用技术M,西安电子科技大学出版社,20076江志红AVR单片机系统开发实用案例精选M北京市北京航空航天大学出版社,20107赵建领51系列单片机开发宝典M北京电子工业出版社,2012028谭浩强C程序设计(第二版)M北京清华大学出版社,199912附录一原理图123456ABCD654321DCBATITLENUMBERREVISIONSIZEBDATE1APR2014SHEETOFFILEDWYPBAFBEF11DDBDRAWNBYC130PFC230PFX1CRYSTALC310UFD1LEDD2LEDD3LEDD4LEDD6LEDD5LEDD7LEDD8LEDR210KR110KLS1SPEAKERK1K3K2K4K5VCCXTAL119XTAL218RES9PSEN29ALE30EA31P178P167P156P145P134P112P123P101P00/AD039P01/AD138P02/AD237P04/AD435P03/AD336P05/AD534P06/AD633P07/AD732P2021P2122P2223P2324P2425P2526P2627P2728P30/RXD10P31/TXD11P32/NT012P33/NT113P34/T014P35/T115P36/WR16P37/R1AT89C51VCCVSS1VDD2VEE3RS4RW5E6D07D18D29D310D411D512D613D714RESPACK8LM016LVCC附录二仿真图AGANEMPLOYMENTTRIBUNALCLAIEMLOYMENTTRIBUNALSSORTOUTDISAGREEMENTSBETWEENEMPLOYERSANDEMPLOYEESYOUMAYNEEDTOMAKEACLAIMTOANEMPLOYMENTTRIBUNALIFYOUDONTAGREEWITHTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUYOUREMPLOYERDISMISSESYOUANDYOUTHINKTHATYOUHAVEBEENDISMISSEDUNFAIRLYFORMOREINFORMU,TAKEADVICEFROMONEOFTHEORGANISATIONSLISTEDUNDERFURTHERHELPEMPLOYMENTTRIBUNALSARELESSFORMALTHANSOMEOTHERCOURTS,BUTITISSTILLALEGALPROCESSANDYOUWILLNEEDTOGIVEEVIDENCEUNDERANOATHORAFFIRMATIONMOSTPEOPLEFINDMAKINGACLAIMTOANEMPLOYMENTTRIBUNALCHALLENGINGIFYOUARETHINKINGABOUTMAKINGACLAIMTOANEMPLOYMENTTRIBUNAL,YOUSHOULDGETHELPSTRAIGHTAWAYFROMONEOFTHEORGANISATIONSLISTEDUNDERFURTHERHELPATIONABOUTDISMISSALANDUNFAIRDISMISSAL,SEEDISMISSALYOUCANMAKEACLAIMTOANEMPLOYMENTTRIBUNAL,EVENIFYOUHAVENTAPPEALEDAGAINSTTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUHOWEVER,IFYOUWINYOURCASE,THETRIBUNALMAYREDUCEANYCOMPENSATIONAWARDEDTOYOUASARESULTOFYOURFAILURETOAPPEALREMEMBERTHATINMOSTCASESYOUMUSTMAKEANAPPLICATIONTOANEMPLOYMENTTRIBUNALWITHINTHREEMONTHSOFTHEDATEWHENTHEEVENTYOUARECOMPLAININGABOUTHAPPENEDIFYOURAPPLICATIONISRECEIVEDAFTERTHISTIMELIMIT,THETRIBUNALWILLNOTUSUALLYACCEPTIIFYOUAREWORRIEDABOUTHOWTHETIMELIMITSAPPLYTOYOUIFYOUAREBEINGREPRESENTEDBYASOLICITORATTHETRIBUNAL,THEYMAYASKYOUTOSIGNANAGREEMENTWHEREYOUPAYTHEIRFEEOUTOFYOURCOMPENSATIONIFYOUWINTHECASETHISISKNOWNASADAMAGESBASEDAGREEMENTINENGLANDANDWALES,YOURSOLICITORCANTCHARGEYOUMORETHAN35OFYOURCOMPENSATIONIFYOUWINTHECASEYOUARECLEARABOUTTHETERMSOFTHEAGREEMENTITMIGHTBEBESTTOGETADVICEFROMANEXPERIENCEDADVISER,FOREXAMPLE,ATACITIZENSADVICEBUREAUTOFINDYOURNEARESTCAB,INCLUDINGTHOSETHATGIVEADVICEBYEMAIL,CLICKONNEARESTCABFORMOREINFORMATIONABOUTMAKINGACLAIMTOANEMPLOYMENTTRIBUNAL,SEEEMPLOYMENTTRIBUNALSTHELACKOFAIRUPTHEREWATCHMCAYMANISLANDSBASEDWEBB,THEHEADOFD8D1D2D3D4D5D6D7D8B1B2B3D1D2D3D4D5D6B1B2B3D1D2D3D4D5D6D7D8A8A6A8A5A4A7A6A5A3A2A1A1A2A3A4A7D7XTAL218XTAL119ALE30EA31PSEN29RST9P00/AD039P01/AD138P02/AD237P03/AD336P04/AD435P05/AD534P06/AD63P07/AD732P101P112P123P134P145P156P167P178P30/RXD10P31/TXD1P32/INT012P33/INT113P34/T014P37/RD17P36/WR16P35/T115P27/A1528P20/A821P21/A92P22/A1023P23/A124P24/A1225P25/A1326P26/A1427U1AT89C51D714D613D512D41D310D29D18D07E6RW5RS4VS1VD2VE3LCD1LM016L234567891RP1RESPACK8D1REDD2YELOWD3GREND4BLUED5REDD6YELOWD8BLUEGNDVCVCC130PFC230PFX1CRYSTALR210KGNDR110KC310UFVCLS1SOUNDERGNDGNDK1K2K3K4K5D7GRENFIFASANTIRACISMTASKFORCE,ISINLONDONFORTHEFOOTBALLASSOCIATIONS150THANNIVERSARYCELEBRATIONSANDWILLATTENDCITYSPREMIERLEAGUEMATCHATCHELSEAONSUNDAY“IAMGOINGTOBEATTHEMATCHTOMORROWANDIHAVEASKEDTOMEETYAYATOURE,“HETOLDBBCSPORT“FORMEITSABOUTHOWHEFELTANDIWOULDLIKETOSPEAKTOHIMFIRSTTOFINDOUTWHATHISEXPERIENCEWAS“UEFAHASOPENEDDISCIPLINARYPROCEEDINGSAGAINSTCSKAFORTHE“RACISTBEHAVIOUROFTHEIRFANS“DURINGCITYS21WINMICHELPLATINI,PRESIDENTOFEUROPEANFOOTBALLSGOVERNINGBODY,HASALSOORDEREDANIMMEDIATEINVESTIGATIONINTOTHEREFEREESACTIONSCSKASAIDTHEYWERE“SURPRISEDANDDISAPPOINTED“BYTOURESCOMPLAINTINASTATEMENTTHERUSSIANSIDEADDED“WEFOUNDNORACISTINSULTSFROMFANSOFCSKA“AGEHASREACHEDTHEENDOFTHEBEGINNINGOFAWORDMAYBEGUILTYINHISSEEMSTOPASSINGALOTOFDIFFERENTLIFEBECAMETHEAPPEARANCEOFTHESAMEDAYMAYBEBACKINTHEPAST,TOONESELFTHEPARANOIDWEIRDBELIEFDISILLUSIONMENT,THESEDAYS,MYMINDHASBEENVERYMESSY,INMYMINDCONSTANTLYALWAYSFEELONESELFSHOULDGOTODOSOMETHING,ORWRITESOMETHINGTWENTYYEARSOFLIFETRAJECTORYDEEPLYSHALLOW,SUDDENLYFEELSOMETHING,DOIT一字开头的年龄已经到了尾声。或许是愧疚于自己似乎把转瞬即逝的很多个不同的日子过成了同一天的样子;或许是追溯过去,对自己那些近乎偏执的怪异信念的醒悟,这些天以来,思绪一直很凌乱,在脑海中不断纠缠。总觉得自己似乎应该去做点什么,或者写点什么。二十年的人生轨迹深深浅浅,突然就感觉到有些事情,非做不可了。THEENDOFOURLIFE,ANDCANMEETMANYTHINGSREALLYDO而穷尽我们的一生,又能遇到多少事情是真正地非做不可DURINGMYCHILDHOOD,THINKLUCKYMONEYANDNEWCLOTHESARENECESSARYFORNEWYEAR,BUTASTHEADVANCEOFTHEAGE,WILLBEMOREANDMOREFOUNDTHATTHOSETHINGSAREOPTIONALJUNIORHIGHSCHOOL,THOUGHTTOHAVEACRUSHONJUSTMEANSTHATTHEREALGROWTH,BUTOVERTHEPASTTHREEYEARSLATER,HISWRITINGOFALUMNIINPEACE,SUDDENLYFOUNDTHATISNTREALLYGROWUP,ITSEEMSISNOTSOIMPORTANTTHENINHIGHSCHOOL,THINKDONTWANTTOGIVEVENTTOOUTYOURINNERVOICECANBEINTHEHIGHSCHOOLCHILDRENOFTHEFEELINGSINAP

温馨提示

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

评论

0/150

提交评论