51单片机七人多数表决器仿真设计( proteus仿真+程序+报告+讲解视频)

news2024/11/27 8:47:23

51单片机七人多数表决器仿真设计( proteus仿真+程序+报告+讲解视频)

仿真图proteus 7.8及以上

程序编译器:keil 4/keil 5

编程语言:C语言

设计编号:S0033

51单片机七人多数表决器仿真设计

  • 视频讲解
  • 1.主要功能:
  • 2.仿真
  • 3.程序
  • 4.设计报告
    • 一 绪论
    • 二 方案论证
  • 5.设计资料内容清单:

视频讲解

51单片机七人多数表决器仿真设计

1.主要功能:

设计要求

采用51单片机作为核心控制器

1、7人多数表决逻辑:多数通过。

2、在主持人控制下,10秒内表决有效。

3、采用数码管显示表决10秒倒计时。

4、表决结束后用发光二极管及数码管显示表决结果,数码管显示结果:通过、不通过,同意人数。

5、设主持人控制键、复位键。

​ 控制键:启动表决

​ 复位键:系统复位

6、表决开始、结束采用声音提示。

以下为本设计资料展示图:

2.仿真

开始仿真

点击开始按键后,蜂鸣器嘟一声,开始10秒倒计时。期间选手按下同意按键,对应选手的LED灯亮。

img

倒计时结束后数码管显示结果:通过、不通过,同意人数。

img

3.程序

img

4.设计报告

报告格式规范,字数6141,含各种框图。

img

一 绪论

电子表决系统是专门针对人大、政协、政府、企事业单位各类议案表决、民主评议、人事选举、测评打分、现场互动等需求而研制发布,系统采用无线通信技术,功能齐全,安全可靠,保密性强,操作简单,具有硬件设计高度可靠、按键投票保密性强、用户操作直观明了、产品功能多种多样等优点。电子表决方式解决了以往举手表决所带来的弊端,使参会人员的意愿更加真实独立,即是对参会人员职权的尊重,又是对民主和法制的尊重。同时,电子表决结果自动生成节省了会议时间和人力,提高了会议效率。

(1)投票选择

若有选择问题的会议,某一问题有多个选项供大家选择,与会人员可按手持表决器的数字 “1”至“9”,选择所支持的选项。 与会人员选择后, 计算机可统计出各选项的得票数及百分数。

(2)数字评分

用于人员工作成绩评定、投标评表、项目最终成果评定、干部考核评定选拔、招聘人员评定、知识竞赛等。利用题库功能,根据具体要求首先输入相应需评定内容,然后与会人员对评定内容,进行打分评定。对评分结果有多种计算方式,客户可设定,例如 :是否去掉最高分、最低分等。

(3)民主评议

对工作人员的表现划分为: “优秀”,“好”,“一般”,“差”,“很差”,利用题库功能,首先输入评定内容,可对某人的多项表现分别进行评定,无线手持表决器有对应 “优秀”,“好”,“一般”, “差”,“很差”,按键。

本方案采用单片机设计一个多路定时表决器,要求其具有指示表决开始、指示表决结束、显示表决人数、显示表决结果、显示表决倒计时时间、结束指示等功能,具体要求满足以下条件:

(1)7人多数表决逻辑:多数通过。

(2)在主持人控制下,10秒内表决有效。

(3)采用数码管显示表决10秒倒计时。

(4)表决结束后用发光二极管及数码管显示表决结果,数码管显示结果:通过、不通过,同意人数。

(5)设主持人控制键、暂停键、复位键。控制键:启动表决,暂停键:暂停表决,复位键:系统复位。

(6)支持表决的人,则其对的LED就发光

(7)表决开始采用声音提示。

二 方案论证

表决器的实现主要涉及开始表决的控制、表决的方案、状态的指示、倒计时时间和表决同意人数及表决是否通过的显示。首先,倒计时时间与表决同意人数及表决是否通过的显示,可使用液晶屏或者数码管来实现,倒计时时间为 10s,表决人数为7人,则一共需要显示4位数,使用数码管比较简便。一般选用七段数码管显示器,其应用简单、可靠性高、成本低,可用于显示输出。由于有4位数字需要显示,可以直接使用一个4位数码管。

