【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;

}

}

}

}

}

}

}

}

}

}

五、实验现象

演示视频:

相关推荐
CCPC不拿奖不改名5 分钟前
python基础面试编程题汇总+个人练习(入门+结构+函数+面向对象编程)--需要自取
开发语言·人工智能·python·学习·自然语言处理·面试·职场和发展
2501_9444241211 分钟前
Flutter for OpenHarmony游戏集合App实战之数字拼图滑动交换
android·开发语言·flutter·游戏·harmonyos
偷星星的贼1117 分钟前
C++中的访问者模式实战
开发语言·c++·算法
llilian_1620 分钟前
b码授时卡 b码解码授时器对无人机领域的重要性 b码解码装置
网络·功能测试·单片机·无人机
电子科技圈28 分钟前
芯科科技助力涂鸦智能推出免编码AIoT平台创新智能照明开发
科技·嵌入式硬件·mcu·物联网·智能家居·智能硬件·iot
持梦远方35 分钟前
Arduino 学习-第3课:PWM 实现 LED 呼吸灯效果
stm32·单片机
莫问前路漫漫36 分钟前
Java Runtime Environment(JRE)全解析:Java 程序跨平台运行的核心基石
java·开发语言
进阶小白猿37 分钟前
Java技术八股学习Day22
java·开发语言·学习
xiaobobo333039 分钟前
STM32中HAL库接口函数的共性以及架构思想
stm32·单片机·架构·数据处理器
蒟蒻的贤41 分钟前
操作系统复习
java·开发语言·数据库