【51单片机】【protues仿真】 基于51单片机八路抢答器系统

目录

一、主要功能

二、使用步骤

三、硬件资源

四、软件设计

五、实验现象

一、主要功能

1、数码管显示

2、主持人按下开始,8位选手开始抢答

3、可以进行简单的加减乘除运算

4、倒计时最后5秒蜂鸣器会滴滴提醒

5、选手抢答成功,数码管会显示其号码

6、按下清楚按键进入新一轮

7、抢答成功后蜂鸣器响2秒

二、使用步骤

基于51单片机的八路抢答器设计支持8路独立抢答输入,主持人通过"开始"键启动抢答流程,抢答成功后锁定其他输入。数码管实时显示抢答者编号,同时对应LED灯点亮。

三、硬件资源

1、51单片机核心模块

2、按键模块

3、LED指示灯模块

4、继电器模块

5、数码管显示模块

四、软件设计

#include<reg51.h>

#include<intrins.h>

sbit smg1=P2^4;

sbit smg2=P2^6;

sbit smg3=P2^7;

sbit smg4=P2^5;

sbit keyks=P2^2;

sbit keytz=P2^1;

sbit keyqc=P2^0;

sbit key1=P1^4;

sbit key2=P1^5;

sbit key3=P1^6;

sbit key4=P1^7;

sbit key5=P3^4;

sbit key6=P3^5;

sbit key7=P3^6;

sbit key8=P3^7;

sbit spk=P1^0;

int djs=60,js=0;

unsigned char flag=0;

int table[]={0x5f,0x44,0x9d,0xd5,0xc6,0xd3,0xdb,0x45,0xdf,0xd7,0x80};

void main()

{

int djs1=60;

Timer0_init();

spk=1;

djs=60;

while(1)

{

LOOP1: djs=djs1;

djsxs22();

if(key1==0)

{

delayms(3);

if(key1==0)

{

while(!key1);

djs=60;

while(1)

{

TR0=0;

djsxs();

if(key2==0)

{

delayms(8);

if(key2==0)

{

do

{

while(!key2);

delayms(5);

}

while(key2!=1);

djs++;

djs1=djs;

}

}

if(key3==0)

{

delayms(8);

if(key3==0)

{

do

{

while(!key3);

delayms(5);

}

while(key3!=1);

djs--;

djs1=djs;

}

}

if(key1==0)

{

delayms(3);

if(key1==0)

{

while(!key1);

goto LOOP1;

}

}

}

}

}

if(keyks==0)

{

delayms(3);

if(keyks==0)

{

while(!keyks);

TR0=1;

while(1)

{

djsxs();

if(keytz==0)

{

delayms(3);

if(keytz==0)

{

while(!keytz);

{

TR0=0;

flag=0;

spk=1;

}

}

}

if(keyks==0)

{

delayms(3);

if(keyks==0)

{

while(!keyks);

TR0=1;

}

}

if((key1==0)&&(TR0==1))

{ spk=0;

delayms(3);

if(key1==0)

{

while(!key1);

{

spk=1;

flag=0;

}

while(1)

{

TR0=0;

djsxs1();

djsxs30();

djsxs();

if(keyqc==0)

{

delayms(3);

if(keyqc==0)

{

while(!keyqc);

goto LOOP1;

}

}

}

}

}

if((key2==0)&&(TR0==1))

{ spk=0;

delayms(3);

if(key2==0)

{

while(!key2);

{

spk=1;

flag=0;

while(1)

{

TR0=0;

djsxs2();

djsxs30();

djsxs();

if(keyqc==0)

{

delayms(3);

if(keyqc==0)

{

while(!keyqc);

goto LOOP1;

}

}

}

}

}

if((key3==0)&&(TR0==1))

{ spk=0;

delayms(3);

if(key3==0)

{

while(!key3);

{

spk=1;

flag=0;

while(1)

{

TR0=0;

djsxs3();

djsxs30();

djsxs();

if(keyqc==0)

{

delayms(3);

if(keyqc==0)

{

while(!keyqc);

goto LOOP1;

}

}

}

}

}

if((key4==0)&&(TR0==1))

{ spk=0;

delayms(3);

if(key4==0)

{

while(!key4);

{

spk=1;

flag=0;

}

while(1)

{

TR0=0;

djsxs4();

djsxs30();

djsxs();

if(keyqc==0)

{

delayms(3);

if(keyqc==0)

{

while(!keyqc);

goto LOOP1;

}

}

}

}

}

if((key5==0)&&(TR0==1))

{ spk=0;

delayms(3);

if(key5==0)

{

while(!key5);

{

spk=1;

flag=0;

}

while(1)

{

TR0=0;

djsxs5();

djsxs30();

djsxs();

if(keyqc==0)

{

delayms(3);

if(keyqc==0)

{

while(!keyqc);

goto LOOP1;

}

}

}

}

}

if((key6==0)&&(TR0==1))

{ spk=0;

delayms(3);

if(key6==0)

{

while(!key6);

{

spk=1;

flag=0;

}

while(1)

{

TR0=0;

djsxs6();

djsxs30();

djsxs();

if(keyqc==0)

{

delayms(3);

if(keyqc==0)

{

while(!keyqc);

goto LOOP1;

}

}

}

}

}

if((key7==0)&&(TR0==1))

{ spk=0;

delayms(3);

if(key7==0)

{

while(!key7);

{

spk=1;

flag=0;

}

while(1)

{

TR0=0;

djsxs7();

djsxs30();

djsxs();

if(keyqc==0)

{

delayms(3);

if(keyqc==0)

{

while(!keyqc);

goto LOOP1;

}

}

}

}

}

if((key8==0)&&(TR0==1))

{ spk=0;

delayms(3);

if(key8==0)

{

while(!key8);

{

spk=1;

flag=0;

}

while(1)

{

TR0=0;

djsxs8();

djsxs30();

djsxs();

if(keyqc==0)

{

delayms(3);

if(keyqc==0)

{

while(!keyqc);

goto LOOP1;

}

}

}

}

}

}

}

}

}

}

五、实验现象

演示视频:

相关推荐
weixin_4462608517 小时前
快速构建网站的利器——Symfony PHP框架
开发语言·php·symfony
王夏奇18 小时前
C语言中#pragma的用法
c语言·开发语言
李宥小哥18 小时前
C#基础10-结构体和枚举
java·开发语言·c#
带娃的IT创业者18 小时前
第4集:配置管理的艺术:环境变量、多环境配置与安全实践
开发语言·python·安全·项目配置·开发基础
云山工作室18 小时前
基于单片机的三相逆变电源设计
单片机·嵌入式硬件·毕业设计·毕设
省四收割者19 小时前
Go语言入门(20)-nil
开发语言·vscode·golang
19岁开始学习19 小时前
Go语言中的Zap日志库
开发语言·golang·xcode
数据知道19 小时前
Go基础:用Go语言操作MongoDB详解
服务器·开发语言·数据库·后端·mongodb·golang·go语言
爱喝白开水a19 小时前
2025时序数据库选型,从架构基因到AI赋能来解析
开发语言·数据库·人工智能·架构·langchain·transformer·时序数据库
朝新_19 小时前
【EE初阶 - 网络原理】网络通信
java·开发语言·网络·php·javaee