打地鼠游戏程序设计书.doc

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

安徽工业职业技术学院 打地鼠游戏设计报告 ——单片机课程设计 打地鼠游戏机 本设计采用STC89S52单片机作为主控芯片,选取数码管,游戏程序应用C语言编译,主要使用函数为随机函数和键盘扫描函数。LED被点亮以代表地鼠的随机出现。通过键盘扫描函数,使每个按键各对应一个LED灯,通过按下该键使相应LED灯熄灭。 关键词:单片机、随机函数。 游戏说明: 本设计由8个LED灯分别代表8只地鼠,地鼠对应的LED灯被点亮,在限定时间内按下相应按键后,对应LED灯熄灭,表示打中该地鼠。 方案设计: 方案一:用STC89C52作主控芯片,灯光表示地鼠,用两个数码管显示时间跟打中地鼠的个数。 电路原理: 本系统包含四个子电路模块,分别为单片机系统电路、流水灯电路、蜂鸣器电路、2*4矩阵键盘。 单片机系统电路 流水灯电路 蜂鸣器电路 2*4矩阵键盘 各模块整合并接上电源后,打开游戏系统。随后,单片机系统驱动游戏系统进入初始化模式,同时蜂鸣器系统被驱动。游戏开始后,单片机系统开始随机驱动8个LED灯点亮, 游戏实现代码: #includereg52.H #includestdlib.h #define uchar unsigned char #define uint unsigned int sbit w4=P3^4; sbit w3=P3^5; sbit w2=P3^6; sbit w1=P3^7; sbit fmq=P3^2; sbit s0=P1^0; sbit s1=P1^1; sbit s2=P1^2; sbit s3=P1^3; sbit s4=P1^4; sbit s5=P1^5; sbit s6=P1^6; sbit s7=P1^7; sbit led0=P2^0; sbit led1=P2^1; sbit led2=P2^2; sbit led3=P2^3; sbit led4=P2^4; sbit led5=P2^5; sbit led6=P2^6; sbit led7=P2^7; uchar num=30;scro=0,wei=1,deng=8; uint shannum1=0,shannum2=0;//shannum1多长时间亮灯,shannum2亮多长时间 void delay(uint ms); uchar led_discode1[11]={0x03,0xcf,0x2a,0x4a,0xc6,0x52,0x12,0xcb,0x02,0x42,0x82}; uchar led_discode2[11]={0x03,0x3f,0x4a,0x2a,0x36,0xa2,0x82,0x3b,0x02,0x22,0x12}; void dengliang(uchar shan) { deng=shan; switch(shan) { case 0:led0=0;break; case 1:led1=0;break; case 2:led2=0;break; case 3:led3=0;break; case 4:led4=0;break; case 5:led5=0;break; case 6:led6=0;break; case 7:led7=0;break; } } void main(void) { uchar i,a=0x01; P0=0Xff; P3=0Xff; //关闭所有数码管 srand(5); fmq=0;delay(20);fmq=0;delay(5);fmq=1; for(i=8;i0;i--) { P2=~a; fmq=0; delay(5);fmq=1; delay(i*10); a=a1; } P2=0xff; TMOD=0x01; TH0=0xfc; //1mS的定时空间 TL0=0x17; EA=1; ET0=1; TR0=1; //启动定时器 num=30;scro=0; while(1) { if(s0==0){delay(10); if((s0==0)(deng!=8)){if(deng==0){scro++;deng=8;}fmq=0;delay(5);fmq=1;} if((s0==0)(shannum1==0)){fmq=0;delay(5);fmq=1;shannum1=1;} } if(s1==0){delay(10);if(s1==0) {if(deng==1){scro++;deng=8;}fmq=0;d

文档评论(0)

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

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

1亿VIP精品文档

相关文档