打地鼠java代码流程图_51单片机 普中51 打地鼠游戏 仿真 程序 流程图

本文介绍了使用51单片机普中51开发板实现打地鼠游戏的详细流程,包括游戏规则、硬件配置(数码管、LED、矩阵按键)及关键代码片段。游戏规则涉及随机点亮小灯、用户响应时间限制以及计分系统。通过仿真图和代码展示,帮助读者理解打地鼠游戏的实现过程。
摘要由CSDN通过智能技术生成

51单片机 普中51 打地鼠游戏 仿真 程序 流程图

51单片机 普中51 打地鼠游戏 仿真 程序 流程图

普中51-单核-A3&A4开发板原理图

1bab780d3ecca2c7aa4246741b0fe9b1.png

用到数码管、LED、矩阵按键

描述:

(1)按键是0到15

(2)按键07对应着小灯07

(3)有三个小灯的引脚和数码管驱动的引脚重复了,所以实际上只用了5个小灯。

(4)初始状态下8个小灯全部点亮数码管所技术的分数为0。

(5)按键8开始游戏,5个小灯会随机点亮一个。在4秒内用户需要给出对应的按键进行打地鼠。如果4秒了用户还没有打地鼠,那么会随机点亮另一外的小灯。

(6)小灯带4秒的时候还没有被打分数不扣分。打地鼠打错了也不扣分。但是也可以自己添加逻辑达到扣分的要求。

(7)按键9结束游戏,小灯全部点亮,回到初始状态。

仿真图:

bf86e6614dfa5cf597cf0033d912d848.png

cc7b37ff5c9c21b2c6e37422564fc95b.png

一部分代码:

if ( counter_Whac == 0 ) /* 游戏只有一次不然只有复位 结束游戏后这个变量要变 */

{

randomNumber= ramdomSeed % 5; /* 生成随机数 */

ledpTempV= (unsigned char) (0x01 << randomNumber); /* 随机数 亮某一个灯 */

ledpTempV= ( (ledpTempV & 0x1c) << 3) + (ledpTempV & 0x03);

P2= ~ledpTempV; /* 点亮随机灯 */

timeifg_Whac= 0;

time_Whac= 0;

KeyValue= 66; /*按键初始化 */

while ( !timeifg_Whac ) /* 4s后timeifg_Whac会成为1 */

{

KeyScan(); /* KeyValue 的值改变为0 到7 */

if ( KeyValue != 66 ) /*按键值一旦改变就说明按下了 */

{

if ( randomNumber == map[KeyValue] ) /* 如果是随机数的值 */

{

score_Whac++; /* 加一分 */

seg_disp[0]= score_Whac / 1000; /* 整除 取下千位数字 */

seg_disp[1]= score_Whac % 1000 / 100;

seg_disp[2]= score_Whac % 100 / 10;

seg_disp[3]= score_Whac % 10;

P2= 0xff;

break; /* 继续游戏 */

}else if ( KeyValue == 9 )

{

counter_Whac= 1; /* 结束游戏 */

P2= 0x1c; /* 小灯全部点亮 表示游戏结束 */

break;

}else{

/*按错按键不处理 */

break;

}

}

}

if ( timeifg_Whac == 1 ) /* 打地鼠超时 不处理 */

{

}

}

722dae0feaef24ef2911484e4f4c23cc.png

6a97553279d6bd9c06f33b618d11bac5.png

a29e727e2bc125d35d36d1a93d2c097f.png

85836eaf4d81c4f10836e2eb18f2f525.png

d1e76badc47643bb26b500c7307580b6.png

51单片机 普中51 打地鼠游戏 仿真 程序 流程图相关教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值