LED液晶音乐盒.ppt

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LED液晶音乐盒

LED液晶音乐盒 小组成员 :朱如娟 李柯柯 周培 指导老师:蔡菁 摘要 伴随着信息技术革命的不断深入,以及计算机技术的快速发展,单片机的应用越来越广泛了,并且已经逐渐地发展成为了一门比较关键的技术学科。单片机具有体积小、质量轻 、耗电量小、 电源比较单一 、功能性强、价格低、运行速度比较快 、抗干扰的能力较强、利用率高等优点, 因而在通信、家电、工业中等特别是汽车等产品的应用当中都能够处处看到单片机的应用。毫不夸张的说一块单片机芯片就是一台计算机。因为受到单片机的这样的特殊的结构形式,使得在某些领域当中,它所承载了很多不论是大中型或者是微小型计算机都没有办法完成的一些工作,使得它有了许多方面的优点和特点,由于单片机的这些优势和优点,因而在各个领域当中,单片机都得到了飞快地发展。 随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。本文设计的音乐盒是以单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏和旋音乐,功能多,外观效果多彩,使用方便,并具有一定的商业价值 。 设计目的 设计目的: (1)熟悉Proteus及Keil软件的调试和仿真。 (2)通过实验提高对单片机的认识。 (3)通过实验提高软件调试能力。 (4)进一步熟悉和掌握单片机的结构及工作原理。 (5)通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术了解电路参数的计算方法。 (6)通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。 设计 本设计是一个基于 AT89C51 系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由按键电路,复位电路,时钟电路,液晶电路以及蜂鸣器组成。使用两个按键控制音乐盒,一个用来切换歌曲,液晶屏显示歌曲名称,另一个用来切换 8 路 LED 的变化花样,本音乐盒共有四首歌曲,花样灯花样共计 4 种。播放歌曲时,蜂鸣器发出某个音调,与之对应的 LED 亮起,液晶屏显示歌曲名称。本设计利用 KEIL 编程软件对音乐 盒源程序进行编程并调试,配合 PROTEUS 仿真软件对硬件进行仿真调试,节约了设计时间。 音乐盒的功能结构图 音乐盒的功能结构如图2.2所示。Key1负责切换播放歌曲,播放歌曲共4首,分别是东方红,金色北京,和寂寞沙洲冷。Key2负责切换LED显示花样,显示花样共3种,第一种顺序显示,第二种由两边向中间移动然后向两边移动,第三种循环显示。 音乐盒功能结构图 主程序代码: void main() { uchar x; t=0; led();//led快闪 init(); for(num=0;num16;num++) { write_data(table0[num]); delay1(1); } delay(12); count1=1; count2=0;//流水灯无花样 EA=1;//开总中断 EX1=1; EX0=1; IT1=1;//外部中断1下降沿触发方式 IT0=1; ET1=1; TMOD=0x11;//定时器1工作在方式1 TH1=0; TL1=0; while(1) { if(count2!=0) { switch(count2) { case 1: if(y==1) {write_com(0x01); write_com(0x80); delay1(1); for(num=0;num15;num++) {write_data(table6[num]); delay1(1); } write_com(0x01); write_com(0x80); for(num=0;num15;num++) {write_data(table5[num]); delay1(1); } y=0; } for(x=0;x14;x++) { P1=huayang1[x]; delay1(200); if(count2!=1) break; } break; case 2: for(x=0;x14;x++) {

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档