篮球记分牌单片机设计 联系客服

发布时间 : 星期二 文章篮球记分牌单片机设计更新完毕开始阅读0635da2aaaea998fcc220ef4

简易时钟电路课程设计论文

num=0; if(second==0) { if(minute==0) //比赛时间到,则停止计时 { TR0=0; finish_flag=1; } else { second=60; minute--; } } second--; } }

/***************************************************************************** 程 序 名:8位共阳七段数码管动态显示程序 编辑时间:2012-06-14 编 辑 者:x_z_y Q Q:812550826 修改时间: 硬件平台:MCU:At89c51 晶振:12MHz 8位共阳七段数码管 硬件连接:第1~4位数码管段选————P0 位选————P3^0,P3^1,P3^2,P3^3 第5~8位数码管段选————P2 位选————P3^0,P3^1,P3^2,P3^3 注 意:

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

//头文件

#include #include #include\#include\

//变量定义

unsigned char code disptable[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71

12

简易时钟电路课程设计论文

}; //定义0~F所对应的十六进制数组disptable

/**************************************************************************** 函 数 名:一位数码管显示函数 入口参数:unsigned char num 对应的第几个数码管 unsigned char dat1,dat2 对应要显示的数 出口参数:无

****************************************************************************/ void seg_display(unsigned char num,unsigned char dat1,unsigned char dat2) { P3&=0xf0; //消影 P0=~disptable[dat1]; //第1~4位数码管段选 P2=~disptable[dat2]; //第5~8位数码管段选 P3=_cror_(0x08,num); //位选 }

/**************************************************************************** 函 数 名:八位数码管显示函数 入口参数:unsigned char *disp_buff1,*disp_buff2 对应要显示的数缓冲数组指针 出口参数:无

****************************************************************************/ void diaplay(unsigned char *disp_buff1,unsigned char *disp_buff2) { unsigned char i; for(i=0;i<4;i++) //循环扫描数码管 { seg_display(i,disp_buff1[i],disp_buff2[i]); delay_ms(3); } }

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

程 序 名:STC89C52RD+ 四个独立按键的程序 编辑时间: 2012-06-14 编译环境:keil c

硬件平台:STC89C52RD+单片机,11.0592MHZ晶振 四个独立按键 功能描述: sbit K1=P1^0; //K1——甲对加分键 sbit K2=P1^1; //K2——乙队加分键 sbit K3=P1^2; //K3——开始/停止比赛 sbit K4=P1^5; //K4——调整比赛时间 sbit K5=P1^6; //K5——甲乙队交换记分牌

注 意:

13

简易时钟电路课程设计论文

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

//头文件

#include #include\#include\

//硬件定义 sbit K1=P1^0; //K1——甲对加分键 sbit K2=P1^1; //K2——乙队加分键 sbit K3=P1^2; //K3——开始/停止比赛 sbit K4=P1^5; //K4——调整比赛时间 sbit K5=P1^6; //K5——甲乙队交换记分牌

/*************************************************************************************** 函 数 名:三个独立键盘扫描函数 函数入口:无 函数出口:无

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

unsigned char key_scan(void) {

unsigned char key=0; if(K1==0) //甲对加分键 { delay_ms(2); if(K1==0) { while(K1==0); key=1; } } else if(K2==0) //乙队加分键 { delay_ms(2); if(K2==0) { while(K2==0); key=2;

14

简易时钟电路课程设计论文

} } else if(K3==0) //开始/停止比赛 { delay_ms(2); if(K3==0) { while(K3==0); key=3; } } else if(K4==0) //调整比赛时间 { delay_ms(2); if(K4==0) { while(K4==0); key=4; } } else if(K5==0) //甲乙队交换记分牌 { delay_ms(2); if(K5==0) { while(K5==0); key=5; } } return key; }

//********************延时函数*******************************

//头文件

#include #include #include \

//延时xus的函数

void delay_us(unsigned int xus) { while(xus--)

15