程序讲解篮球计时器.pdfVIP

  • 1
  • 0
  • 约3.74千字
  • 约 6页
  • 2026-03-03 发布于河南
  • 举报

7.完整程序

#includeREG51.H添加特殊功能寄存器变量定义头文件

#includeabsacc.h添加绝对宏定义头文件

#defineCON82790xCfE9定义8279控制口地址

#defineDATA82790xCFE8定义8279数据口地址

typedefunsignedcharuchar;给unsignedchar(无符号字节型)定义一个别名

uchar

ucharcodeLED[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};定义显

示码数据表代表数码管0-90x代表16进制转换成2进制就是数码管了

ucharkey_value;定义一个按键值

charjiadui,yidui;定义字符型变量整形数据甲队乙队

charjishi=24;定义计时时间为24

charcount=10;定义一个变量值=10

voidDisplay_jishi(ucharx);声明计时函数入口变量是无符号数

voidDisplay_fenshu(ucharx,uchary);声明分数函数入口变量是两个无符号数返

回值是void类型

voidinit_8279();声明8279初始化函数

ucharReadkey()声明键盘扫描函数

{

if(XBYTE[CON8279]0x07)//85是否有建按下

{

XBYTE[CON8279]=0x40;

key_value=XBYTE[DATA8279]-191;读建值

returnkey_value;返回键值

}

key_value=0;没有键值

return0;返回0

}

voidcheck(void)定义检查函数

{

switch(key_value)判断键值条件

{

case1:jiadui+=1;break;按键值为一加一

case2:jiadui+=2;break;

case3:jiadui+=3;break;

case4:yidui+=1;break;

case5:yidui+=2;break;

case6:yidui+=3;break;

case7:jiadui-=1;break;

case8:jiadui-=2;break;

case9:jiadui-=3;break;

case10:yidui-=1;break;

case11:yidui-=2;break;

case12:yidui-=3;break;

case13:{jiadui=yidui=jishi=0;

Display_jishi(jishi);Display_fenshu(yidui,jiadui);}break;显示计时分数函数

case14:{jiadui=yidui=0;jishi=24;}break;

default:key_value=0;break;

}

if(jiadui=0)jiadui=0;如何甲队=0,甲队为0

if(yidui=0)yidui=0;

if(jishi=0)jishi=0;

}

voidmain()入口函数无返回值

{

ucharx,y;定义x,y

init_8279();初始化8279

TMOD=0x01;选择单片机内部定时器1中断的工作状态为1

TH0=0x3C;设置定时器/计数器0的初始值50ms。高位15536

TL0

文档评论(0)

1亿VIP精品文档

相关文档