【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
相关推荐
徐嵌1 小时前
STM32项目---水质水位检测
stm32·单片机·嵌入式硬件
徐嵌1 小时前
STM32项目---畜牧定位器
c语言·stm32·单片机·物联网·iot
lantiandianzi1 小时前
基于单片机的老人生活安全监测系统
单片机·嵌入式硬件·生活
半盏茶香3 小时前
【C语言】分支和循环详解(下)猜数字游戏
c语言·开发语言·c++·算法·游戏
PandaQue10 小时前
《怪物猎人:荒野》游戏可以键鼠直连吗
游戏
IT B业生11 小时前
51单片机教程(六)- LED流水灯
单片机·嵌入式硬件·51单片机
一枝小雨11 小时前
51单片机学习心得2(基于STC89C52):串口通信(UART)
单片机·嵌入式硬件·51单片机
IT B业生12 小时前
51单片机教程(一)- 开发环境搭建
单片机·嵌入式硬件·51单片机
海绵波波10714 小时前
Webserver(4.8)UDP、广播、组播
单片机·网络协议·udp
好想有猫猫14 小时前
【51单片机】串口通信原理 + 使用
c语言·单片机·嵌入式硬件·51单片机·1024程序员节