- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于51单片机的打地鼠游戏机1602和led显示模拟(源码齐全)
PAGE \* MERGEFORMAT
PAGE \* MERGEFORMAT 4
目录
一、摘要……………………………3
二、流程图…………………………4
三、电路原理………………………5
四、操作说明………………………7
五、演示图片………………………8
六、程序代码………………………11一、摘要
本作品采用STC89C52单片机作为主控芯片,选取LCD1602液晶作为显示屏,选用24C02芯片作为外部EEPROM存储得分等数据。
游戏程序应用C语言编译,主要使用函数为显示主界面函数,选择模式函数,随机函数,键盘扫描函数和众多界面函数。
系统配有开机音乐和led短暂特效;以及关闭游戏音乐效果。目前配有三个难度等级,可以随时添加。游戏中可以实时显示得分、时间等数据。能够通过led显示和LCD1602同时显示地鼠的出现。题目要求中所有内容均已完成,且加入了很多额外显示环节。
二、流程图
三、电路原理
1、主控芯片
2、地鼠led和3*3键盘
3、蜂鸣器和buzzer
4、1602环节
5、24C02芯片
四、操作说明
插上电源后,打开作品左下角的自锁开关启动。
系统启动后,会次显示“welcome”字样,以及本队伍的名称,并伴随着短暂的旋律,led闪烁效果。紧接着便进入游戏选择界面,分别是:1.start 2.score 3.exit分别对应着开始游戏,进入历史分数菜单,以及结束的功能。通过button1 和button2键可以进行功能选择的切换和选取,button1用于切换,button2用于确认。
选择start选项之后会有5秒钟的准备时间,之后即可进入游戏,游戏分为3个关卡,难度依次上升,具体表现为地鼠产生的时间间隔依次减少,第一次为3秒间隔,往后依次递减。以9个灯泡作为地鼠,每次随机亮一个灯泡,游戏者需要在另一个3*3的矩阵上在灯泡亮的时间内按下相应的按钮即代表击打相应位置,从而实现打地鼠的模拟功能。
游戏界面的上方有左右两行,分别对应显示剩余时间(每次游戏的时间为30秒),以及所获得的分数。下方也有左右两行,分别对应当前所示洞的序数,
若击中地鼠:正常情况下分数加1,播放提示音1;
每关有(30/地鼠实现时间) 个地鼠(或地雷),击打完成后若分数大于等于 level*10则进入下一关。
游戏失败时,显示“GAME OVER”。
顺利通过3关或游戏失败后均导致游戏结束,此时显示你的得分并检测,若比存储的纪录分数高,则刷新纪录并存储。
显示作者信息及其他相关信息后回到游戏开始的等待画面。
补充说明:
本版本中进入游戏后只能用按键控制,在下一版本中会添加红外遥控控制。
液晶显示屏背光环节设置为接电即启用的状态,可以换增电池模块。
3. LCD1602显示图片上略有难度,下一环节将使用12864或者触屏板进行设计。
4. 蜂鸣器声音过于单调,下一环节将启用PM50100语音芯片进行播报。
五、演示图片
仿真图片
实际图片
六、程序代码
#includereg52.h
#includestdlib.h
sbit RS=P2^0;
sbit EN=P2^1;
sbit Speak=P2^2;
sbit button1=P2^3; //选择模式键
sbit button2=P2^4; //确认键、返回键、暂停键、下一关开始键
sbit Buzzer=P2^6;
sbit hole1=P2^7; //1号洞
sbit SDA=P1^1; //24c02数据线
sbit SCL=P1^0; //24c02时钟线
unsigned char Count; //Play_Song使用
unsigned char i,j;
unsigned char temp; //随机数种子
unsigned char result; //随机数临时变量
unsigned char score; //保存临时分数
unsigned char tempname[2];//保存临时分数的名字
unsigned char time; //保存时间(30秒倒计时)
unsigned char num; //1秒钟判断变量
unsigned char flag1; //1标识得分,led全灭,不进行scankey操作
unsigned char flag2; //1标识得分Buzzer响方式1
unsigned char flag3; //1标识地鼠出洞时间到,开始下一轮地鼠出洞
unsigned char flag4; //1标识关卡时间到
unsigned char flag5; //1标志暂停
unsigned char level; //关卡等级
unsigned char holenum; /
文档评论(0)