毕业论文——发动机自动熄火的诊断分析2.doc_第1页
毕业论文——发动机自动熄火的诊断分析2.doc_第2页
毕业论文——发动机自动熄火的诊断分析2.doc_第3页
毕业论文——发动机自动熄火的诊断分析2.doc_第4页
毕业论文——发动机自动熄火的诊断分析2.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

课程设计题目:基于单片机音乐演奏曲title: instrumental music based on single chip姓 名: 学 号: 系 别: 专 业: 年 级: 指导教师: 2012年5 月 25 日基于单片机音乐演奏曲摘要单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本设计以at89c2051为核心,主要由电源电路、复位电路、音频放大电路、时钟电路和数码管电路和蜂鸣器电路构成单片机奏乐附加时钟的一个小系统。电路中i/o口采用分时复用的借口技术,使at89c2051单片机的引脚资源得以充分利用,本系统的电路简单,实现的功能强大,所用芯片比较便宜,性价比较高。关键词:at89c2051,数码管,单片机奏乐,分时复用目 录摘要i1.引言32.系统整体结构42.1系统总设计42.2实现的功能42.3主要芯片介绍42.3.1 at89c2051芯片介绍43.系统硬件设计53.1键盘输入模块53.2时钟模块53.3显示模块63.4复位电路63.5蜂鸣器电路设计74.系统软件设计74.1系统主程序流程图系74.2 部分子程序流程图8结束语10参考文献10致谢11附录11 - 2 -1.引言随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的自动控制系统开始进入了人们的生活,以单片机为核心的各种系统也越来越多。同时也标志了自动控制领域成为了数字化时代的一员。它实用性强,功能齐全,技术先进,使人们相信这是科技进步的成果。它更让人类懂得,数字时代的发展将改变人类的生活,将加快科学技术的发展。本次设计为单片机奏乐器,硬件部分它以单片机at89c2051为核心,由功放电路、数码管等组成。当接上电源按下开关时,就能听到优美的旋律。当然这些音乐都是通过软件编程实现的,把它存储在存储器里,根据存储容量大小决定存储音乐的数目。 2 2.系统整体结构2.1系统总设计本设计主要由单片机at89c2051、独立键盘、复位电路、数码管显示电路和时钟电路组成,用于实现单片机奏乐功能。系统设计总框图如图1所示:系统设计总框图12.2实现的功能设有四个按键,其中两个能实现多首音乐的选择,另一个能实现播放功能和暂停的功能,最后一个能实现复位和关闭歌曲的功能。设有一位数码管,每选择一首曲子能在数码管上显示当前的曲目(只是数字)。2.3主要芯片介绍2.3.1 at89c2051芯片介绍 at89c2051芯片的引脚图2:at89c2051的20 个引脚的功能为:vccgnd:电源电压,接地引脚xtal1、xtal2:反向震荡放大器内部时钟工作电路的输入、反向震荡放大器内部时钟工作电路的输出引脚。rst:复位信号输入引脚。当rst编为高电平并保持2个机器周期,所有i/o引脚复位至“1”电平。p1.0p1.7:p1口的8位双向i/o引脚。p3.0p3.5与p3.7:为7个带内部上拉的双向i/o口 3.系统硬件设计3.1键盘输入模块设计所用到的按键数量较少,所以可以采用独立按键式键盘。独立式按键盘每一个按键与一个i/o口相连。共有3个按键,sw2用于播放和暂停,sw1用于上一曲,sw3用于下一曲。如图所示: 3.2时钟模块单片机工作的时间基准是由时钟电路提供的。在单片机的xtal1与xtal2两个引脚间,接一只晶振及两只电容就构成了单片机的时钟电路,如下图所示。电容器c5和c6对振荡频率有微调的作用,通常的取值是30pf;石英晶体选12mhz。 3.3显示模块显示部分是使用一位数码管,采用共阳接法,a-g分别接p1.0-p1.6口。3.4复位电路单片机的rst引脚为主机提供一个外部信号输入端口。信号时高电平有效,高电平有效的持续时间应为2个机器周期以上。复位以后,单片机内各个部件恢复到初始状态,单片机从rom的0000h开始执行程序。单片机的复位方式有上电复位和手工复位两种,在这边我采用的按键复位方式,只要vcc上升时间不超过1ms,它们都能很好的工作。该单元的电路图:3.5蜂鸣器电路设计设计要求定时时间到的时候来回置低电平,来驱动蜂鸣器发出声音。4.系统软件设计4.1系统主程序流程图系4.2 部分子程序流程图 独立按键扫描 音乐播放模块 结束语本次设计总体上达到了预期的要求,运用我们所学的单片机知识完成了以单片机at89c2051为核心的单片机奏乐器,经过这段时间有关于单片机奏乐器的课程设计,使我对单片机的应用有了更深的了解。在设计过程中,碰到了许多问题。当然也收获了很多,动手能力得到了很大的提高,学会了查阅资料和对各种资料的融会变通。参考文献1 赵建领著.51单片机开发与应用技术详解.电子工业出版社,2009.01. 2 倪云峰主编.单片机原理与应用.西安电子科技大学出版社,2009.06.10附录1附录一 源程序#include sbit fmq=p37;sbit sw0=p34;sbit sw1=p33;sbit sw2=p35;unsigned char flag=0;unsigned char data l;unsigned int sta=1;unsigned int data j;unsigned char data i;unsigned char data k;unsigned char count;void delay(unsigned int t); /延时函数声明void play();void xuanz();void keyscan(); /按键扫描unsigned char *pmmusic;unsigned char code led=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;unsigned char code music30=0xff,0xff,0xfb,0x90,0xfc,0x0c,0xfc,0x44,0xfc,0xac, 0xfd,0x09,0xfd,0x34,0xfd,0x82,0xfd,0xc8,0xfe,0x06, 0xfe,0x22,0xfa,0x15,0xfb,0x04,0xfa,0x67,0xfe,0x85;/音调数组unsigned char code mmusic=0x35,0x31,0x34,0x34,0x24,0x35,0x32,0x32,0x24,0x38,0x44,0x58,0x48,0x34,0x31,0x34,0x34,0x24,0x38,0x34,0x7f,0x32,0x34,0x32,0x34,0x24,0x38,0x34,0x24,0x38,0x43,0x58,0x48,0x34,0x32,0x34,0x38,0x24,0x38,0x34,0x7f,0x16,0x4c,0x74,0x78,0x64,0x54,0x48,0x54,0x64,0x58,0x44,0x34,0x24,0x38,0x24,0x14,0x12,0x21,0x14,0x78,0x68,0x3f,0x4c,0x74,0x78,0x64,0x52,0x42,0x48,0x53,0x64,0x58,0x44,0x34,0x24,0x38,0x24,0x24,0x38,0x44,0x58,0x48,0x3c,0xff;unsigned char code mmusic1= 0xc2,0xb2,0x36,0x52,0x42,0x32,0x11,0xc1,0xb2,0xc6, 0x22,0xc4,0x12,0xc2,0x76,0xa2,0x84,0x72,0x51,0x41, 0x32,0x4c,0x41,0x36,0x74,0x82,0x74,0x82,0x72,0x52, 0x41,0x38,0x32,0x42,0x14,0xc2,0x72,0x52,0x42,0x42, 0x3c,0xc2,0xb2,0x36,0x52,0x42,0x32,0x11,0xc1,0xb2, 0xc6,0x12,0xc4,0x12,0xc2,0x76,0xa2,0x82,0x72,0x51, 0x41,0x32,0x4c,0x42,0x32,0x76,0x82,0x74,0x82,0x72, 0x53,0x41,0x38,0x32,0x42,0x16,0xc2,0x72,0x52,0x41, 0x53,0x12,0xcc,0xc2,0xb2,0x16,0xc2,0x72,0x52,0x42, 0x41,0x3c,0x32,0x32,0x26,0x22,0x24,0x42,0x32,0x22,0xff; unsigned char code mmusic2= 0x34,0x31,0x31,0x34,0x44,0x52,0x62,0x52,0x42,0x32, 0x34,0x04,0x74,0x74,0x62,0x62,0x64,0x3c,0x04,0x64, 0x62,0x52,0x42,0x32,0x34,0x33,0x31,0x32,0x72,0x76, 0x72,0x83,0x81,0x82,0x82,0x82,0x74,0x72,0x7c,0x04, 0x63,0x61,0x64,0x64,0x64,0x72,0x82,0x72,0x74,0x72, 0x62,0x52,0x42,0x32,0x42,0x44,0x42,0x42,0x52,0x62, 0x52,0x5c,0x04,0x64,0x62,0x62,0x64,0x72,0x82,0x72, 0x74,0x72,0x62,0x52,0x42,0x32,0x42,0x46,0x53,0x41, 0x42,0x32,0x3c,0x04,0x44,0x48,0x02,0x32,0x3f,0x44, 0x48,0x01,0x34,0x3f,0x44,0x0c,0xff;/主程序void main() tmod=0x11;/初始化 ie=0x8a;th1=(65536-5000)/256;tl1=(65536-5000)%256;tr1=1;tr0=0;while(1)p1=ledsta; if(tr0=1)flag=0;xuanz(); play(); void xuanz()if(sta=1)pmmusic=mmusic; else if(sta=2)pmmusic=mmusic1; else if(sta=3)pmmusic=mmusic2; /*else if(sta=4)pmmusic=mmusic3; else if(sta=5)pmmusic=mmusic4; else if(sta=6)pmmusic=mmusic5; else if(sta=7)pmmusic=mmusic6; else if(sta=8)pmmusic=mmusic7;*/ else pmmusic=mmusic1;void play()if(*(pmmusic+j)!=0xff) k=*(pmmusic+j)&0x0f; l=*(pmmusic+j)4; th0=music2*l; tl0=music2*l+1; if(flag=1)goto next; if (music2*l=0xff)&(music2*l+1=0xff) tr0=0; for(i=k;i0;-i) delay(23350); j+; elsenext:j=0;tr0=0;void timer0(void) interrupt 1 th0=music2*l; tl0=music2*l+1; fmq=!fmq; void timer1(void) interrupt 3th1=(65536-5000)/256;tl1=(65536-5000)%256;keyscan();void keyscan() /独立按键扫描if(sw0=0) count+; if(count=40)count=0; if(sw0=0) tr0=tr0;fmq=1; if(sw1=0) count+; if(count=40)

温馨提示

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

评论

0/150

提交评论