标题: 单片机4路抢答器电路+程序设计,一个主持人按键,四路选手抢答,带声光显示 [打印本页]

作者: 李小东    时间: 2020-6-15 10:45
标题: 单片机4路抢答器电路+程序设计,一个主持人按键,四路选手抢答,带声光显示

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. #include<reg52.h>

  2. #define uint  unsigned int
  3. #define uchar unsigned char

  4. uchar sum,qdc;        

  5. sbit beep=P3^7;
  6. sbit led=P3^2;
  7. sbit zhuchi=P2^0;
  8. sbit k1=P2^1;
  9. sbit k2=P2^2;
  10. sbit k3=P2^3;
  11. sbit k4=P2^4;

  12. unsigned char code dat[]=
  13. {
  14.         0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90
  15. };

  16. void delay_ms(uint xms);
  17. void bell();
  18. void bell0();
  19. void keyscan();
  20.                                                          

  21. void main()
  22. {

  23.         while(1)
  24.         {
  25.                 keyscan();
  26.                 P0=dat[sum];               
  27.         }
  28. }


  29. void delay_ms(uint xms)
  30. {
  31.         uchar i;
  32.         while(xms--)
  33.         for(i=0;i<=110;i++);        
  34. }

  35. void bell()         
  36. {
  37.         uint a;
  38.         for(a=50;a>0;a--)
  39.         {
  40.                 beep=0;led=0;
  41.                 delay_ms(6);
  42.                 beep=1;led=1;
  43.                 delay_ms(6);
  44.         }
  45. }



  46. void bell0()
  47. {
  48.         if(k1==0)        
  49.         {
  50.                 delay_ms(5);
  51.                 if(k1==0)
  52.                 {
  53.                         while(k1==0);
  54.                         bell();
  55.                 }        
  56.         }
  57.         if(k2==0)        
  58.         {
  59.                 delay_ms(5);
  60.                 if(k2==0)
  61.                 {
  62.                         while(k2==0);
  63.                         bell();
  64.                 }        
  65.         }
复制代码


全部资料51hei下载地址:
抢答器.zip (69.49 KB, 下载次数: 118)


作者: juii    时间: 2020-6-16 21:41
大佬,能用stm32实现吗 急急急
作者: 李小东    时间: 2020-6-17 17:20
juii 发表于 2020-6-16 21:41
大佬,能用stm32实现吗 急急急

stm32什么型号

作者: juii    时间: 2020-6-19 12:16
用stm32f103r6
我已经用书本知识整合实现了,谢谢啦
作者: 热武器    时间: 2020-12-24 20:51
大佬,有没有四个数码管,前两个为选手号,后两个为时间




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1