基于单片机的贪吃蛇游戏设计_第1页
基于单片机的贪吃蛇游戏设计_第2页
基于单片机的贪吃蛇游戏设计_第3页
基于单片机的贪吃蛇游戏设计_第4页
基于单片机的贪吃蛇游戏设计_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

参考文献2 2参考文献[1]郭天祥.新概念51单片机C语言教程:入门、提高、开发、拓展全攻略[M].北京:电子工业出版社,2009.[2]龙脉工作室.51单片机C语言应用开发技术大全[M].北京:人民邮电出版社,2008.[3]普拉塔.CPrimerPlus:第5版[M].北京:人民邮电出版社,2005.[4]KeilSoftware-Cx51编译器用户手册[M/OL].2001.[5]周润景,张丽娜,刘印群.PROTEUS入门使用教程[M].北京:机械工业出版社,2007.[6]P87C51RA2/RB2/RC2/RD2DATAS脏ET[M/OL].2003.[7]樊永显,许勇,张向文等.基于STC89C54RC/RD+单片机的游戏机系统设计[J].湖南工业大学学报,2007,21(5):66—69.[8]金春霞,白秋产.基于J21CE技术手机游戏开发与实现[J].计算机与数字工程,2008,36(4):177—179.[9]王宏宇.VF游戏设计—贪吃蛇[J].中国科技信息,2007(7):91—92.[10]李德建,姚远程,周东杰.基于SOPC架构的贪吃蛇游戏研究与设计实现[J].科技创新导报,2008(31):26-27.[11]林锐,韩永泉.高质量程序设计指南:C++/C语言[M].北京:电子工业出版社,2007.[12]SpecificationforLCDModuleTSl620-l[M/OL].SHENZHENTECHSTARELECTRONICSCO.,LTD.[13]SMCl602ALCM使用说明书[M/OL].长沙太阳人电子有限公司,2001.[14]SpecificationforLCDModuleAGl2864C[M/0L].晶采光电科技股份有限公司,2003.[15]李振军,成良玉.基于MIDP的Java手机游戏开发方法的分析与实现[J].计算机应用,2004,24(3):237-241.[16]余小清、赵恒凯等编.现代通信原理(第5版).北京:清华大学出版社,2007[17]张辉、曹丽娜编.现代通信原理与技术(第1版).北京:西安电子科技大学出版社,2002[18]Tsui.I.带宽数字接收机.美:电子工业出版社,2002[19]张海藩,《软件工程导论》第五版,清华大学出版社,2008[20]肖刚,《实用软件文档写作》,清华大学出版社,2012攀枝花学院本科毕业设计(论文)附录一:系统PCB原理图4 4[21]李敏波,《C#高级编程(第3版)》,清华大学出版社,2005附录一:系统PCB原理图3 327附录一:系统PCB原理图附录二:系统仿真图44附录二:系统仿真图附录三:PCB图55附录三:PCB图附录四:程序主函数66附录四:程序主函数#include"12864.h"#include"zifu.h"ucharlength[80]={0,8,1,8};bitflag2,flag=0; //0表示行,1表示列 flag1是步进标志 flag2表示是否蛇头遇到蛇身1表示没有uchardirection=1;bitflag3,flag1=0;uchark,dengji=2;//flag3是食物是否重选的标志。k是按键号ucharp=20;//定时次数voidzhongduan()interrupt0using0{ k=(P2>>6); k=k&0x03; if(flag) { if(k==1)direction=3;//左 if(k==2) direction=1;//右77} else { if(k==0) direction=4;//上 if(k==3) direction=2;//下 }}voiddingshi()interrupt1using1//定时程序.产生步进时间{if(p--){TL0=0; TH0=0xa0; flag1=0;}else{flag1=1; TL0=0; TH0=0x00; p=20-(dengji>>1);}}main()8{ucharfood[2]={12,8};uchari,x,y;choose12864(2);init12864();clear12864();for(i=0;i<3;i++){play16(0,(2+(i<<1)),0,(xuexiao+(i<<5))); delay1ms(300);} for(i=0;i<3;i++){play16(1,((i<<1)),0,xuexiao+((i+3)<<5)); delay1ms(300);} for(i=0;i<96;i++){ dot(16+i,15); delay1ms(2);攀枝花学院本科毕业设计(论文)系统软件设计8} //显示直线附录四:程序主函数88 play16(0,4,1,sjz);play16(0,6,1,sjz+32);play16(1,0,1,sjz+64); delay1ms(450);delay1ms(450);play16(0,4,2,ming);delay1ms(350);play16(0,6,2,ming+32);delay1ms(350);play16(1,0,2,ming+64);delay1ms(350);play16(1,2,2,ming+96);delay1ms(350);delay1ms(350);choose12864(2);clear12864(); vertical(1,61,30);vertical(1,61,127);for(i=0;i<98;i++){dot(30+i,1); dot(30+i,62);攀枝花学院本科毕业设计(论文)附录四:程序主函数9}play16(0,0,0,tan);play16(0,0,1,chi);play16(0,0,2,she);change(length,(length+1));change((length+2),(length+3));change(food,food+1);TMOD=1; //定时器工作方式IT0=1; //边延有效EA=1; //开CPU中断ET0=1; //开定时器中断EX0=1; //开外部中断TL0=0x00;TH0=0x00; //定时器初值TR0=1; //启动定时器do{while(!flag1);x=*(length);y=*(length+1);21switch(direction) //东附录四:程序主函数99{ case1: { for(i=0;i<dengji-1;i++) { *(length+(i<<1))=*(length+(i<<1)+2); *(length+(i<<1)+1)=*(length+(i<<1)+3); } (*(length+(dengji<<1)-2))++; flag=0; break; } case2: //南 { for(i=0;i<dengji-1;i++) { *(length+(i<<1))=*(length+(i<<1)+2); *(length+(i<<1)+1)=*(length+(i<<1)+3); } (*(length+(dengji<<1)-1))++; flag=1; break; }附录四:程序主函数10 case3: //西 { for(i=0;i<dengji-1;i++) { *(length+(i<<1))=*(length+(i<<1)+2); *(length+(i<<1)+1)=*(length+(i<<1)+3); } (*(length+(dengji<<1)-2))--; flag=0; break; } case4: { //北 for(i=0;i<dengji-1;i++) { *(length+(i<<1))=*(length+(i<<1)+2); *(length+(i<<1)+1)=*(length+(i<<1)+3); } (*(length+(dengji<<1)-1))--; flag=1;break;1010} }if(((*(length+(dengji<<1)-2))==food[0])&&((*(length+(dengji<<1)-1))==food[1])) { for(i=dengji;i>0;i--) { *(length+(i<<1))=*(length+(i<<1)-2); *(length+(i<<1)+1)=*(length+(i<<1)-1); } *length=x; *(length+1)=y; dengji++; do { flag3=0; food[0]=TL0%24; food[1]=TL0%15; for(i=0;i<dengji-1;i++) {if((*(length+(i<<1)))==food[0]&&((*(length+(i<<1)+1))==food[1])) { flag3=1; break; } } }while(flag3); change(food,food+1); }flag2=1; for(i=0;i<dengji-1;i++){if(*(length+(i<<1))==*(length+(dengji<<1)-2)&&(*(length+(i<<1)+1)==*(length+(dengji<<1)-1))) { flag2=0; break; } }flag2=flag2&&*(length+(dengji<<1)-2)>=0&&*(length+(dengji<<1)-2)<24;攀枝花学院本科毕业设计(论文)系统运行结果flag2=flag2&&*(length+(dengji<<1)-1)>=0&&*(length+(dengji<<1)-1)<15; if(flag2) { clear(&x,&y);附录五:元器件清单1111for(i=0;i<dengji;i++) { change(length+(i<<1),length+(i<<1)+1); } flag1=0; play8(0,0,3,shu0+((dengji/10)<<4)); play8(0,1,3,shu0+(((dengji)%10)<<4)); }}while(f

温馨提示

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

评论

0/150

提交评论