毕业论文-java实现贪吃蛇_第1页
毕业论文-java实现贪吃蛇_第2页
毕业论文-java实现贪吃蛇_第3页
毕业论文-java实现贪吃蛇_第4页
毕业论文-java实现贪吃蛇_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

内容摘要:本文用J2SE实现大家耳熟能详的一个贪吃蛇游戏来综合运用所学知识,本游戏运用软件工程思想(螺旋模型),打好游戏主体框架,JAVA的面向对象思想,封装类,接口等概念,来完成本游戏,达到综合运用知识的目的。关键词:中央控制器;游戏面板;食物;蛇Abstract:Inthispaper,J2SEimplementationofaSnakegamefamiliartotheintegrateduseofwhattheyhavelearned,thisgameistheuseofsoftwareengineeringthinking(spiralmodel),themainframeworkofthefightgame,JAVAobject-orientedthinking,wrapperclasses,interfaceconceptstocompletethisgame,hittingtheintegrateduseofknowledgeandpurpose.⑴.Thegamedevelopmentplatform:WINXP;⑵.JAVADevelopmentEnvironment:JDK1.5+Eclipse;⑶.DevelopmentLanguages:J2SE去掉Keywords:Controller;GamePanel;Food;Snake;去掉1.引言1.1课题背景与意义贪吃蛇,手机上一个必不可少的游戏。但是你知道贪吃蛇这个游戏的由来吗?据说,蛇引诱夏娃吃了苹果之后,就被贬为毒虫,阴险的象征。而蛇吃东西是整只动物吞进去的,大概在文艺复兴的时候就有人发明的一种游戏,是现在贪吃蛇的前身。后来慢慢的发展就变成了今天的贪吃蛇了。贪吃蛇是大众化的一个程序,人们手机中是一个很常见的一个游戏,人们对它并不陌生,在紧张的现在生活中给人们带来了不少的乐趣,我写的这个贪吃蛇游戏能满足人们业余时间的适当放松,再紧张的生活节奏中适当的放松一下,保持好的心态。在这个程序中我用了Java语言来编写,运用了Java中的一些常用的功能,Java语言是在国内外广泛使用的一种语言。Java语言功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好,纯粹的面向对象的编程,特别适合用于编写应用软件。1.2JAVA游戏的现状与概述在现今电子信息高速发展的时代,电子游戏已经深入人们的日常生活,成为老少皆宜的娱乐方式。但是游戏设计结合了日新月异的技术,在一个产品中整合了复杂的设计、艺术、声音和软件,所以并不是人人皆知。直到今天,在中国从事游戏设计的人仍然很少,但是游戏行业的发展之快,远超如家电、汽车等传统行业,也正因为如此,游戏人才的教育、培养远落后于产业的发展。Java作为一种分布式和可移植的计算机语言,在软件开发上有着特别的优点。它开发方便、快捷,安全性高,在当今计算机飞速发展的时代,Java技术的平台无关性、可重用性、模块化等特点大大减少了重复劳动。本论文介绍的是使用Java开发的贪吃蛇游戏,本游戏的主要背景是毕业课程设计,不注重直接的经济效益和其后的发展方向,只在注重自身水平和能力的提高。选择JAVA作为编程语言。需要对其变量定义、变量初始化、界面初始化、游戏初始化、然后进入游戏、处理游戏过程中的各种操作熟悉。此次设计在MicrosoftWindowsXP系统下,以Java为开发语言,在Eclipse平台上进行游戏的开发。2.系统开发环境2.1开发工具第1章的2级标题你采用了顶格,那这里和以后的标题页要采用顶格排版。后面类似问题自己查找修改。第1章的2级标题你采用了顶格,那这里和以后的标题页要采用顶格排版。后面类似问题自己查找修改。SunMicrosystems公司在推出Java语言的同时,推出了一套开发工具JDK。Sun提供的基于字符模式的Java开发工具包JDK:Java开发工具(JDK)是许多Java专家最初使用的开发环境。Java是平台无关的语言是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。Java源程序编写借助于记事本,Editpuls,UltraEdit等第三方编辑工具。所有的Java文件编辑、编译、调试、解释运行都是通过使用字符命令来执行操作。JDK由一个标准类库和一组建立,测试及建立文档的Java实用程序组成。其核心JavaAPI是一些预定义的类库,开发人员需要用这些类来访问Java语言的功能。JDK是整个Java的核心,包括了Java运行环境(JavaRuntimeEnvirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。JDK里面是java类库和java的语言规范,它提供的是无论你用何种开发软件写java程序都必须用到的类库和java语言规范.没有jdk,你的java程序根本就不能用。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM(JavaVirtualMachine)运行效率要比SunJDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比SunJDK好很多。但不管怎么说,我们还是需要先把SunJDK掌握好。首行缩进2字符。建议打开工具选项里的查看隐藏字符。后面这种问题更严重。2.2应用环境首行缩进2字符。建议打开工具选项里的查看隐藏字符。后面这种问题更严重。⑴.本游戏开发平台:WINXP;⑵.JAVA开发环境:JDK1.5+Eclipse;⑶.开发语言:J2SE2.3java介绍2.3.1JAVA语言的特点Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。问题同上,后面类似的自己修改。问题同上,后面类似的自己修改。2.3.2JAVA的主要特性JavaJ语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。JavaJ语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言是分布式的语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(javanet),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节。Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。3.系统需求分析3.1需求分析本系统主要是完成贪吃蛇游戏的基本操作。用户可以自己练习和娱乐。本系统需要满足以下几点要求:(1)利用方向键来改变蛇的运行方向。(2)空格键暂停或继续游戏,并在随机的地方产生食物。(3)吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。3.2可行性分析贪吃蛇游戏是一种简单的大众的游戏,自从计算机实现以来,深受广大电脑玩家的喜爱,做一个贪吃蛇游戏。贪吃蛇的核心算法时如何实现移动和吃掉食物,没有碰到食物的时候,把当前运动方向上的下个节点入队,并以蛇节点的颜色绘制这个节点,然后把头指针所指的节点出队,并以游戏框架内部背景色重绘出队的节点,这样就可以达到移动的效果。而在吃到食物的时候,则只需把食物入队即可。实现贪吃蛇的基本的蛇身移动、吃到食物身体增长、和碰到墙壁或自身死亡,能够暂停和开始。本次设计我将主要运用java语言来完成。Java语言是一种跨平台,适合于分布式计算环境的面向对象编程语言,用Java写的应用程序不用修改就可在不同的软硬件平台上运行。由于Java主要用于网络应用程序开发,因此对安全性有较高的要求。如果没有安全保证,用户从网络下载程序执行就非常危险。Java通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。4.概要设计4.1设计思路本次设计的重点之处在于编程思想的形成,设计图像界面,产生随机食物及其位置。这个程序的关键是表示蛇的图形以及蛇的移动。用一个小矩形表示蛇的一节身体,身体每长一节,增加一个矩形块。移动时必须从蛇头开始,所以蛇不能向相反方向移动,也就是蛇尾不能改作蛇头。如果不按任何键,蛇自行在当前方向上前移,当游戏者按了有效的方向键后,蛇头朝着指定的方向移动,一步移动一节身体,所以当按了有效的方向键后,先确定蛇头的位置,然后蛇身体随着蛇头移动,图形的实现是从蛇头的新位置开始画出蛇。4.2设计方法总体设计流程图,如下图所示:游戏开始 游戏开始选择难度选择难度判断蛇的起行方向判断蛇的起行方向蛇头移动蛇头移动是下面的箭头方向是什么意思呢?下面几个也是如此。有“是”是下面的箭头方向是什么意思呢?下面几个也是如此。有“是”,“否”在哪里呢?是否吃掉食物蛇身长度+1蛇身长度+1判断当前蛇身的节点判断当前蛇身的节点是否咬到做自己否是否咬到做自己是是否碰到墙壁是否碰到墙壁是否蛇身再次前移否蛇身再次前移游戏结束游戏结束5.游戏中所需的实体类分析与实现㈠涉及到几个对象(类)㈡每个类有什么方法5.1游戏显示面板(SnakePanel)类该类有一下几个方法voidpaint();//用来显示游戏面板VoidKeyPassed();//键盘控制VoidstartRun();//线程实现移动5.2蛇(Snake)类,该类有一个方法:voidmove();//移动5.3食物类(Egg)类5.4游戏窗口(SnakeFrame)类,该类有以下方法这几个小节只有一句话,不至于单独成节啊。:这几个小节只有一句话,不至于单独成节啊。Voidmain();主方法,运行程序showMe();显示游戏开始的界面6.详细设计本有序遵循MVC(Model-View-Controller)所以首先建立以上几个实体类并定义相应的包名rac下:Egg、Snake、SnakeFrame、SnakePanel四个类,按照以上说明的各个类具有的方法,写上如下代码:Egg类packagerac;importjavax.swing.JPanel;publicclassEgg{ intx; inty; intlength; JPanelpanel;}Snake类packagerac;importjava.util.Arrays;importjavax.swing.JPanel;publicclassSnake{ publicfinalstaticintUP=0; publicfinalstaticintDOWN=1; publicfinalstaticintLEFT=2; publicfinalstaticintRIGHT=3; int[]x; int[]y; intlength; intdirection; intspeed; JPanelpanel; booleanstarted; booleandead; publicSnake(){ } //移动控制 publicvoidmove(){ switch(direction){ caseUP: if(y[0]>=0&&started){ for(inti=x.length-1;i>0;i--){ x[i]=x[i-1]; y[i]=y[i-1]; //蛇吃蛇情况 if(i>4&&x[i]==x[0]&&y[i]==y[0]){ dead=true; } } y[0]-=speed; if(y[0]<0){ for(inti=x.length-1;i>0;i--){ x[i]=x[i-1]; y[i]=y[i-1]; } y[0]=0; dead=true; } } break; } }}SnakeFrame类packagerac;importjavax.swing.JFrame;publicclassSnakeFrameextendsJFrame{ privateSnakePanelpanel; publicSnakeFrame(){ panel=newSnakePanel(); this.addKeyListener(panel); this.add(panel); panel.startRun(); } publicvoidshowMe(){ this.setSize(1000,640); this.setTitle("贪吃蛇"); this.setVisible(true); this.setDefaultCloseOperation(SnakeFrame.EXIT_ON_CLOSE); } publicstaticvoidmain(String[]args){ newSnakeFrame().showMe(); }}SnakePanel类packagerac;importjavax.swing.JFrame;publicclassSnakeFrameextendsJFrame{ privateSnakePanelpanel; publicSnakeFrame(){ panel=newSnakePanel(); this.addKeyListener(panel); this.add(panel); panel.startRun(); } publicvoidshowMe(){ this.setSize(1000,640); this.setTitle("贪吃蛇"); this.setVisible(true); this.setDefaultCloseOperation(SnakeFrame.EXIT_ON_CLOSE); } publicstaticvoidmain(String[]args){ newSnakeFrame().showMe(); }}7.重难点分析7.1监听事件的实现由于蛇不能直接操作显示面板(GamePanel)所以这里定义一个监听器里面定义一个方法:voidsnakeMove(Snake);每当蛇移动一步就触发监听器,调用snakeMoved()由Controller去实现,然后由控制器去触发显示面板的事件源,让显示面板完成相应操作。逻辑图如下:注意排版,又不是写代码,不至于层层缩进,标题顶格,正文首行缩进2字符。注意排版,又不是写代码,不至于层层缩进,标题顶格,正文首行缩进2字符。图2事件监听建立联系在Snake中增加蛇的方向常量:publicfinalstaticintUP=0; publicfinalstaticintDOWN=1; publicfinalstaticintLEFT=2; publicfinalstaticintRIGHT=3;实现move()方法 publicvoidmove(){ switch(direction){ caseUP: if(y[0]>=0&&started){ for(inti=x.length-1;i>0;i--){ x[i]=x[i-1]; y[i]=y[i-1]; //蛇吃蛇情况 if(i>4&&x[i]==x[0]&&y[i]==y[0]){ dead=true; } } y[0]-=speed; if(y[0]<0){ for(inti=x.length-1;i>0;i--){ x[i]=x[i-1]; y[i]=y[i-1]; } y[0]=0; dead=true; } } break; 7.2蛇身移动的线程实现线程实现移动 publicvoidstartRun(){ newThread(){ publicvoidrun(){ while(true){ snake.move(); try{ Thread.sleep(level); }catch(InterruptedExceptione){ e.printStackTrace(); } repaint(); } } }.start(); }7.3项目的主程序入口设计packagerac;importjavax.swing.JFrame;publicclassSnakeFrameextendsJFrame{ privateSnakePanelpanel; publicSnakeFrame(){ panel=newSnakePanel(); this.addKeyListener(panel); this.add(panel); panel.startRun(); } publicvoidshowMe(){ this.setSize(1000,640); this.setTitle("贪吃蛇"); this.setVisible(true); this.setDefaultCloseOperation(SnakeFrame.EXIT_ON_CLOSE); } publicstaticvoidmain(String[]args){ newSnakeFrame().showMe(); }}运行这个带有main()的类,当蛇移动一次,就触发监听器,有控制器(controller)给SnakeFrame发送指令,让它重画,SnakePanel中的publicvoidkeyPressed(KeyEvente){ switch(e.getKeyCode()){ caseKeyEvent.VK_UP: if(snake.direction!=1){ snake.started=true; snake.direction=0; snake.move(); repaint(); } Break; } }这个方法依次画出几个实体,所以打印出上述信息。到了这一步我们的基本框架打好了,下面开始第5步7.4蛇的数据结构设计与移动显示分析:要区分蛇头和蛇尾巴,这就要求这个数据结构是有序的,还要经常访问第一个和最后一个节点,所以LinkedList最合适,因为它有getFirst(),getLast()方法和removeLast()方法蛇下一步移动到哪是由方向控制的,前面已经定义过,蛇透坐标如下图:图3蛇头方向计算新蛇头坐标SnakePanle中的吞食物,蛇身增加的实现;//吞蛋的实现 while(Math.sqrt(Math.pow(egg.x-snake.x[0],2) +Math.pow(egg.y-snake.y[0],2))<=16){ snake.x=Arrays.copyOf(snake.x,snake.x.length+1); snake.y=Arrays.copyOf(snake.y,snake.y.length+1); if(snake.direction==0){ snake.x[snake.x.length-1]=snake.x[0]; snake.y[snake.y.length-1]=snake.y[0]+snake.length; } if(snake.direction==1){ snake.x[snake.x.length-1]=snake.x[0]; snake.y[snake.y.length-1]=snake.y[0]-snake.length; } if(snake.direction==2){ snake.x[snake.x.length-1]=snake.x[0]+snake.length; snake.y[snake.y.length-1]=snake.y[0]; } if(snake.direction==3){ snake.x[snake.x.length-1]=snake.x[0]-snake.length; snake.y[snake.y.length-1]=snake.y[0]; } g.clearRect(egg.x,egg.y,egg.length,egg.length);为了能更方便的维护游戏,这里定义SnakePanle类中的初始化内容:publicSnakePanel(){ snake.x=newint[3]; snake.y=newint[3]; snake.direction=0; snake.x[0]=960; snake.y[0]=540; snake.x[1]=960; snake.y[1]=560; snake.x[2]=960; snake.y[2]=580; snake.length=20; snake.panel=this; snake.speed=20; snake.started=false; egg.length=20; egg.panel=this; egg.x=rom.nextInt(49)*20; egg.y=rom.nextInt(30)*20; entered=false; level1=false; level2=false; level3=false; level=1000; score=0; }在蛇的print(Graphicsg)中些上如下让蛇显示的代码:这里的画图采用填充图片来实现:privateImageback=newImageIcon("back.jpg").getImage(); privateImagehead_up=newImageIcon("head_up.png").getImage(); privateImagehead_down=newImageIcon("head_down.png").getImage(); privateImagehead_left=newImageIcon("head_left.png").getImage(); privateImagehead_right=newImageIcon("head_right.png").getImage(); privateImageback_p=newImageIcon("back_p.jpg").getImage(); privateImageback_b=newImageIcon("back_b.jpg").getImage(); privateImageback_v=newImageIcon("back_v.jpg").getImage(); privateImageeggs=newImageIcon("egg.png").getImage(); privateImagebody=newImageIcon("body.png").getImage();画图的规则如下图:图4计算格子坐标和像素坐标此时运行Game类就可以看到蛇显示在面板中了,如图:移动中的蛇,如图:7.5修正蛇的移动与显示问题此时的蛇当移动到窗口边界的时候就能走出窗口还有蛇可以穿过自己的身体,这些游戏规则中式不允许的if(y[0]>=0&&started){ for(inti=x.length-1;i>0;i--){ x[i]=x[i-1]; y[i]=y[i-1]; //蛇吃蛇情况 if(i>4&&x[i]==x[0]&&y[i]==y[0]){ dead=true; } } y[0]-=speed; if(y[0]<0){ for(inti=x.length-1;i>0;i--){ x[i]=x[i-1]; y[i]=y[i-1]; } y[0]=0; dead=true; } }此时就修正了上面的问题,可以运行Game类来测试下7.6编写与测试表示食物的类并实现吃食物//避免出现蛋出在蛇身上的情况 while(true){ booleanisSnake=false; inttx=rom.nextInt(49)*20; intty=rom.nextInt(30)*20; for(inti=0;i<snake.x.length;i++){ if(tx==snake.x[i]&&ty==snake.y[i]){ isSnake=true; break; } } if(isSnake){ continue; } egg.x=tx; egg.y=ty; break; } g.drawImage(eggs,egg.x,egg.y,egg.length,egg.length, this); score+=10; g.setColor(Color.black); g.setFont(font_s); g.drawString("分数:"+score,10,20); if(snake.direction==0){ g.drawImage(head_up,snake.x[0],snake.y[0], snake.length,snake.length,this); } if(snake.direction==1){ g.drawImage(head_down,snake.x[0],snake.y[0], snake.length,snake.length,this); } if(snake.direction==2){ g.drawImage(head_left,snake.x[0],snake.y[0], snake.length,snake.length,this); } if(snake.direction==3){ g.drawImage(head_right,snake.x[0],snake.y[0], snake.length,snake.length,this); } for(inti=1;i<snake.x.length;i++){ g.drawImage(body,snake.x[i],snake.y[i],snake.length, snake.length,this); } }7.6.1食物,蛇身,显示效果7.6.2吃掉食物,蛇身变化效果7.6.3蛇咬到自己身体,撞到墙壁,显示效果参考文献:[1]软件工程-西安电子科技大学出版社[2]胡伏湘,雷军环.Java程序设计实用教程.清华大学出版社[3]麻孜宁;伊浩;李祥;;Java多线程并发系统中的安全性与公平性[J];微机发展;2006年02期[4]张雪萍;鲍丹;王家耀;;Java多线程测试策略及测试方法探讨去掉底纹[J];计算机应用研究;2006年11期去掉底纹[5]沈忠山;基于MVC模式的WebGIS设计与实现[D];武汉大学;2004年致谢:本论文是在李冬老师的亲切关怀和悉心指导下完成的,她严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。李老师不仅在学业上给我以精心指导,同时还在思想、生活上给我以无微不至的关怀,在此谨向李老师致以诚挚的谢意和崇高的敬意。我还要感谢在一起愉快的度过毕业论文小组的同学们,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。

在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!最后我还要感谢培养我长大含辛茹苦的父母,谢谢你们!

最后,再次对关心、帮助我的老师和同学表示衷心地感谢!基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究基于TCP/IP协议的单片机与Internet互联的研究与实现变频调速液压电梯单片机控制器的研究基于单片机γ-免疫计数器自动换样功能的研究与实现HYPERLINK"/

温馨提示

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

评论

0/150

提交评论