📄 八路抢答器.c
字号:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit speak=P2^0;
sbit host=P2^2;
uchar GroupNo;
uchar code Seg7code[9]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};//0到8的代码
void delay1ms(void)//延迟1毫秒
{uchar i;
for(i=250;i>0;i--);
}
void ShowG(uchar no)//显示出第几组
{P1=Seg7code[no];}
uchar KeySweep(void)//键盘扫描,获取组数
{uchar temp,no=0;
if(P3!=0xff)
{delay1ms();
if(P3!=0xff)
temp=~P3;
}
while(temp!=0)
{temp=temp>>1;
no++;
}
return no;
}
void timer0(void) interrupt 1
{TH0=0x10;
TL0=0X60;
speak=~speak;
}
void InitTime0(void)//定时器0初始化
{TMOD=0x02;
TH0=0x10;
TL0=0X60;
ET0=1;
TR0=1;
}
void main()
{InitTime0();
while(1)
{P3=0xff;
ShowG(0);
while(P3==0xff);
GroupNo=KeySweep();
ShowG(GroupNo);
EA=1;
while(host==1);
delay1ms();
while(host==1);
EA=0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -