【TB作品】打地鼠游戏,ATMEGA16单片机,Proteus仿真 打地鼠游戏

  • 11个按键+LCD1602显示器+9个灯+蜂鸣器
  • 打地鼠小游戏
  • 就是九个灯泡,对应九个按键,灯泡有红黄蓝,每间隔一会儿就会亮一个灯,代表地鼠冒出来,按一下按键让灯泡灭掉代表打地鼠,红的三分,黄的两分,蓝的一分,
  • 液晶显示屏显示得分,显示出剩余游戏时间
  • 第10个按键 游戏开始按键,按下后,进入1分钟倒计时。
  • 第11个按键 游戏复位,复位到游戏没开始之前的状态
  • 倒计时没结束的时候,打地鼠游戏。
  • 倒计时结束后,蜂鸣器响,屏幕闪烁得分内容

04 atmega16打地鼠游戏 打地鼠游戏仿真:
在这里插入图片描述

仿真和c代码:
在这里插入图片描述

ATmega16打地鼠小游戏

项目背景

打地鼠是一款经典的街机游戏,通过模拟地鼠的随机出现和玩家的快速反应来获得乐趣和挑战。这种游戏不仅能够锻炼玩家的反应速度和手眼协调能力,还能够通过电子制作的过程,让学习者深入了解单片机的应用和编程。本项目通过使用ATmega16单片机,结合矩阵键盘、LED灯、蜂鸣器和LCD1602显示屏,制作了一个简易的打地鼠小游戏。

系统原理

整个系统主要分为以下几个部分:

  1. 按键输入:使用矩阵键盘进行按键输入检测,其中9个按键用于打击地鼠,1个按键用于开始游戏,1个按键用于复位游戏。
  2. LED灯控制:通过单片机控制9个LED灯,模拟地鼠的随机出现。不同颜色的LED灯对应不同的得分。
  3. 蜂鸣器提示:当游戏时间结束时,通过蜂鸣器发出声音提示,增强游戏的互动性。
  4. LCD显示:使用LCD1602显示屏实时显示当前得分和剩余时间,使玩家能够直观地看到自己的游戏进展和剩余时间。
主要功能
  1. 游戏开始:按下第10个按键,游戏开始,进入1分钟倒计时。
  2. 随机出现地鼠:每隔一段时间随机点亮一个LED灯,表示地鼠出现,玩家需要在限定时间内按下对应按键。
  3. 得分显示:根据玩家按下的按键判断是否击中地鼠,并根据LED灯的颜色给予不同的分数,实时更新在LCD显示屏上。
    • 红色灯:3分
    • 黄色灯:2分
    • 蓝色灯:1分
  4. 时间倒计时:LCD显示屏实时显示剩余时间,当时间结束时,游戏自动结束。
  5. 游戏结束提示:倒计时结束后,蜂鸣器响起,并且LCD显示屏闪烁显示最终得分。
  6. 游戏复位:按下第11个按键,游戏复位,清空当前分数和时间,恢复到游戏开始前的状态。
详细功能实现
  1. 硬件初始化

    • 配置ATmega16的I/O口,用于连接LED灯、矩阵键盘、蜂鸣器和LCD显示屏。
    • 初始化LCD显示屏,设置初始显示内容。
  2. 按键检测

    • 使用轮询方法检测矩阵键盘的按键输入,通过特定函数返回当前按下的按键值。
    • 不同的按键值对应不同的操作,如开始游戏、复位游戏和打击地鼠。
  3. LED控制

    • 使用特定函数控制9个LED灯的点亮和熄灭。
    • 系统根据随机数种子生成随机数,点亮相应的LED灯,模拟地鼠的随机出现。
  4. 游戏逻辑

    • 游戏开始后,每隔一段时间随机点亮一个LED灯,玩家需要在限定时间内按下对应的按键。
    • 根据玩家按下的按键判断是否击中地鼠,并给予相应的分数。
    • 实时更新LCD显示屏上的当前得分和剩余时间。
  5. 时间控制

    • 使用定时器实现1分钟倒计时,每秒钟刷新一次剩余时间。
    • 当时间结束时,蜂鸣器响起,提示游戏结束。
  6. 复位功能

    • 按下复位键,清空当前游戏参数,恢复到游戏初始状态,等待玩家再次开始游戏。
总结

通过本项目,学习者可以深入了解如何使用ATmega16单片机实现一个交互式的打地鼠小游戏。这不仅涉及单片机的基础知识,还包括按键输入检测、LED灯控制、蜂鸣器提示、LCD显示等多种外围设备的使用。通过实际动手制作,能够更好地掌握单片机的应用和编程技巧,同时享受电子制作的乐趣。

资源
https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?u=bdf8eeb84961492ba2b62f7bfee641ea&tab=BB08J2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/864344.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一句话介绍什么是AI智能体?

什么是AI智能体? 一句话说就是利用各种AI的功能的api组合,完成你想要的结果。 例如你希望完成一个关于主题为啤酒主题的小红书文案图片,那么它就可以完成 前面几个步骤类似automa的组件,最后生成一个结果。

IT专业入门——高考假期预习指南,我来做你的引路人

目录 认识IT知识体系 什么是计算机 按规模、速度和功能分类 按照其工作模式分类 硬件 操作系统 编程语言 对学习语言的一点建议 对于学python的一点看法 网络 数据结构与算法 数据库 Web开发 Web前端 Web后端 基础预习指南 技术路线学习一览 学习资源推荐 刷…

开放式耳机哪个品牌最好?2024精选5款热门品牌,新手必看的开放式耳机指南!

