基于单片机x点阵贪吃蛇综合课程设计报告.doc

基于单片机x点阵贪吃蛇综合课程设计报告.doc

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

灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸 《 贪吃蛇掌上游戏机 》灸灸灸灸灸灸灸灸灸灸灸二、方案设计与论证灸灸灸灸灸灸srand(TL0)获得TL0的数值,再利用两次rand()%8分别得到食物出现的横纵坐标的位置。灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸图5、总原理图灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸C5灸灸灸灸灸灸C1-4灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸Key1-4灸灸灸灸灸灸灸1N34A灸灸正向导通压降约为0.2~0.3V灸灸灸灸灸灸Proteus仿真完成后就进行硬件的安装。本设计按照原先设计好的电路图进行总体上的布置,采用人工搭电路的方法进行硬件的安装。安装时要考虑受热、稳固等多方面的影响使用电烙铁时要控制好焊接的时间,电烙铁停留的时间太短,焊锡不易完全熔化,形成“虚焊”,而焊接时间太长又容易损坏元器件,每一两秒内要焊好一个焊点,若没完成,宁愿等一会儿再焊一次。其次芯片的摆置要方便连线,焊接时要先把芯片拔出,等线接好了再插上去。在焊接时要考虑电路的抗干扰能力同时要充分考虑电源对单片机的影响。每焊接完一个模块,要用万能表根据电路图检查有没有接错、短路等现象,确认正确后再继续下一个模块灸灸LED进行初始化,接着对定时器初始化,并启动定时器,接着执行程序主体逻辑,程序主体逻辑执行一遍后检查是否有中断发生。中断源有两个,一个是驱动贪吃蛇自动前行的定时中断,另一个是用户控制贪吃蛇移动方向的键盘中断,任意中断的到来都将改变贪吃蛇的当前状态。若当前没有中断发生,主程序继续判断蛇头是否碰壁或头尾相撞,若是,结束游戏,否则继续执行程序主体循环。灸灸灸灸灸灸灸灸灸灸灸灸灸[1] 李朝青,刘艳玲等.单片机原理及接口技术[M].北京:北京航空航天大学出版社,2013. 灸 []边春元等.C51单片机典型模块设计与应用[M].北京:机械工业出版社,2008.灸[3]杨将新,李军华,刘东骏等.单片机程序设计及 应用从基础到实灸[M]. 北京:电子工业出版社,2006.灸[4]雷思孝,冯育长等.单片机系统设计及工程应用[M].北京:电子工业出版社,2005.灸[5]白小明,徐芳等.汇编语言程序设计[M].北京:中国铁道出版社,2009.灸[6]于京,张景璐.51单片机C程序设计与应用案例[M].北京:中国电力出版社,2006.灸[7]王港元.电子电工实践指导(第三版)[M].南昌:江西科学技术出版社,2003.灸[8]阎石.数字电子技术基础[M].北京:高等教育出版社,2006.灸[9]高吉祥,徐欣,吴帅等.基本技能训练与单元电路设计[M].北京:电子工业出版社,2007.灸[10]孙裕晶,沙玲等.实用控制系统设计教程[M].长春:吉林大学出版社,2000.灸 灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸灸#include reg51.h灸 #define uchar unsigned char灸 灸灸灸灸灸sbit up=P3^3; //down灸 sbit down=P3^1;灸 sbit right=P3^2;灸 sbit left=P3^4;灸 uchar x[SNAKE+1];灸 uchar y[SNAKE+1]; 灸 灸灸/********************灸 灸*********************/灸 void delay(char MS)灸 {灸 char us,usn;灸 while(MS!=0)灸 {灸 usn = 0;灸 while(usn!=0)灸 {灸 us=0xff;灸 while (us!=0){us--;};灸 usn--;灸 }灸 MS--;灸 }灸 }灸 /*******************************************灸 灸*******************************************/灸 bit knock()灸 {bit k;灸 k=0;灸 灸灸return k;灸 }灸 /*****************灸 灸*****************/灸 void turnkey()// interrupt 0 using 2 灸 {灸 if(keyenable)灸 {灸 if(left){addy=0;if(addx!=1)addx=-1; else addx=1;}灸 if(right){addy=0;if(addx!=-1)addx=1; else addx=-1;}灸 if(up){addx=0;if(addy!=-1)addy=1; else addy=-1;}灸 if(down){addx=0;if(addy!=1)addy=-1; else addy=1;}灸 }灸 }灸 /**************

文档评论(0)

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

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

1亿VIP精品文档

相关文档