数码管可使用静态或者动态显示,很明显,动态显示能够满足本设计的需求。段选与位选信号可由单片机的I/O口直接提供,或者可使用锁存器间接获得。只要单片机的驱动电流足够,便可以直接控制数码管,但这样会占用很多单片机的端口,也可以使用锁存器既能节约单片机端口,又能增加驱动电流,选择使用锁存器驱动数码管,这样也可简化软件编程。状态指示包括显示当前处于表决的哪个环节,以及哪位表决人成功等提示,可选用蜂鸣器、发光二极管等来指示,发光二极管更能持续、鲜明地指示当前状态,因此选择使用发光二极管来指示当前状态。抢答开始或结束的开关,以及表决人表决设备均可使用按键,这样比较简单方便。整个方案中使用了很多的I/O口,并且系统的逻辑比较复杂,整个系统的软件设计可采用查询的方式,由各函数完成各自的功能。

综上所述,本设计采用单片机最小系统,采用程序查询方式,采用动态显示组号。在应用场景中,由主持人控制表决开关模块,按下开始键之后开始表决。表决人使用表决按键进行表决,显示模块显示表决阶段倒计时时间和表决同意的数及表决的最终结果,在此过程中,状态指示模块的指示灯对表决的阶段以及表决成功的人进行指示。主持人按下复位键便可重新进入准备阶段。表决器的系统框图如图2-1所示。

img

5.设计资料内容清单:

下载方式见文章开头视频或下方链接
img

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

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

相关文章

Java:Mybatis的使用

一、Mybatis的概述 MyBatis 是一款优秀的持久层框架,用于简化 JDBC 开发。 MyBatis中文官网:https://mybatis.org/mybatis-3/zh/getting-started.html 二、Mybatis快速入门 1、创建user表,添加数据 create database mybatis; use mybati…

英语语法大全

文章目录一、主语1、名词、代词和动词做主语2、主语从句做主语,谓语动词用单数3、主语从句练习二、谓语动词1、谓语动词种类2、主谓一致三、宾语1、单宾语2、双宾语3、复合宾语4、宾语从句四、定语1、定语从句2、定语从句的翻译五、状语1、分词做状语2、独立主格结构…

42.Isaac教程--超像素

超像素 ISAAC教程合集地址: https://blog.csdn.net/kunhe0512/category_12163211.html 超像素是一组外观相似的相连像素。 超像素分割将图像分成数百个不重叠的超像素(而不是数千或数百万个单独的像素)。通过使用超像素,您可以在更有意义的区…

ESP-C3入门2. Clion+IDF 开发环境搭建

ESP-C3入门2. ClionIDF 开发环境搭建一、准备工作二、Clion配置过程1. 使用idf.py命令创建一个范例工程2. 使用Clion打开项目,修改CMakeLists.txt3. 设置交叉编译工具链4. 设置CMake5. 对cmake一些路径进行修改。三、编译及烧录1. 编译2. 烧录3. 查看输出一、准备工…

审核中台业务数据进审升级之路

本文字数:3850字预计阅读时间:15 分钟目录1.背景1.1. 相关名词介绍1.2. 审核中台介绍1.3. 业务痛点介绍2. 规范化改造2.1 规范通讯协议2.2 规范处理流程3. 自动化改造3.1 业务接入检测器3.2 数据自动化流转3.3 源码示例4. 总结1.背景1.1 相关名词介绍1.1…

计算机图形学基础教程(Visual C++版)习题解答与编程实践(第2版)孔令德1-到第3章的直线扫描转换

1-到第3章的直线扫描转换(没更新完)习题1知识积累习题2知识点映射模式使用GDI对象习题3知识积累直线的中点Bresenham算法习题1 1.计算机图形学的定义是什么?说明计算机图形学、图像处理和模式识别之间的关系。 答: CG是计算机图形学的缩写。…

实验一、旅馆客户服务呼叫显示系统

实验一 旅馆客户服务呼叫显示系统 实验目的 综合应用数字电子技术知识,按照要求设计并完成一个小规模的数字电路系统。进行硬件线路的设计、仿真、焊接、调试与实现。使系统实现一种用于旅馆客户服务呼叫显示系统的实用电路。在呼叫过程中,当8位旅客有…

Spark Core ---- RDD持久化

