找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 26726|回复: 12
收起左侧

单片机八路竞赛抢答器制作 程序+电路图

  [复制链接]
ID:76686 发表于 2015-4-12 02:46 | 显示全部楼层 |阅读模式
    本电子小制作八路竞赛抢答器具有电路简单、制作容易、操作方便、可靠适用等优点,它由8个抢答按键开关和1个接收主板组成,可用于8组以及8组以下的竞赛抢答中。每组对应的抢答按键盘开关。将主机置于各组中央或是前方。主持人按一下启动按键后,八路竞赛抢答器开始工作,抢开始。当哪一组最先按下抢答键,主机就立即显示该组的组号并锁定并同时发出3次清脆的“叮咚”声。这时其它组按下任何一路抢答键均不起作用。只有当主持人再次按下启动按键后才能进行下一的抢答。该八路竞赛抢答器由直流稳压电源、抢答器、倒计显示时报警、电子计分等几部分组成。元件的选择:




        本电子小制作八路竞赛抢答器设计使用的元器件有:AT89C52单片机、数码LED数码管、按键开关等元件组成。其中AT89C52单片机是八路竞赛抢答器的核心,它主要负责控制八路竞赛抢答器各个部分的协调工作。外围接有上复位电路、上拉电阻、数码管、按钮以及蜂鸣器等。AT89C52单片机P1.0-P1.7为八路抢答输入端口,P0口为数码管段选端口,数码管位驱运口为P2口,P3.0口接蜂鸣器。


        八路竞赛抢答器工作原理:本八路竞赛抢答器计有抢答电路、显示电路、定时电路、主持人控制电路、报警电路。主持人通过按下复位按键后,电路进入等待抢答的工作状态,这时主持人即可发布抢答开始命令,这时发光二极管立即亮,当看各组抢答人员看到二极管点亮数码管进入倒计时状态时,即可进行抢答,当有人按下抢答按键,程序就会自动判断哪一组先按下的,选抢答的哪组的组号就会送到码管是显示出来,同时并锁住其它抢答按键,保持时的时间,从而实现了抢答的功能。如果在八路竞赛抢答器设定的时间内没有一组按下按下抢答键,倒计时时间一到就会发出报警信号,提示已经超时,不能再进行抢答。只有当由主持人再次按一下复位按键后,才能进入下一次的抢答。
       附件:电子小制作八路竞赛抢答器源程序
  1. #include<reg52.h>
  2. sbit kai1 = P0^0;
  3. sbit kai2 = P0^1;
  4. sbit kai3 = P0^2;
  5. sbit kai4 = P0^3;
  6. sbit kai5 = P0^4;
  7. sbit kai6 = P0^5;
  8. sbit kai7 = P0^6;
  9. sbit kai8 = P0^7;
  10. sbit spk1 = P3^0;
  11. void diar(void)
  12. {
  13.    unsigned int i;
  14.    for(i=0;i<35000;i++);
  15. }
  16. void qi1()
  17. {
  18.    spk1=0;   
  19.    P1=0xF9;
  20.    kai1=0;
  21.    diar();
  22.    while(1)
  23.    {
  24.       spk1=1;
  25.    }
  26. }
  27. void qi2()
  28. {
  29.    spk1=0;   
  30.    P1=0xA4;
  31.    kai2=0;
  32.    diar();
  33.    while(1)
  34.    {
  35.      spk1=1;
  36.    }
  37. }

  38. void qi3()
  39. {
  40.    spk1=0;   
  41.    P1=0xB0;
  42.    kai3=0;
  43.    diar();
  44.    while(1)
  45.    {
  46.      spk1=1;
  47.    }
  48. }
  49. void qi4()
  50. {
  51.    spk1=0;   
  52.    P1=0x99;
  53.    kai4=0;
  54.    diar();
  55.    while(1)
  56.    {
  57.      spk1=1;
  58.    }
  59. }
  60. void qi5()
  61. {
  62.    spk1=0;
  63.    P1=0x92;
  64.    kai5=0;
  65.    diar();
  66.    while(1)
  67.    {
  68.       spk1=1;
  69.    }
  70. }
  71. void qi6()
  72. {
  73.    spk1=0;   
  74.    P1=0x82;
  75.    kai6=0;
  76.    diar();
  77.    while(1)
  78.    {
  79.      spk1=1;
  80.    }
  81. }
  82. void qi7()
  83. {
  84.    spk1=0;   
  85.    P1=0xF8;
  86.    kai7=0;
  87.    diar();
  88.    while(1)
  89.    {
  90.       spk1=1;
  91.    }
  92. }
  93. void qi8()
  94. {
  95.    spk1=0;   
  96.    P1=0x80;
  97.    kai8=0;
  98.    diar();
  99.    while(1)
  100.    {
  101.       spk1=1;
  102.    }
  103. }

  104. void main()
  105. {
  106.    P0=0xff;
  107.    while(1)
  108.    {
  109.        if(kai1==0)
  110.        qi1();
  111.        if(kai2==0)
  112.        qi2();
  113.        if(kai3==0)
  114.        qi3();
  115.        if(kai4==0)
  116.        qi4();
  117.        if(kai5==0)
  118.        qi5();
  119.        if(kai6==0)
  120.        qi6();
  121.        if(kai7==0)
  122.        qi7();
  123.        if(kai8==0)
  124.        qi8();
  125.    }
  126. }
复制代码




评分

参与人数 2黑币 +10 收起 理由
sky666 + 5
jinghao0220 + 5 很给力!

查看全部评分

回复

使用道具 举报

ID:107352 发表于 2016-6-20 11:46 | 显示全部楼层
非常好!!!
回复

使用道具 举报

ID:156054 发表于 2016-12-20 16:37 | 显示全部楼层
请问你的电子记分在哪里?
回复

使用道具 举报

ID:260122 发表于 2017-12-20 14:16 | 显示全部楼层
你这个是不是没有复位功能的?
回复

使用道具 举报

ID:138664 发表于 2018-7-14 23:20 | 显示全部楼层
这个电路有做成功的吗?
回复

使用道具 举报

ID:323496 发表于 2018-7-18 21:11 | 显示全部楼层
这个电路很简单实用
回复

使用道具 举报

ID:292069 发表于 2018-7-29 10:04 | 显示全部楼层
楼主有源文件么,我也想制作一个
回复

使用道具 举报

ID:738300 发表于 2020-4-26 11:00 | 显示全部楼层
真的是太给力
回复

使用道具 举报

ID:755213 发表于 2020-5-18 21:47 | 显示全部楼层
不能定时啊
回复

使用道具 举报

ID:779591 发表于 2020-6-15 09:30 | 显示全部楼层
原理图有吗
回复

使用道具 举报

ID:573789 发表于 2020-6-15 11:03 | 显示全部楼层
很好的作品
回复

使用道具 举报

ID:302325 发表于 2020-6-17 09:01 | 显示全部楼层
好资料,51黑有你更精彩!!!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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