//2010年1月4日第一次修改
#include<reg52.h>
#include <stdlib.h> //随机数产生头文件
#define uchar unsigned char
#define uint unsigned int
sbit P1_0=P1^0; // 定义管脚
sbit P1_1=P1^1;
sbit P1_2=P1^2;
sbit P1_3=P1^3;
sbit P1_4=P1^4;
sbit P1_5=P1^5;
sbit P1_6=P1^6;
sbit P1_7=P1^7;
sbit P2_0=P2^0;
sbit P2_1=P2^1;
sbit Speaker=P2^2; //蜂鸣器控制
sbit P3_0=P3^0;
uint i,j,k,random; //定义变量
uchar code tab1[10]={0x3f,0x0c,0x76,0x5e,0x4d,0x5b,0x7b,0x7f,0x5f}; //0,1,2,3,4,5,6,7,8,9
uchar code tab2[2]={0xfe,0xfd}; //数码管选择端
/********************需要调用的函数声明*******************/
void delay(); //延时函数
void Creat_Random() ; //随机函数
void display(uint); //输出到数码管函数
void shuchu(); //最终成功选手编号输出
Interrupt(void) //中断函数调用
{
shuchu();
Speaker=1; //关蜂鸣器
}
/*********************************************************/
/********************main()函数****************************************/
void main()
{TR0=1; //启动定时器0
P0=0x3f; //数码管初始化00
P2_0=0;
P2_1=0;
Speaker=1; //开始时关蜂鸣器
//if(P1&0xf0==0xf0)
if(P1_4==1&&P1_5==1&&P1_6==1&&P1_7==1) //循环扫描
for(j=0;j<255;j++)
for(i=0;i<255;i++)
{
if(P1_0==0)
{ P1_4=0;
Speaker=0;}
if(P1_1==0)
{P1_5=0;
Speaker=0;}
if(P1_2==0)
{P1_6=0;