- 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)