篮球计分器程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

/******************** //版权和版本声明

* 文件标识:

* 摘要:

* 当前版本:

* 作者:输入作者(或修改者)名字

* 完成日期:2013年3月25日

**********************************/

#include <> //头文件

unsigned char code Tab[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x08,0x03}; //段码表unsigned char dat[6]={0,0,0,0,0,0};

sbit key1=P1^0; //位定义

sbit key2=P1^1;

sbit key3=P1^2;

sbit key4=P1^3;

sbit key5=P1^4;

sbit key6=P1^5;

sbit key7=P1^6;

sbit key8=P1^7;

sbit key9=P3^0;

sbit key10=P3^2;

/****************************

* 函数名称:延时函数

* 函数功能:

* 输入/输出参数:

* 返回值:

***************************************/

void delay(unsigned int xms)

{ unsigned int i,j;

for(i=0;i

{ for(j=0;j<115;j++)

{;}

}

}

/****************************

* 函数名称:显示函数

* 函数功能:

* 输入/输出参数:

* 返回值:

***************************************/

unsigned int h,h1,j,j1,m,k,k1;

void fenli()

{ //一队分离

dat[0]=k/100; // 取百位

dat[1]=k%100/10; // 取十位

dat[2]=k%100%10; // 取个位

//二队分离

dat[3]=k1/100; // 取百位

dat[4]=k1%100/10; // 取十位

dat[5]=k1%100%10; // 取个位

/**********************显示**************************************/ if(key10==1) // 两队中场切换

{

h=0x01; //A队队名

P2=Tab[10];

P0=h;

delay(1);

P2=0xff;

h1=0x02;

for(m=0;m<3;m++)

{

P2=Tab[dat[m]]; //送段码

P0=h1; //送位码

delay(1); //延时

P2=0xff; //关断

h1=h1<<1; //左移

}

j=0x10; // b队队名

P2=Tab[11];

P0=j;

delay(1);

P2=0xff;

j1=0x20;

for(m=3;m<6;m++)

{

P2=Tab[dat[m]];

P0=j1;

delay(1);

P2=0xff;

j1=j1<<1;

}

}

/****************************切换**************************************************/

else

{

h=0x01; // 队名

P2=Tab[11];

P0=h;

delay(1);

P2=0xff;

h1=0x02;

for(m=3;m<6;m++)

{

P2=Tab[dat[m]];//送段码

P0=h1; //送位码

delay(1); //延时

P2=0xff; //关断

h1=h1<<1; //左移

}

j=0x10; // 队名

P2=Tab[10];

P0=j;

delay(1);

P2=0xff;

j1=0x20; //送初值

for(m=0;m<3;m++)

{

P2=Tab[dat[m]];// 送段码

P0=j1; //送位码

delay(1); // 延时

P2=0xff; // 关断

j1=j1<<1; // 左移

}

}

}

/****************************

* 函数名称:指示灯函数

* 函数功能:

* 输入/输出参数:

* 返回值:

***************************************/ void lingsheng()

{

P3_7=0X00;

delay(200);

P3_7=0x01;

}

/****************************

* 函数名称:按键输入函数

* 函数功能:

* 输入/输出参数:

* 返回值:

***************************************/ void anjian()

{

if (key1==0) //减一

{

delay(40);

if (key1==0)

{

k--;

if(k>835)

{

k=0;

}

lingsheng();

}

}

if (key2==0) //加一

{

delay(40);

if (key2==0)

{

k++;

lingsheng();

}

}

if (key3==0) //加二

{

相关文档
最新文档