【仿真与实物设计】基于51单片机设计的打地鼠游戏机——程序源码原理图proteus仿真图PCB设计文档演示视频元件清单等(文末工程资料下载)

基于51单片机设计的打地鼠游戏机

演示视频:

基于51单片机设计的打地鼠游戏机

功能描述:使用 51单片机为核心制作一个打地鼠游戏机。按下启动开关,8盏LED流水点亮并闪烁2次,随即开始播放游戏音乐,直到开始选择模式。选择的模式在数码管上显示,该游戏机共有两个模式,分别是闯关模式和无尽模式。闯关模式共3关,每通过一关,蜂鸣器就播放一小段音乐以示鼓励,完成闯关后继续播放游戏音乐;无尽模式,顾名思义没有尽头,但显示的最高分为999分。单片机随机生成一个0~6的随机整数到 LED,以表示地鼠冒头。在1秒内按下对应的按钮,即可得1分,蜂鸣器响一声提示;若超时或按错则扣2分,蜂鸣器响两声提示。初始分数为 10分,若分数低于0分则游戏结束。当前分数显示在数码管的后2位,第一位显示的是当前模式。


摘 要

本设计使用AT89S51单片机为核心,设计并实现了一款经典的打地鼠游戏机。系统主要由LED显示模块、蜂鸣器音效模块、按键输入模块、数码管显示模块等硬件组成,并通过单片机的程序控制,实现了游戏的启动、模式选择、随机地鼠生成、按键响应和分数显示等功能。通过此次设计,学生不仅掌握了单片机的基础知识,还深入理解了电子电路的设计与调试。系统通过仿真与实物测试,验证了设计的有效性与稳定性。

关键词: AT89S51,打地鼠游戏机,单片机,LED显示,数码管

目录

摘 要

第一章 绪论

1.1 课题背景

1.2 研究现状

1.3 设计目标

1.4 论文结构

第二章 系统总体设计

2.1 设计思路

2.2 功能模块划分

第三章 硬件设计

3.1 系统硬件结构

3.2 关键元件选型

3.3 硬件电路设计

3.3.1 主控电路设计

3.3.2 LED显示电路设计

第四章 软件设计

4.1 软件功能描述

4.2 主程序流程设计

4.2.1 主程序代码框架

4.3 各子程序模块设计

4.3.1 系统初始化

4.3.2 随机数生成与地鼠位置控制

4.3.3 按键输入检测

4.3.4 分数计算与显示

4.4 游戏模式设计

4.4.1 闯关模式

4.4.2 无尽模式

4.5 按键消抖处理

第五章 仿真与调试

5.1 仿真环境搭建

5.2 功能模块仿真测试

5.2.1 LED显示仿真测试

5.2.2 数码管显示仿真测试

5.2.3 按键输入仿真测试

第六章 总结与展望

6.1 总结

6.2 展望

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

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

相关文章

layui table表单 checkbox选中一个其它也要选中

