主持人按下启动键开始抢答。主持人按下开始抢答按纽(P3.0),蜂鸣响声提示,数码管30秒倒计时抢答,蜂鸣器响声提示并显示抢答编号,倒计时30秒。有人抢答开始30秒倒计时,最后五秒倒计时警报。
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit start=P3^0; //主持人按键开始
sbit reset=P3^1; //复位
sbit add1=P3^2; //抢答时间调整,+1
sbit dec1=P3^3; //抢答时间调整,-1
sbit add2=P3^4; //答题时间调整,+1
sbit dec2=P3^5; //答题时间调整,-1
//选手按键
sbit k1=P1^0; //0有效
sbit k2=P1^1;
sbit k3=P1^2;
sbit k4=P1^3;
数码管显示函数:
void display1 (void) //数码管显示
{
unsigned char shiwei,gewei,xuanshou;
xuanshou=tab[p];
P0=0x71;
P2=0x7F;
delay(5);
P2=0xFF;
P0=0x71;
P2=0xBF;
delay(5);
P2=0xFF;
P0=0x40; //显示横线
P2=0xDF;
delay(5);
P2=0xFF;
P0=xuanshou;
P2=0xEF; //选手位选
delay(5);
P2=0xFF;
}