RDD的数据是过程数据 RDD之间进行相互迭代计算(Transformation的转换),当执行开启后,新RDD的生成,代表老RDD的消失 RDD的数据是过程数据,只在处理的过程中存在,一旦处理完成,就不见…

【数据结构和算法】实现带头双向循环链表(最复杂的链表)

前文,我们实现了认识了链表这一结构,并实现了无头单向非循环链表,接下来我们实现另一种常用的链表结构,带头双向循环链表。如有仍不了解单向链表的,请看这一篇文章(7条消息) 【数据结构和算法】认识线性表中的链表&…

Spring Boot之SpringSecurity学习

文章目录一 SpringSecurity简介二 实战演示0. 环境 介绍1. 新建一个初始的springboot项目2. 导入thymeleaf依赖3. 导入静态资源4. 编写controller跳转5. 认证和授权6. 权限控制和注销7. 记住登录8. 定制登录页面三 完整代码3.1 pom配置文件3.2 RouterController.java3.3 Securi…

那些面试官口中常常提到b树(MySQL索引底层数据结构)

各种常见树1.树的基本概念2.二叉树3.b树4.b树5.b树与b树的对比5.MySQL索引底层数据结构1.树的基本概念 树的特点:有一个树根,树根上又有很多枝干,枝干上又有很多树枝,树枝上又有很多叶子 树最为一种数据结构也有相似特点 树是一个…

【计算机网络(考研版)】第二站:物理层(一)

前言 如下图所示,这是我们之前所说的数据流动示意图 我们将按照从下向上的结构进行学习。这一讲学习第一层物理层。物理层关注在一条通信信道上传输原始比特,即无论面对什么样的传输介质(有线或者无线)都可以传输比特流,物理层的作用正是要尽…

Python3 函数

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户…

Node require 正解

require 实现原理 流程概述 步骤1:尝试执行代码require("./1"). 开始调用方法require.步骤2:此时会得到filename,根据filename 会判断缓存中是否已经加载模块,如果加载完毕直接返回,反之继续执行步骤3&…

JavaScript 的数据类型

JavaScript 的数据类型 基本数据类型&#xff08;值类型&#xff09; Number&#xff08;包含小数、整数、负数、科学计数法&#xff09; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"…

【Linux】六、Linux 基础IO(四)|动态库和静态库

目录 十一、动态库和静态库 11.1 动态库和静态库定义 11.2 动静态库的基本原理 11.3 静态库的打包与使用 11.3.1 静态库的打包 11.3.2 静态库的使用 11.4 动态库的打包与使用 11.4.1 动态库的打包 11.4.2 动态库的使用 11.5 动态库的加载 十一、动态库和静态库 11.1…

CB2-2CARD的openSUSE安装NAS环境配置

CB2-2CARD的openSUSE安装&NAS环境配置1. 简介2. 规格3. 系统安装3.1 Linux/Unix稳定镜像3.2 基础功能更新&安装3.2.1 更新源3.2.2 升级系统3.2.3 基础功能安装3.3 OpenSUSE系统情况3.3.1 源操作命令3.3.2 源镜像4. 需求 & 配置4.1 MiniDLNAStep 1&#xff1a;安装M…

Day870.全局锁和表锁 -MySQL实战

全局锁和表锁 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于全局锁和表锁的内容。 数据库锁设计的初衷是处理并发问题。 作为多用户共享的资源&#xff0c;当出现并发访问的时候&#xff0c;数据库需要合理地控制资源的访问规则。锁就是用来实现这些访问规则的重…

数据结构 | C++ | 并查集原理讲解与模拟实现 | 并查集的相关习题

文章目录前言并查集原理并查集的模拟实现leetcode练习省份数量等式方程的可满足性前言 并查集通常会作为高阶数据结构的一个子结构使用&#xff0c;虽然原理不是很难&#xff0c;但其思想值得我们好好学习 并查集原理 并查集是一种树形结构&#xff0c;其保存了多个集合&…

【Maven】多环境配置与应用

目录 1. 多环境配置作用 问题导入 2. 多环境配置步骤 2.1 定义多环境 2.2 使用多环境&#xff08;构建过程&#xff09; 3. 跳过测试&#xff08;了解&#xff09; 问题导入 3.1 应用场景 3.2 跳过测试命令 3.3 细粒度控制跳过测试 1. 多环境配置作用 问题导入 多…