当我们选中其中一个商品的时候同类型的商品状态也要跟着改变 所以要在表单加载完成后去监听checkbox ,done:function (res) {console.log(详情表格数据,res)tableDetailList res.data;// 监听表格复选框选择table.on(checkbox( INST_SELECTORS.instLayFilters.unpaidTableDe…

TypeScript 面试题汇总

引言 TypeScript 是一种由微软开发的开源、跨平台的编程语言,它是 JavaScript 的超集,为 JavaScript 添加了静态类型系统和其他高级功能。随着 TypeScript 在前端开发领域的广泛应用,掌握 TypeScript 已经成为很多开发者必备的技能之一。本文…

Canvas 动画: atan2 三角函数与鼠标跟随效果

这个案例展示了如何使用HTML5的Canvas和JavaScript实现一个动态效果:在画布上绘制一个箭头,并让它实时跟随鼠标移动。这个小项目不仅有趣,还能帮助你理解编程和基本数学概念的实际应用。 项目需求 我们的目标是在一个画布上绘制一个箭头&…

HTML+CSS浮动和清除浮动的效果及其应用场景举例

一、清除浮动的效果 解释 .container:用于展示浮动和清除浮动效果的容器,具有边框和背景色以便于区分。 .float-box:浮动元素,用不同的背景色标识。 .clearfix:使用伪元素清除浮动的类,应用于第二个容器。 …

电脑浏览器打不开部分网页

电脑浏览器打不开部分网页 时间: 2024-08-25 问题描述: 电脑突然打不开部分网页 例如腾讯文档 夸克网盘 但其他网页能够正常打开 原因 可能为域名解析问题 更改DNS即可解决 解决办法 控制面板–> 网络和Internet—>网络连接—> WLAN----> 属性 —> Interne…

已解决:`javax.security.auth.RefreshFailedException` 刷新失败的正确解决方法,亲测有效!!!

在 Java 开发中,javax.security.auth.RefreshFailedException 异常通常涉及到安全认证和授权机制。这个异常通常在尝试刷新或更新认证凭证时出现问题,可能会影响到应用的安全性和稳定性。本文将详细分析该异常的原因,并提供有效的解决方法。 …

Kotlin 学习手册01 高阶函数

Kotlin 学习手册01 高阶函数 1 函数作为参数2 函数作为返回值3 测试代码 在Kotlin中,高阶函数(Higher-Order Functions)是指接受函数作为参数或返回一个函数的函数。这种特性允许你将函数像变量一样传递,从而使代码更加灵活和可重…

一元四次方程求解-【附MATLAB代码】

目录 前言 求解方法 MATLAB验证 附:一元四次方程的故事 前言 最近在研究机器人的干涉(碰撞)检测,遇到了一个问题,就是在求椭圆到原点的最短距离时,构建的方程是一个一元四次方程。无论是高中的初等数学…

文件包含漏洞案例

一、PHP://INPUT Example 1&#xff1a;造成任意代码执行 源代码&#xff1a; <meta charset"utf8"> <?php error_reporting(0); $file $_GET["file"]; if(stristr($file,"php://filter") || stristr($file,"zip://") |…

linux安装python3.11.9

下载 wget https://www.python.org/ftp/python/3.11.9/Python-3.11.9.tgz解压 tar -zxf Python.tgz准备编译环境 yum -y install gcc make zlib zlib-devel libffi libffi-devel readline-devel openssl-devel openssl11 openssl11-devel安装openssl11&#xff0c;后期的pip…

批量整理文件夹的得力助手:让杂乱无章变得井井有条

在日常工作和生活中&#xff0c;我们经常会遇到这样一个问题&#xff1a;电脑或移动硬盘里的文件夹越积越多&#xff0c;文件散落各处&#xff0c;找起来既费时又费力。 有时候&#xff0c;为了找一个文件&#xff0c;你可能得在无数个文件夹中来回穿梭&#xff0c;仿佛进行了…

C++ 设计模式——命令模式

C 设计模式——命令模式 C 设计模式——命令模式主要组成部分构建过程命令模式 UML 图UML 图解析 命令模式的优点命令模式的缺点命令模式适用场景总结完整代码 C 设计模式——命令模式 命令(Command)模式是一种行为型模式&#xff0c;它将请求封装为对象&#xff0c;从而使您能…

Centos7整合fail2ban配置ssh和pgsql以及vault

配置Fail2Ban 配置环境 useradd fail2ban visudo#添加 fail2ban ALL(ALL) ALL配置conda源 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/…

数据中台架构设计

由于当前项目需要对接多个不同的数据源&#xff0c;同时涉及到多端处理&#xff0c;而且需要考虑海量数据处理&#xff0c;还有总部与分部架构部署问题&#xff0c;因而整体技术栈倾向于大数据和分表分库式处理数据层接入问题。 简单讲&#xff0c;项目分为数据中台和业务中台…

【MySQL数据库管理问答题】第3章 理解 MySQL 体系

目录 1. MySQL 服务器进程 mysqld 由哪三层组成&#xff0c;从各自所实现的功能角度分别加以说明。 2. MySQL 支持的通讯协议都有哪些&#xff1f;其连接方式和所支持的操作系统有何不同。 3. 请说明 SQL 层的组件名称和各自的作用。 4. MySQL 8.0 除了默认的存储引擎 InnoD…

数据库之权限与安全

目录 一、MySQL权限表 1.MySQL权限系统的工作原理 2.权限表 二、账号管理 1.创建账号 2.删除账号 3.root用户修改自身密码 4.root用户修改普通用户密码 5.root用户密码丢失的解决方法 三、MySQL权限管理 1.查看账号权限 2.给账号授权 3.收回权限 一、MySQL权限表 …

[新手入门]1台电脑+1个电视+2个软件(sunshine+moonlight) 解决黑神话悟空没有hdmi线的痛...

sunshinemoonlight 解决黑神话悟空 本地串流投屏 背景:偶然间在B站发现了sunshinemoonlight方案,替代hdmi线,做本地串流...于是心灵手巧的我开始尝试踩坑之路:1.准备安装包2.开始安装2.1 笔记本windows安装sunshine2.2 遇到了第一个坑.Fatal: ViGEmBus is not installed or run…

【ansible】ansible roles

ansible roles 简介 Ansible Roles是一种组织和管理Ansible Playbooks的方法。它们允许将相关的配置和任务分组到一个可重用的单元中&#xff0c;使得代码更加模块化和可维护。 一个Ansible Role包含了一组预定义的变量、任务和文件结构。它可以被其他Playbooks调用和使用&am…

docke进阶---镜像迁移、容器的ip地址、端口映射和持久化

1.镜像的迁移 1.镜像打包 #查看镜像有一个centos的镜像 [rootdocker0 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 5d0da3dc9764 2 years ago 231MB 3查看帮助文件 docker --help save Save one or more…

【Unity】移动端草海解决方案

草海是开放大世界渲染的必不可少的因素&#xff0c;Unity 原生的 Terrain 草海效率较低&#xff0c;而且无法与 RVT 结合起来&#xff0c;无法在移动端上实现。因此我们自己搓出来一套草海系统&#xff0c;使用 C# 多线程辅助运算&#xff0c;并能支持割草、烧草等进阶玩法。草…