最近想买开放式耳机,但面对众多品牌和型号,真的太难挑选了?别担心,作为耳机发烧友和测评专家,我为大家带来了几款热门开放式耳机的横向对比。从6个方面告诉大家怎么样去挑选开放式耳机,并且推荐了几款我觉得…

深度学习 --- stanford cs231学习笔记八(训练神经网络之dropout)

6,dropout 6,1 线性分类器中的正则化 在线性分类器中,我们提到过正则化,其目的就是为了防止过度拟合。例如,当我们要用一条curve去拟合一些散点的数据时,常常是不希望训练出来的curve过所有的点&#xff0c…

<电力行业> - 《第1课:电力行业的五大四小》

1 什么是电力行业的五大四小? 我们常说的电力行业的五大四小,指的是电力行业有实力的公司,分为:较强梯队的五大集团、较弱梯队的四小豪门。 五个实力雄厚的集团,分别是: 中国华能集团公司中国大唐集团公…

文件操作~

目录 1.为什么使用文件? 2.什么是文件? 2.1 程序文件 2.2 数据文件 2.3 文件名 3.⼆进制文件和文本文件? 4.文件的打开和关闭 4.1 流和标准流 4.1.1 流 4.1.2 标准流 4.2 文件指针 4.3 ⽂件的打开和关闭 5.文件的顺序读写 5.1 …

QT+winodow 代码适配调试总结(二)

已经好多年了, linux环境下不同版本的QT程序开发和部署,突然需要适配window环境程序调试,一堆大坑,还真是一个艰巨的任务,可是kpi下的任务计划,开始吧!! 1、首先我们自定义的动态库…

【PYTORCH,TENSORFLOW环境配置,安装,自用代码】

conda -V(查看版本,这步不要也罢) conda create -n test python3.7(创建环境) conda activate test(激活) conda env list(查看自己的环境) nvidia-smi(查…

以太网电缆专家手册:掌握RJ45连接器压接的艺术与科学

在这个日新月异的数字时代,正确的连接方式至关重要,而RJ45连接器正是实现这一点的关键工具之一。无论您是在家中布置办公网络,还是在公司部署复杂的IT基础架构,或是进行任何需要设备间高效数据传输的活动,掌握如何正确…

【深度学习】调整加/减模型用于体育运动评估

摘要 一种基于因果关系的创新模型,名为调整加/减模型,用于精准量化个人在团队运动中的贡献。该模型基于明确的因果逻辑,将个体运动员的价值定义为:在假设情景下,用一名价值为零的球员替换该球员后,预期比赛…

获取onnx模型输入输出结构信息的3种方式:ONNX、onnxruntime、netron

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

每日Attention学习7——Frequency-Perception Module

模块出处 [link] [code] [ACM MM 23] Frequency Perception Network for Camouflaged Object Detection 模块名称 Frequency-Perception Module (FPM) 模块作用 获取频域信息,更好识别伪装对象 模块结构 模块代码 import torch import torch.nn as nn import to…

【Python函数编程实战】:从基础到进阶,打造代码复用利器

文章目录 🚋前言🚀一、认识函数🌈二、函数定义❤️三、函数调用⭐四、实参与形参💥1. 形式参数🚲2. 实际参数🔥1. 位置参数☔2. 关键字参数🎬3. 默认参数🔥4. 可变数量参数(不定长参…

Nomad Web 1.0.12还能这样

大家好,才是真的好。 前几天讲代码和开发,忽略了大家的真实感受,那就是不爱开。我也记起来我们很久没有讲Notes/Domino产品的更新,因为除了补丁程序外,确实没多少更新。 不过就在前两天,有一项产品得到了…

零成本、高效率:免费可视化工具的魅力所在

在如今这个数据驱动的时代,免费可视化工具越来越受到人们的欢迎。这些工具不仅降低了数据分析的门槛,还为用户提供了强大的功能和极高的灵活性,使得各行各业的人们都能够轻松地利用数据做出明智的决策。首先,免费可视化工具的零成…

【Qt】认识Qt界面Hello world小程序

一.认识Qt界面 1.左边栏 在编辑模式下,左边竖排的两个窗⼝叫做 "边栏" 。 ① 是项⽬⽂件管理窗⼝ ② 是打开⽂件列表窗⼝。 边栏⾥的窗⼝数⽬可以增加,边栏⼦窗⼝标题栏有⼀排⼩按钮,最右边的是关闭按钮,倒数第⼆个是 …

嵌入式学习——硬件(IIC、ADC)——day56

1. IIC 1.1 定义(同步串行半双工通信总线) IIC(Inter-Integrated Circuit)又称I2C,是是IICBus简称,所以中文应该叫集成电路总线。是飞利浦公司在1980年代为了让主板、嵌入式系统或手机用以连接低速周边设备…

猫头虎 Gemma和Gemini模型的区别是什么?

猫头虎 🐯 Gemma和Gemini模型的区别是什么? 摘要📘 在这篇文章中,我们将深入探讨Gemma和Gemini这两个由Google开发的AI模型。我们会对比它们的参数规模、计算资源需求和集成难度,帮助大家了解这两者之间的主要区别。…

【解锁未来:深入了解机器学习的核心技术与实际应用】

解锁未来:深入了解机器学习的核心技术与实际应用 💎1.引言💎1.1 什么是机器学习? 💎2 机器学习的分类💎3 常用的机器学习算法💎3.1 线性回归(Linear Regression)&#x1…

Redis集群-主从复制、哨兵

●主从复制:主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。 主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。缺陷:故障 恢复无法自动化;写操作无法负载均…