《数字音乐盒设计》.doc

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

文理学院 综合课程设计 (一) Integrated Curriculum Design(1) 所在院系 信息工程系 专业名称 电子信息工程 班级 1001 题目 数字音乐盒设计 指导教师 成员 完成时间 2012.12.28 一、设计任务及要求: 设计任务: 设计一个数字音乐盒程序。 要 求: 预写3个曲子 可以实现播放/暂停、上一曲/下一曲功能 有开机欢迎词,播放曲目时LCD屏幕上显示曲目名称 指导教师签名: 2012年12月28日 二、指导教师评语: 指导教师签名: 2012年12月 28 日 三、成绩 验收盖章 2012年12月28 日 数字音乐盒的设计 1 设计目的 (1)熟悉。掌握。了解。程序void INT0_time()interrupt 0 { keyscan(); } 按键部分(上曲/下曲) { key1 部分 if(key2= =0) { delayms(10); if(key2= =0) { n--; if(n= =0) n=3;}} if(key3= =0) { delayms(10); if(key3= =0) { n++; if(n= =4) n=1;}} } while(xuchar a) { speaker=1; delayus(uint b); if(n!=c)//c填的是曲目序号 break; speaker=0; delayus(uint b); if(n!=c) break; } 4程序调试与结果分析 4.1程序调试 在程序没有写完之前,如果前面声明了子函数,但是后面没有用到的话,会出现警告。只有程序写完整了警告才会不再出现;还有其中key=1和key= =1的意义不同,编译之后系统也判为警告,但实际上只能写作key= =1,写程序时应注意。 4.2结果分析 在程序只完成了音乐部分和按键部分时(即没有加入显示部分时),用proteus仿真时反应速度较理想。在加入显示部分后,播放第一曲时按下“下一曲”键会过几秒才调到第二曲;播放曲目时按下“播放/暂停”键大概超过半秒才会暂停,而从暂停到继续播放时快速点击按键即可。上述情况仍存在,但不影响音乐盒基本功能。 5设计体会 通过这次对数字音乐盒的设计与制作,我大概明白了设计一个具有一定功能的产品的部分基本步骤,了解到自己才刚起步,还有许多东西等着我去学习,我会在不断学习与实践中累积经验,向更高的目标迈进。 参考文献(至少5篇) [1]新概念51单片机C语言教程(郭天祥著) [2]互联网 [3]老师、同学的指导 附件 完整程序(分段显示程序) #includereg52.h #define uchar unsigned char #define uint unsigned int uchar code table[]=WELCOME; uchar code table1[]=THE MUSIC BOX; uchar code table2[]=STATE:ON; uchar code table3[]=STATE:STOP; uchar code table4[]= ; uchar code table5[]=MUSIC NO.1; uchar code table6[]=MUSIC NO.2; uchar code table7[]=MUSIC NO.3; sbit speaker=P2^7; sbit key1=P2^0; sbit key2=P2^1; sbit key3=P2^2; sbit lcden=P3^4; sbit lcdrs=P3^5; uchar x,a,n=1,num,f,com; uint y; void delayus(uint); void delayms(uint); void musicalnotea(uchar,uint); void musicalnoteb(uchar,uint); void musicalnotec(uchar,uint); void write_com(uchar com) { lcdrs=0; P1=com; delayms(5); lcden=1; delayms(5); lcden=0; } void write_data(

文档评论(0)

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

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

1亿VIP精品文档

相关文档