⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 5lqdq.c

📁 单片机51/52系列的单片机开发的5路抢答器
💻 C
字号:
/***********************************************************
实验名称:4路抢答器示例程序
程序说明:按键S6,S3,S1,S4,S2分别代表5路抢答器,抢答成功后,数码管显示相应的代号,并有声音提醒,每次抢答后要等约两秒钟的时间才能进行下一轮抢答。
作者:RF-X1开发板团队
日期:2008-07-26
***********************************************************/


#include <reg51.h>
#include <intrins.h>

#define uchar unsigned char
#define uint  unsigned int

sbit  K1 = P3^2; sbit  K2 = P3^3;  // K1对应S6  K2对应S3 K3对应S1 K4对应S4 K5对应S2
sbit  K3 = P3^4; sbit  K4 = P3^5;
sbit  K5 = P3^6;
sbit BEEP = P3^7; //蜂鸣器控制端口P21
uchar  temp;
void beep();              //蜂鸣器
void delay0(uchar x);      //x*0.14MS

/******************************************/ 
/*              延时子程序                */ 
/******************************************/ 
void  delay1(uchar x)
{ uchar j;
    while((x--)!=0)
    { for(j=0;j<125;j++)
         {;}
    }
}

void delay(uint ms) 
{
   uchar t;
   while(ms--)
   { 
     for(t = 0; t < 120; t++);
   }
}

void beep()
{
  unsigned char i;
  for (i=0;i<100;i++)
   {
   delay0(4);
   BEEP=!BEEP;       //BEEP取反
   } 
   BEEP=1;           //关闭蜂鸣器
   delay1(250);       //延时     
}

void delay0(uchar x)    //x*0.14MS
{
 unsigned char i;
  while(x--)
 {
  for (i = 0; i<13; i++) {}
 }
}

/******************************************/ 
/*              主程序                    */ 
/******************************************/ 
main()
{
   P0 = 0xff;
   P2 = 0xff;
   while(1)
   {
     P0 = 0xc0;           //显示“0”
  P2 = 0xfe;
  P3 = 0xff;           //置P3.2-3.5为输入状态
  _nop_();
  temp = P3;

  while(temp==0xff) 
  {
    temp = P3;
temp=temp&0xff;
  }

     if(K1==0)
  {     beep(); 
       P0 = 0xf9;         //显示”1“ 
delay(2000);

  }
  else  if(K2==0)
  {    beep();
       P0 = 0xa4;        //显示”2“ 
   delay(2000);
  }
  else  if(K3==0)
  {     beep();
       P0 = 0xb0;        //显示“3” 
delay(2000);
  }
  else  if(K4==0)
  {     beep();
       P0 = 0x99;        //显示“4” 
   delay(2000);
  }
    else  if(K5==0)
  {     beep();
       P0 = 0x92;        //显示"5"
	    delay(2000);
   }
	}
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -