单片机设计贪吃蛇说明书解析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机课程实训作品说明书 作品说明介绍 作品名称:贪吃蛇简易游戏机 作品实现功能: 按上、下、左、右键控制蛇身改变方向; 蛇头与食物碰撞时“吃掉”食物,使蛇身变长; 复位键使游戏重新开始; 暂停/继续键可以暂停、继续游戏 选择目的:巩固单片机课程所学知识,真正做到学有所用 作品操作介绍 作品外观图 ②点阵屏:显示地图、蛇以及食物 ③STC12C5A60S2单片机:控制整个作品,可以烧录不同的程序 ④微动开关1:向上的按键,用于改变蛇的方向 ⑤微动开关2:向下的按键,用于改变蛇的方向 ⑥微动开关3:向左的按键,用于改变蛇的方向 ⑦微动开关4:向右的按键,用于改变蛇的方向 ⑧微动开关5:复位按键,按下后游戏复位,重新开始 ⑨微动开关6:暂停/继续按键,控制游戏暂停/继续 ⑩自锁开关:实现整体的电源总控制(断负) ?晶振、电容:用于单片机起振,单片机的最小时钟电路 ?排针:用于连接电源正负极以及RXD和TXD ?电源指示灯:通电时点亮 ?8个1KΩ电阻:限制电流大小 ?10个0Ω电阻:做跳线用 作品功能介绍及操作说明 给游戏机上电 将电源正极接在排针处标有VCC的位置 将电源负极接在排针处标有GND的位置 按下自锁开关完成上电 让贪吃蛇改变方向 按向上键:蛇身向上 按向下键:蛇身向下 按向左键:蛇身向左 按向右键:蛇身向右 游戏暂停/继续、复位 按暂停/继续键:游戏暂停/继续 按复位键:游戏复位,重新开使 作品制作说明 电路原理图 作品原件清单 元件名称 型号 数量(个) 单片机 STC12C5A60S2 1 单片机底座 40引脚 1 点阵屏 8*8 2 微动开关 5*5 6 晶振 12MHz 1 电容 30pf 2 电阻 1KΩ 8 电阻 10KΩ 1 电阻 0Ω 10 自锁开关 3*3 1 排针 直针 4(根) LED 红色 1 杜邦线 1组 4(根) 洞洞板 单面挂锡玻纤板10CM*14CM 1 电池盒 1 PCB图 正面图(见附录1) F5图(见附录2) F6图(见附录3) 产品控制顺序 /******************************************* 名 称:贪吃蛇简易游戏机 制作人:李兆基 制作时间:2016.6.28 修改时间:2016.7.1 (加入吃食物蛇身变长功能) 2016.7.3 (处理程序兼容细节) *******************************************/ #includestc12c5a60s2.h #includestdlib.h unsigned char map[16]; //定义一个MAP地图 unsigned char line; //列 unsigned char snake[45][2]; //定义蛇的大小 unsigned char game_reset; //游戏复位 unsigned char foodx,foody; //食物的位置 sbit Key_left=P3^2; //左 sbit Key_up=P3^3; //上 sbit Key_down=P3^4; //下 sbit Key_right=P3^5; //右 sbit Key_start=P3^7; //开始/暂停 sbit Key_reset=P3^6; //复位 /**************** 按键所对应的位置 ***************/ void CreateFood() { unsigned char i; i=0; RESET:foodx=rand()%6+1; //rand()函数随即产生食物的横坐标(1~6) foody=rand()%14+1; //rand()函数随即产生食物的纵坐标(1~14) while(!(snake[i][0]==snake[i][1]snake[i][0]==44)) //找蛇尾(遍历蛇) { if(snake[i][0]==foodxsnake[i][1]==foody) goto RESET; //如果产生的食物在蛇的节点上,则重新生成食物 i++; } } /********* 构造食物 ********/ void C

文档评论(0)

1112111 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档