BSt-M51 制作四路抢答器

程序设计:当数码管显示“-”时开始抢答,按下对应按钮,数码管显示对应按钮数字,此时其他按键按下不会影响当前数码管显示数字,按下复位键可重启程序开始抢答。

#include<reg51.h>
sbit s1=P2^4;sbit s2=P2^5; sbit s3=P2^6;sbit s4=P2^7;
sbit k2=P3^4;sbit k3=P3^5; sbit k4=P3^6;sbit k5=P3^7;
unsigned char shu[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x40};
void guan(unsigned int c, a)
{while(1){
	switch(c){
		case 1:s1=1;s2=0;s3=0;s4=0;break;
		case 2:s1=0;s2=1;s3=0;s4=0;break;
		case 3:s1=0;s2=0;s3=1;s4=0;break;
		case 4:s1=0;s2=0;s3=0;s4=1;break;}
	 P0=shu[a];}
}
void main()
{while(1){
	P0=shu[10];
	if(k2==0){guan(3,2);}
	if(k3==0){guan(3,3);}
	if(k4==0){guan(3,4);}
	if(k5==0){guan(3,5);}
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值