电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

打地鼠的单片机设计

打地鼠的单片机设计_第1页
1/12
打地鼠的单片机设计_第2页
2/12
打地鼠的单片机设计_第3页
3/12
任务三 打地鼠 NO5.2.1 任务要求 游戏开始时,闪烁显示得分0,玩家需要同时按下复合按钮开始,(本例CD 键)当松开复合按钮后,数码管任意的跳出10 个数,速度由慢到快,每跳出一个数玩家需按下相应的按钮,如果命中得1 分,且发光二极管发光提示命中,如果没有命中,不得分发光二极管不发光,当10 个结束之后,最后闪烁显示出玩家的积分。打中1 个积1 分,如果需要重新开始则需再次按下复合按钮。 NO 5.2.2 任务分析 本任务是一个综合设计题,它把前面两个任务很好的整合在一起,并且用到前面学的很多细节方面,比如说速度由慢到快怎么编,比如说显示的成绩闪烁显示怎么编,比如说复合按钮做某件事情怎么编。 上图和前面学到的图不同的地方时多了一个发光二极管LED-BLUE。 软件流程图: NO 5.2.3 相关知识: 1 速度由慢到快的做某件事怎么编? 方法: for(i=0;i15) DM=~seg[m]; } 通过中断的形式来实现的,每调用一次中断让变量c++;当10 个地鼠打完之后,r=0;r 为结束标志,此时如果c<15;数码管消隐,否则显示即可。 3 复合按钮做某件事情怎么编? 方法: 用到A&&B,同时满足 AB两个条件时做某件事 switch(key_val) { case 12: {a=1;break;} case 13: {b=1;break;} } 在键盘扫描中:用到switch选择如果12号和13号按下会相应的标志位为1。 在主程序中: if(a==1&&b==1) {r=1; a=0; b=0;} if(r==1) { random();} 如果a=1并且 b==1 则标志位r=1,调用随机函数;并且给 ab清零,为下一次做准备。 NO 5.2.4 任务实施: 1 PROTEUS 画图 比较上个任务多了一个发光二极管 2 KEILC软件编程: #include #include #define DM P0 unsigned int tt; unsigned int k; unsigned int x=30; unsigned int c; unsigned char n,m,r ; sbit H0=P1^0;//键盘 sbit H1=P1^1; sbit H2=P1^2; sbit H3=P1^3; sbit L0=P1^4; sbit L1=P1^5;...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

打地鼠的单片机设计

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部