打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
基于单片机的多路抢答器设计
电路功能:

电路可实现9路抢答器功能,一人按下后,其他人再按无效,需复位后方可重新抢答。

下图为Proteus仿真图:


下图为原理图:



下图为PCB图:



下图为实物图,手机拍摄 ,不是很清晰



以下为源程序:

#include
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={             //不带小数点的数码管编码
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90};
uchar num;
sbit beep=P3^6;
sbit k1=P1^0;
sbit k2=P1^1;
sbit k3=P1^2;
sbit k4=P1^3;
sbit k5=P1^4;
sbit k6=P1^5;
sbit k7=P1^6;
sbit k8=P1^7;
sbit k9=P3^0;
void keyscan();
void delay(uint z)
{
 uint x,y;
 for(x=z;x>0;x--)
 for(y=5000;y>0;y--);
}

 

void main()
{
 while(1)
 {
  keyscan();
 }
}

 


void keyscan()

 P0=0xc0;
 P2=0xfe;
 if(k1==0)
 {
  beep=0;
  delay(5);
  beep=1;
  P0=table[1];
  delay(10000);
 }
 else if(k2==0)
 
  beep=0;
  delay(5);
  beep=1;
  P0=table[2];
  delay(10000);
 }
 else if(k3==0)
 
  beep=0;
  delay(5);
  beep=1;
  P0=table[3];
  delay(10000);
 }
 else if(k4==0)
 
  beep=0;
  delay(5);
  beep=1;
  P0=table[4];
  delay(10000);
 }
 else if(k5==0)
 
  beep=0;
  delay(5);
  beep=1;
  P0=table[5];
  delay(10000);
 }
 else if(k6==0)
 
  beep=0;
  delay(5);
  beep=1;
  P0=table[6];
  delay(10000);
 }
 else if(k7==0)
 
  beep=0;
  delay(5);
  beep=1;
  P0=table[7];
  delay(10000);
 }
 else if(k8==0)
 
  beep=0;
  delay(5);
  beep=1;
  P0=table[8];
  delay(10000);
 }
 else if(k9==0)
 
  beep=0;
  delay(5);
  beep=1;
  P0=table[9];
  delay(10000);
 }

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
51单片机矩阵键盘扫描程序
51单片机C语言程序(一)发光二极管
24C02终于搞定了!分享程序给需要的坛友,最大存储255字节! 第2页 (amoBBS 阿莫电子论坛)
51单片机多路DS18B20测温显示并读取序列号
1602精简的四线控制方法,值得一看
ADC0809模数转换器
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服