当主持人按下开始按键后,开始倒计时60秒,选手开始抢答,当有选手抢答后其它选手抢答无效。

并且选手抢答后倒计时停止。

由于我没有设置新一轮按键,如果需要使用新一轮抢答可以加按键开启新一轮抢答

定时器配置代码

#include <REGX52.H>void Timer0_Init(void)
{TMOD &= 0xF0;     //配置定时器模式TMOD |= 0x01;     //设置定时器0模式TL0 = 0x3c;      //设置定时初值50ms产生一次中断TH0 = 0xb0;      //设置定时初值TF0 = 0;       //清除TF0标志TR0 = 1;      //定时器0开始计时ET0=1;EA=1;PT0=0;
}

数码管显示选手号代码

#include <REGX52.H>
#include "Delay.h"    //包含Delay头文件sbit we1=P2^0;//数码管段码表
unsigned char Table[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//数码管显示子函数
void Nixie(unsigned int Speed)
{we1=0;P0=Table[Speed];   //段码输出Delay(1);             //显示一段时间we1=1;P0=0x00;                //段码清0,消影}

主函数、中断服务函数、数码管显示倒计时

#include <REGX52.H>
#include "Delay.h"
#include "Timer0.h"
#include "Nixie.h"unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//共阴极数码管段码sbit we3=P2^2;
sbit we4=P2^3;unsigned int flag=0,ms=60;//ms设定倒计时初始值
unsigned int Number=0;
unsigned int x,z,y=0,f=0;void main()
{   Timer0_Init();while(1){if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);y=1;//倒计时开始标志位,1开始倒计时flag=1;//抢答标志位,1按键有效,0按键无效}x=ms/10;z=ms-x*10;//计算倒计时每一位的数据放入数码管中显示we3=0;P0=NixieTable[x]; //段码输出Delay(1);             //显示一段时间we3=1;P0=0x00;                //段码清0,消影we4=0;P0=NixieTable[z];   //段码输出Delay(1);             //显示一段时间we4=1;P0=0x00;                //段码清0,消影if(flag==1){if(P1_0==0){Delay(20);while(P1_0==0);Delay(20);flag=0;//使其它选手无法抢答Number=1;//获得选手号送给数码管显示f=1;//倒计时停止}if(P1_1==0){Delay(20);while(P1_1==0);Delay(20);flag=0;Number=2;f=1;}    if(P1_2==0){Delay(20);while(P1_2==0);Delay(20);flag=0;Number=3;f=1;}if(P1_3==0){Delay(20);while(P1_3==0);Delay(20);flag=0;Number=4;f=1;}}Nixie(Number);//数码管显示函数}}void Timer0_Routine() interrupt 1
{unsigned int T0Count;TL0 = 0x3c;      //设置定时初值为50msTH0 = 0xb0;       //设置定时初值T0Count++;if(T0Count>=20){T0Count=0;if(f==0){if(y==1){ms--;//1s减一次if(ms==0){ms=60;}}}else{ms=ms;//选手抢答后倒计时停止}}}

仿真图形

本次制作的抢答器比较简单,如果需要可以自行添加代码使功能更全面。后续如果时间充足可以进一步完善。

刚刚想了想我又加上了新一轮抢答按键

     if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);break;//当按键按下时跳出while主循环}

​​​​​​​

基于51单片机的四路抢答器仿真相关推荐

  1. 基于51单片机的四路抢答器设计

    0 要求介绍 使用51单片机设计一个思路抢答器 正常抢答:主持人按下开始按钮后数码显示管显示最先按下按钮台号,蜂鸣器发出音响,其它抢答按钮无效:主持人按下开始按钮之前,若选手按下抢答器,抢答违规,显示 ...

  2. 【单片机系列】基于51单片机的四路抢答器

    对于这在被单片机课程设计折磨的小伙伴们,这或许是一个不错的选择!简单方便,成本低廉首先声明,本设计由本人独立完成,代码原创的,在普中科技开发板上实验成功了.下面附上代码,由于都有注释,就不废话了,如果 ...

  3. 【Proteus仿真】基于51单片机的八路抢答器

    [Proteus仿真]基于51单片机的八路抢答器 Proteus仿真 主要功能和使用介绍 采用4位数码管设计. 下排按键一一对应八位选手. 上排三个按键,从走到右依次为:开始.暂停.复位. 操作流程: ...

  4. 基于51单片机的八路抢答器附仿真代码开源

    基于51单片机的八路抢答器代码开源 单片机采用51单片机 一个共阳数码管 需要该源码的可以关注公众号:智慧小巷 回复:八路抢答器 即可!

  5. 基于51单片机的简易抢答器设计

    基于51单片机的简易抢答器 具体功能: 1.主持人按下抢答开始按键,抢答者才可以开始抢答,数码管抢答倒计时20S. 2.抢答者按下按键,数码管显示抢答者的编号. 3.可以通过按键修改倒计时时间. 部分 ...

  6. 基于51单片机的八路抢答器

    写一下寒假做的51小项目,本次是基于AT89C51的八路抢答器,课设水平难度. 具体说明:硬件分为两部分,主持人主控部分和选手使用部分.可以实现:按动开始可以开启程序或者开启答题倒计时,按动复位可以实 ...

  7. 基于51单片机的八路抢答器设计

    随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也越来越重要.本文设计出以STC89C52RC单片机为核心的八路抢答器. 所需元器件如下: STC89C52RC芯片 *1 10K电阻 ...

  8. 51单片机的四路抢答器c语言,用51单片机制作4路抢答器

    此抢答器具有限时抢答,超时无效的特点,并可以对主持人未喊开始而提前抢答的犯规情况作出判断. 由于用了单片机,所以电路很简单.懒得写译码程序,也不想做驱动电路.干脆直接用了一片74LS48译码驱动器来驱 ...

  9. 基于51单片机六路抢答器

    资料编号:194 本设计是以六路抢答为基本理念.考虑到依需设定限时回答的功能,利用51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软.硬件有机地结合起来,使得系统能够 ...

最新文章

  1. Blender 2.9中的真实感三维产品全流程制作学习教程
  2. linux文本编辑器vim的基本使用
  3. git clone的时候报error: RPC failed; result=18错误
  4. GitHub也会断供:美国制裁地区帐号都受限,毫无预警,个人页面直接404
  5. 一个低级错误,关于timer
  6. 不用FTP使用SecureCRT上传下载文件,并解决rz、sz command not found异常
  7. cxf环境搭建与第一个项目
  8. C语言 野指针 - C语言零基础入门教程
  9. 亲测无限坐席在线客服系统源码
  10. 66. 加一(C, Python)
  11. linux开机自动挂载ntfs,linux 开机自动挂载 NTFS 磁盘(Linux Mint、Ubuntu)[解决挂载 NTFS 后 Windows “快速启动”导致的只能只读模式挂载]...
  12. Redis笔记(五)Redis的事务
  13. Python Day05
  14. lisp ssget 浩辰_ssget 详解
  15. DIRECTSHOW中的视频捕捉
  16. jquery bootstrap-select多选组件使用指南
  17. C版iPhone4也给国产旗舰手机带来机会
  18. ASCII码作用简介
  19. 学会做风格化游戏3D场景,关键是要会 “抓特征”
  20. 对接微信公众号出现【invalid ip xxx.xxx.xxx.xxx 】

热门文章

  1. 大数据架构师——数据湖技术(二)
  2. HDU 2222(AC自动机模板)
  3. EMC-降低传导辐射干扰的方法
  4. 音效codec芯片解决方案
  5. python下标为偶数_P089 下标为奇数位置的字母转换为大写 ★★
  6. 别找了Docker常用命令都在这
  7. 【单片机毕业设计】【mcuclub-jj-054】基于单片机的豆浆机的设计
  8. 酒水供应链管理难?ZETA技术助力酒水供应链数智化升级
  9. centos8搭建分布式集群
  10. 图像仿射变换原理2:矩阵变换、线性变换和图像线性变换矩阵