Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >基于单片机的八路抢答器的设计与实现_基于单片机的三路抢答器设计

基于单片机的八路抢答器的设计与实现_基于单片机的三路抢答器设计

作者头像
全栈程序员站长
发布于 2022-11-07 02:31:10
发布于 2022-11-07 02:31:10
39900
代码可运行
举报
运行总次数:0
代码可运行

1.设计要求:

1.以单片机为核心,设计一个八位竞赛抢答器:同时供八名选手或八个代表队比赛,分别用八个按钮S0~S7表示。

2.设置一个系统清除和抢答控制开关S,开关由主持人控制。

3.抢答器具有锁存与显示功能。即选手按按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。

4.抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。

5.当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间为0.5s左右。

6.参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。

7.如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。

2.流程图:

3.Protues原理图:

效果图:

4.单片机代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include<reg51.h>
#define u8 unsigned char
#define u16 unsigned int
sbit highone = P3^0;	                    //倒计时数码管高标志位
sbit lowone = P3^1;		                //倒计时数码管低标志位
sbit hightwo = P3^2;	                    //选手编号数码管高标志位
sbit lowtwo = P3^3;		                //选手编号数码管低标志位
sbit set = P3^5;		                    //清除/设置时间按钮
sbit start = P3^6;		                    //开始按钮
sbit voice = P3^7;		                    //蜂鸣器输出位
sbit key1=P1^0;			                //选手1号按钮
sbit key2=P1^1;			                //选手2号按钮
sbit key3=P1^2;			                //选手3号按钮
sbit key4=P1^3;			                //选手4号按钮
sbit key5=P1^4;			                //选手5号按钮
sbit key6=P1^5;			                //选手6号按钮
sbit key7=P1^6;			                //选手7号按钮
sbit key8=P1^7;			                //选手8号按钮
u8 code number[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴极
u8 xianshi[]={0x3f,0x3f,0x3f,0x3f};
u8 Tpointer=30;			                //时间指针
u8 Allpointer=0;		                    //总指针
u8 tp=30;				                    //时间副指针
u16 mm = 0;				                //寄存抢答选手号
u8 done = 0;			                    //计时完成标志和抢答完成标志
u16 i;
u16 q;
u16 w;
void delay(u16 h)		                    //延时函数
{
while(h--);
}
void shujuchuli()		                    //数据处理函数
{									    //处理时间显示数据和选手号显示数据
xianshi[0]=number[tp/10];              //整除10作为倒计时十位
xianshi[1]=number[tp%10];	            //取余数运算作为倒计时个位
xianshi[2]=0x3f;
xianshi[3]=number[mm];		        //作为选手号个位
}
void xuanze()			                    //选择函数函数
{										//选择标志位接通对应的数码管
u8 k;									
for(k=0;k<4;k++)
{
switch(k)
{
case(0):						//显示倒计时数码管低位
highone=0;lowone=1;hightwo=0;lowtwo=0;P0=xianshi[k];delay(10);break;        
case(1):						//显示倒计时数码管高位
highone=1;lowone=0;hightwo=0;lowtwo=0;P0=xianshi[k];delay(10);break;	
case(2):						//显示选手编号数码管低位
highone=0;lowone=0;hightwo=0;lowtwo=1;P2=xianshi[k];delay(10);break;	
case(3):						//显示选手编号数码管高位
highone=0;lowone=0;hightwo=1;lowtwo=0;P2=xianshi[k];delay(10);break;	
}
P0=0x00;	                        //消影
P2=0x00;	                        //消影
}
}
void checksetkey2()		                //检测设置时间按钮函数,用于调整抢答时间
{
if(set==0)		  
{	
delay(1000);   	                //消抖
if(set==0)	 
{	
if(Tpointer<60)
{
Tpointer= Tpointer+1;
tp= tp+1;
}
else
{
Tpointer=0;
tp=0;
}			
}		
while(!set)
{
xuanze();	 
}
}		
}
代码完整版请转:https://download.csdn.net/download/weixin_47675608/74047012

由于篇幅有限相应的代码和仿真图已经上传(包括程序和课程设计报告),有需要的自取:https://download.csdn.net/download/weixin_47675608/74047012

压缩包内容包括(Protues仿真,单片机程序和单片机课程设计报告)

课程设计报告目录

对您有帮助的话,请点赞评论收藏转发关注您的鼓励才是作者创作的动力,求打赏

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/184310.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月9日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
单片机八路抢答器计设计_基于单片机的三路抢答器设计
二、基本要求: 利用8051单片机中断系统,制作一个有8个按键的比赛抢答器。在有人按键时进行对应选手显示。 三、设计任务: 1.设计硬件电路,画出电路原理图; 2.画出程序流程图; 3.编制程序,写出源程序代码; 4.写出5000字的详细说明书,要求字迹工整,原理叙述正确,会计算主要元器件的一些参数,并选择元器件; 5.个人总结。 四、参考资料: 1.教材; 2.单片机实验指导书》 **
全栈程序员站长
2022/11/01
6260
单片机八路抢答器计设计_基于单片机的三路抢答器设计
设计分享|单片机8路抢答器
51单片是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X51 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。
电子工程师成长日记
2022/07/27
6130
设计分享|单片机8路抢答器
数电实现八路抢答器Proteus仿真,74LS148等,含论文
3.抢答器具有数据锁存和显示功能。抢答开始后,如有选手抢答成功,选手编号立即锁存,数码管显示该选手编号,同时倒计时停止,蜂鸣器发出提示音;
蒋宇智
2024/04/03
1.2K0
数电实现八路抢答器Proteus仿真,74LS148等,含论文
八路抢答器单片机c语言程序_八路抢答器单片机c语言程序
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,
全栈程序员站长
2022/11/01
1K0
基于单片机的8路抢答器系统设计(数显),仿真与代码
3)抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止;
蒋宇智
2024/04/12
9230
基于单片机的8路抢答器系统设计(数显),仿真与代码
基于单片机的八路抢答器设计论文_抢答器的程序流程图
文末下载完整资料 1.1八路扫描式抢答器的概述     本文介绍的八路数显抢答器具有电路简单、成本较低、操作方便、灵敏可靠等优点,经使用效果良好, 具有较高的推广价值。无线遥控抢答器,它由8个发射器和1个接收器组成,可用于8组或8组以下的智力竞赛中。比赛前,将参赛组从0至7编号,每组发给对应的一个发射器。将接收器放于各组中央或前方。主持人按一下启动键后,抢答开始。此后,哪一组最先按下发射器上的抢答键,接收器就立即显示该组的组号并锁定,同时发出3次清脆的“叮咚”声。以后,按下任何一路抢答键均不起反映。只有主持人再次按动启动键后,才能进行下一次抢答该电路由直流稳压电源、抢答器、超时报警与电子计分四部分组成。 1.2本设计任务及要求     任务:设计一个供8名选手参加八路扫描式抢答器。 1.3系统主要功能     每名选手有一个抢答按钮,按钮的编号与选手的编号相对应,抢答器具有第一个抢答信号的鉴别和数据锁存、显示的功能。抢答开始后,若有选手按抢答按钮,刚该选手指示灯亮,并在数码管上显示相应编号,扬声器发出音响提示。同时,电路应具备自锁功能,禁止其他选手再抢答,优先抢答选手的编号一直保持到主持人将系统清0 为止。抢答器具有计分、显示功能。预置分数可由主持人设定,并显示在每名选手的计分牌上,选手答对加10分,答错扣10分。抢答器具有定时抢答的功能。一次抢答的时间由主持人设定,在主持人发出抢答指令后,定时器立即进行减计时,并在显示器上显示,同时扬声器发出短暂声响,声响时间持续0.5s左右。选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器显示选手编号和抢答时刻的时间,并保持到主持人将系统清0为止。                        第2节 系统硬件设计 2.1芯片的选择    本设计使用到的元器件包括:8051芯片、数码LED显示器、七段LED数码管的译码。 2.2工作原理    基于这个设计的上述要求,根据功能要求,须设计有抢答电路、译码显示电路、主持人控制电路、定时电路、报警电路,各个电路都有其自己的功能。通过复位按键FW,电路进入就绪状态,等待抢答。首先由主持人根据题目的难易程度,可以用“JIA SHI”和“JIAN SHA”两个按键,设定时间在(0S-99S)之间,然后再由主持人发布抢答命令(按下KS按键)同时发光二极管随即变亮,当看到二极管亮,进入倒计时状态和抢答状态。在电路中“S1-S8”为8路抢答器的8个按键,如果有人按下按键,程序就会判断是谁先按下的,然后从P2口输出抢答者号码的七段码值,经GAL16V8驱动,送到码管显示,并封锁键盘,保持刚才按键按下时刻的时间,禁止其他人按键的输入,从而实现了抢答的功能。如果在设定的时间中没有一个人按下按键,一到时间,则产生报警信号已经超时,不可以抢答。当要进行下一次的抢答时,由主持人先按一下复位按键FW,电路复位,进入下一次抢答的就绪状态。 2.3系统的硬件构成及功能 2.3.1 抢答器的电路框图   &emsp如图11、1所示为电路框图。其工作原理为:接通电源后,主持人将开关拨到“清除”状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置,“开始”状态,宣布“开始”抢答器工作。定时器倒计时,扬声器给出声响提示。选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次操作”清除”和”开始”状态开关。
全栈程序员站长
2022/11/01
8610
基于单片机的八路抢答器设计论文_抢答器的程序流程图
八路抢答器系统51单片机设计【附Proteus仿真、C程序、原理图及PCB文件、元器件清单和论文等】「建议收藏」
设计要求 1)抢答器同时供8名选手或2个代表队比赛,分别用8个按钮S0-S7表示; 2)设置一个系统清除和抢答控制开关S,该开关由主持人控制; 3)抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止; 4)抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30s等)。当主持人启动“开始”按键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续时间为0.5s左右; 5)参赛选手在设定时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手编号和抢答时间,并保持到主持人将系统清除为止; 6)如果定时时间到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00; 7)设计出软件编程方法,并写出源代码; 8)主机与从机实现无线抢答; 9)用Proteus进行仿真,Altium Designer绘制原理图和PCB;
全栈程序员站长
2022/10/02
1.6K0
八路抢答器系统51单片机设计【附Proteus仿真、C程序、原理图及PCB文件、元器件清单和论文等】「建议收藏」
51单片机八路抢答器proteus仿真
由于51单片机小板,按键比较少,还有一些功能上的缺陷,所以说无法完成八路抢答器,所以我们用proteus仿真,代码与实验结果如下:
全栈程序员站长
2022/11/01
4860
51单片机设计8位抢答器_51单片机八路抢答器原理图
毕业设计(论文)题 目:基于 51 单片机八路抢答器的设计 系 部: 专 业: 学 号: 学生姓名: 指导教师姓名: 指导教师职称: 2013 年 xx 月 xx 日XXXXXXXX 学院(论文)I摘 要随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也就显而易见。目前很多抢答器基本上采用小规模数字集成电路设计,使用起来不够理想。因此设计一更易于使用和区分度高的抢答器成了非常迫切的任务。现在单片机已进入各个领域,以其功耗小、智能化而著称,所以若利用单片机来设计抢答器,便使以上问题得以解决.针对以上情况,本文设计出以 STC89C52RC 单片机为核心的八路抢答器。我们采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,它能根据不同的抢答输入信号,经过单片机的控制处理并产生不同的与输入信号相对应的输出信号,最后通过 LED 数码管显示相应的路数,即使两组的抢答时间相差几微秒,也可分辨出是哪组优先按下的按键,它充分利用了单片机系统的优点,具有结构简单、功能强大、可靠性好、实用性强的特点。本设计是以八路抢答为基本理念。考虑到依需设定限时回答的功能,利用 51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为犯规;满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。【关键词】STC89C52RC 共阴数码管 按键 蜂鸣器目录XXXXXXXX 学院(论文)II前 言 1第一章 工作原理 21.1 设计目标 .21.1.1 基本功能 .21.1.2 主要技术参数 .2第二章 硬件设计与原理 32.1 总设计框图 32.2 硬件设计分析 32.2.1 电源的设计 32.2.2 单片机最小系统 42.2.3 数码管显示电路 102.2.4 按键输入电路 112.2.5 报警与指示电路 14第三章 软件设计与分析 153.1 软件设计的组成 153.2 各部分软件分析 153.2.1 延时子函数 153.2.2 初始化子函数 153.2.3 开始键扫描子函数 163.2.4 选手抢答按键扫描子函数 173.2.5 显示子函数 203.2.6 调整时间键扫描子函数 243.2.7 定时器 0 中断子函数 263.2.8 定时器 1 中断子函数 273.2.9 主函数 283.3 总源程序 30第四章 软件仿真 464.1 PROTEUS 简介 .464.2 仿真图 .484.3 原理图 .494.4 元件清单 .50XXXXXXXX 学院(论文)III4.5 仿真结果图 51总结 54致 谢 56参考文献 57XXXXXXXX 学院(论文)1前 言最近几年来,随着科技的飞速发展,单片机领域正在不断的走向社会各个角落,还带动传统控制检测日新月异更新。在实时运作和自动控制的单片机应用到系统中,单片机如今是作为一个核心部件来使用,仅掌握单片机方面知识是不够的,还应根据其具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。 “单片机原理及应用课程设计”是电子类专业的学科基础科,它是继“汇编语言程序设计” , “接口技术”等课程之后开出的实践环节课程。XXXXXXXX 学院(论文)2第一章 工作原理1.1 设计目标1.1.1 基本功能1、同时供 8 名选手比赛,分别用 8 个按钮 K1 ~ K8 表示。2、设置一个系统抢答控制开关 K0,该开关由主持人控制。3、抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,扬声器发出声响提示,并在七段数码管上显示选手号码。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。4、抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如 30 秒) 。当主持人启动“开始“键后,定时器进行减计时。5、参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。在这段时间如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示 00。1.1.2 主要技术参数 1、在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为犯规。2、抢答限定时间和回答问题的时间是在 10~60s 设定。3、可以显示是哪位选手有效抢答和无效抢答,正确按键后有音提示。4、抢答时间和回答问题时间倒记时显示,时间完后系统自动复位。5、按键锁定,在有效状态下,按键无效非法。XXXXXXXX 学院(论文)3第二章 硬件设计与原理以 STC89C52RC 单片机为核心,起着控制作用。系统包括数码管显示电路、复位电路、时钟电路、按键输入电路和蜂鸣器报警电路。设计思路分为六
全栈程序员站长
2022/11/01
6220
51单片机设计8位抢答器_51单片机八路抢答器原理图
数电设计-八路抢答器
设计一个能支持八路抢答的智力竞赛抢答器;主持人按下开始抢答的按键后,有短暂的报警声提示抢答人员抢答开始且指示灯亮表示抢答进行中;在开始抢答后数码管显示30秒倒计时;有抢答人员按下抢答键后,在数码管上显示抢答成功人员的编号,倒计时暂停,同时后续抢答人员的抢答将无效;当主持人再次按下按键回到复位状态,倒计时的数码管保持显示30,显示人员编号的数码管灭,指示灯灭。
全栈程序员站长
2022/07/22
3.1K0
数电设计-八路抢答器
基于51单片机的八路抢答器设计开题报告_8路抢答器设计51单片机
随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也越来越重要。本文设计出以STC89C52RC单片机为核心的八路抢答器。
全栈程序员站长
2022/11/01
5280
基于51单片机的八路抢答器设计开题报告_8路抢答器设计51单片机
数电课设 八路抢答器设计详解
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/01
7130
基于51单片机的八路抢答器设计_单片机八路抢答器课程设计
写一下寒假做的51小项目,本次是基于AT89C51的八路抢答器,课设水平难度。 具体说明:硬件分为两部分,主持人主控部分和选手使用部分。可以实现:按动开始可以开启程序或者开启答题倒计时,按动复位可以实现归零;八个选手各有一个按键,按下即可抢答,与此同时,蜂鸣器响一秒钟,选手的LED点亮。在答题时间还剩十秒钟时,发出提示音,时间耗尽时,所有LED点亮,蜂鸣器鸣响。当抢答倒计时结束仍没有选手抢答,所有LED点亮,同时蜂鸣器报警一秒钟,之后主持人可以复位重新开始。
全栈程序员站长
2022/11/01
6660
基于51单片机的八路抢答器设计_单片机八路抢答器课程设计
基于51单片机的多功能八路抢答器[通俗易懂]
1.功能介绍 多功能八路抢答器是基于51单片机来设计的,除了可以实现最基本功能——8路抢答外,还具有自动处理犯规选手,抢答时间调整,还可以进行答题,计分,并且可以查询或修改分数。
全栈程序员站长
2022/11/01
9440
基于51单片机的多功能八路抢答器[通俗易懂]
四路抢答器c语言程序_八路抢答器原理讲解
uc code table[]={0x3f,0x06,0x5b,0x4f,0x66,
全栈程序员站长
2022/11/01
4090
八路抢答器一个数码管C语言,八路抢答器设计 – 八路抢答器电路设计方案汇总(五款模拟电路设计原理及工作原理详细)…「建议收藏」
在许多比赛活动中,为了准确、公正、直观地判断出第一抢答者,通常设置一台抢答器,通过数显、灯光或音响等多种手段指示出第一抢答者。
全栈程序员站长
2022/11/01
9860
八路抢答器一个数码管C语言,八路抢答器设计 – 八路抢答器电路设计方案汇总(五款模拟电路设计原理及工作原理详细)…「建议收藏」
数字电子技术课程设计八路抢答器报告_八路抢答器课程设计参考
做的东西还是有一些bug,到最后答辩完事之后就开始复习期末考试了,没时间再整 有错误请指正
全栈程序员站长
2022/11/01
1.1K0
数字电子技术课程设计八路抢答器报告_八路抢答器课程设计参考
设计分享|单片机抢答器(汇编)
主持人按下抢答按键后,进入抢答模式,8位选手开始抢答,数码管显示抢答成功的选手号码,主持人按键再次按下后复位。
电子工程师成长日记
2022/07/27
5090
设计分享|单片机抢答器(汇编)
仿真设计|基于51单片机的简易抢答器
51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。
电子工程师成长日记
2022/12/18
6170
仿真设计|基于51单片机的简易抢答器
基于51单片机的简易抢答器
51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。
电子工程师成长日记
2022/12/10
6310
基于51单片机的简易抢答器
推荐阅读
相关推荐
单片机八路抢答器计设计_基于单片机的三路抢答器设计
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验