篮球计分器程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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) //加二 {