51单片机数字时钟的显示按钮控制(单片机学习笔记八)
//key_Service()按键服务函数
//dis_Service()//数码管显示服务函数
**********************************************************
unsigned char wnd;
unsigned char parm1 = 44;
unsigned char parm2 = 55;
unsigned char parm3 = 66;
unsigned char parm4 = 77;
void dis_Service();
void key_Service()//按键服务函数
{
switch(Key_Scan())
{
case 1: wnd ; if(wnd>3) wnd =0; break;//这段代码实现窗口切换
case 2:
switch(wnd)//这段代码实现数据加一
{
case 0: parm1 ; if(parm1>99) parm1 =0; break;
case 1: parm2 ; if(parm2>99) parm2 =0; break;
case 2: parm3 ; if(parm3>99) parm3 =0; break;
case 3: parm4 ; if(parm4>99) parm4 =0; break;
default: break;
}
case 3:
switch(wnd)//这段代码实现数据减一
{
case 0: parm1--; if(parm1>99) parm1 =99; break;
case 1: parm2--; if(parm2>99) parm2 =99; break;
case 2: parm3--; if(parm3>99) parm3 =99; break;
case 3: parm4--; if(parm4>99) parm4 =99; break;
default: break;
}
case 4:
switch(wnd)//这段代码实现数据清零
{
case 0: parm1 =0; break;
case 1: parm2 =0; break;
case 2: parm3 =0; break;
case 3: parm4 =0; break;
default: break;
}
default: break;
}
}
,现在小编就来说说关于51单片机数字时钟的显示按钮控制?下面内容希望能帮助到你,我们来一起看看吧!
51单片机数字时钟的显示按钮控制
//key_Service()按键服务函数
//dis_Service()//数码管显示服务函数
**********************************************************
unsigned char wnd;
unsigned char parm1 = 44;
unsigned char parm2 = 55;
unsigned char parm3 = 66;
unsigned char parm4 = 77;
void dis_Service();
void key_Service()//按键服务函数
{
switch(Key_Scan())
{
case 1: wnd ; if(wnd>3) wnd =0; break;//这段代码实现窗口切换
case 2:
switch(wnd)//这段代码实现数据加一
{
case 0: parm1 ; if(parm1>99) parm1 =0; break;
case 1: parm2 ; if(parm2>99) parm2 =0; break;
case 2: parm3 ; if(parm3>99) parm3 =0; break;
case 3: parm4 ; if(parm4>99) parm4 =0; break;
default: break;
}
case 3:
switch(wnd)//这段代码实现数据减一
{
case 0: parm1--; if(parm1>99) parm1 =99; break;
case 1: parm2--; if(parm2>99) parm2 =99; break;
case 2: parm3--; if(parm3>99) parm3 =99; break;
case 3: parm4--; if(parm4>99) parm4 =99; break;
default: break;
}
case 4:
switch(wnd)//这段代码实现数据清零
{
case 0: parm1 =0; break;
case 1: parm2 =0; break;
case 2: parm3 =0; break;
case 3: parm4 =0; break;
default: break;
}
default: break;
}
}
void dis_Service()//数码管显示服务函数
{
switch(wnd)
{
case 0:
ledbuf[0] = 0;
ledbuf[1] = 0;
ledbuf[2] = parm1/10;
ledbuf[3] = parm1;
break;
case 1:
ledbuf[0] = 0;
ledbuf[1] = 0;
ledbuf[2] = parm2/10;
ledbuf[3] = parm2;
break;
case 2:
ledbuf[0] = 0;
ledbuf[1] = 0;
ledbuf[2] = parm3/10;
ledbuf[3] = parm3;
break;
case 3:
ledbuf[0] = 0;
ledbuf[1] = 0;
ledbuf[2] = parm4/10;
ledbuf[3] = parm4;
break;
default: break;
}
}
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com