找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4792|回复: 1
收起左侧

51单片机八路智力抢答器的设计与制作 电路原理图+仿真图程序

[复制链接]
ID:561514 发表于 2019-6-13 10:34 | 显示全部楼层 |阅读模式
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
0.png
本文设计出以AT89C51单片机为核心的八路抢答器。直接采用了数字显示器显示和LED亮灯显示,并可以利用复位电路进行复位的设计思想,它能根据不同的抢答输入信号,经过单片机的控制处理并产生不同的与输入信号相对应的输出信号,最后通过LED数码管显示相应的路数,即使两组的抢答时间相差几微秒,也可分辨出是哪组优先按下的按键,它充分利用了单片机系统的优点,具有结构简单、功能强大、可靠性好、实用性强的特点。
本设计是以八路抢答为基本理念。考虑到依需设定显示亮灯和选手号的功能,利用51单片机及外围接口实现的抢答系统,利用单片机的可以通过段码和位码控制的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,LED指示电路发生提示。
      
工作原理
基本功能设计
1. 同时供8名选手比赛,分别用8个按钮 K1 ~ K8 表示。
2. 设置一个系统抢答控制开关K0,和系统复位开关,由主持人控制。
3. 抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,扬声器发出声响提示,并在七段数码管上显示选手号码。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。
4. 抢答器还具有LED指示显示电路,对应选手号,相应的LED就会亮起。
硬件设计与原理

以AT89C51单片机为核心,起着控制作用。系统包括数码管显示电路、复位电路、时钟电路、按键输入电路和LED灯显示电路。设计思路分为六个模块:复位电路、晶振电路模块、AT89C51、数码管显示电路、按键输入电路和LED灯显示电路这六个模块

C语言源程序

#include<reg51.h>
typedefunsigned char uchar;
typedefunsigned int uint;
#define KEYP1
#define DATAP0
sbitLED1=P2^0;
sbitLED2=P2^1;
sbitLED3=P2^2;
sbitLED4=P2^3;
sbitLED5=P2^4;
sbitLED6=P2^5;
sbit LED7=P2^6;
sbitLED8=P2^7;
sbitWEI1=P3^6;
sbitWEI2=P3^7;
sbitstart=P3^4;
sbitstop=P3^5;
ucharnum,temp,work_mode;
uchar codelab[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
                    0x07,0x7f,0x6f,0x71};
voiddelay10ms();
voiddelay5ms();
void display_num();
voidinit_INT0();
voidinit_INT1();
voidkey_process();
voiddisplay_led();
voidinit_port();

void main()
{
  init_INT0();
  init_INT1();
  init_port();
  while(1)
  {
  EX1=1;
  while(work_mode)
    {
      display_num();
      display_led();
      }
  while(!work_mode)
      {
      EX1=0;
      num=0;
      P2=0xFF;
      WEI1=1;
      WEI2=1;
      DATA=~lab[10];
      }
  }
}

voidinit_port()
{
WEI1=0;
WEI2=0;
}

voiddelay10ms()
{
unsigned chara,b,c;
for(c=1;c>0;c--)
  for(b=38;b>0;b--)
    for(a=130;a>0;a--);
}


voiddelay5ms()
{
unsigned chara,b,c;
for(c=1;c>0;c--)
  for(b=18;b>0;b--)
    for(a=130;a>0;a--);
}

voiddisplay_num()
{
WEI1=0;
WEI2=0;
DATA=~lab[num/10];
WEI1=1;
delay5ms();

WEI2=0;
WEI1=0;
DATA=~lab[num%10];
WEI2=1;
delay5ms();
WEI2=0;
WEI1=0;
}

voidinit_INT0()
{
EX0=1;
IT0=1;
EA=1;
}

voidinit_INT1()
{
EX1=1;
IT1=1;
EA=1;
}

voidINT1_SIR()interrupt 2
{
EA=0;
temp=KEY;
key_process();
EA=1;
}

voidINT0_SIR()interrupt 0
{
EA=0;
if(!(start&stop))
delay10ms();
if(!(start&stop))
{
if((!start)&stop)work_mode=1;
if((!start)&start)work_mode=0;
}
EA=1;
}

voidkey_process()
{
switch(temp)
{
case(~0x01):num=1;EX1=0;break;
case(~0x02):num=2;EX1=0;break;
case(~0x04):num=3;EX1=0;break;
case(~0x08):num=4;EX1=0;break;
case(~0x10):num=5;EX1=0;break;
case(~0x20):num=6;EX1=0;break;
case(~0x40):num=7;EX1=0;break;
case(~0x80):num=8;EX1=0;break;
default:break;
}
}

voiddisplay_led()
{
switch(num)
{
case1:LED1=0;break;
case2:LED2=0;break;
case3:LED3=0;break;
case4:LED4=0;break;
case5:LED5=0;break;
case6:LED6=0;break;
case7:LED7=0;break;
case8:LED8=0;break;
default:P2=0xFF;break;
}

}


}C9MRWDF4`ZY0W@}[_8Z}HT.png
OM~[$Y9_OI6$)0T~M978{)A.png

07 曾展 基于51单片机八路智力抢答器的设计与制作.rar

708.27 KB, 下载次数: 51, 下载积分: 黑币 -5

回复

使用道具 举报

ID:328014 发表于 2019-6-16 01:35 | 显示全部楼层
好资料,51黑有你更精彩!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表