void main (void)
{
unsigned char num=0;
key0=1;
key1=1; //按键输入端口电平置高
key2=1;
//key3=1;
Init_
timer0();
while (1) //主循环
{
if(!key0)
{
DelayMs(10);
if(!key0)
{
while(!key0);
num++;
if(num==4)
{
num=0;
}
}
}
if(num==1)
{
TempData[6]=dofly_DuanMa[s/10];//分解显示信息,如要显示68,则68/10=6 68%10=8
TempData[7]=dofly_DuanMa[s%10];
DelayMs(250);
DelayMs(250);
TempData[6]=0;
TempData[7]=0;
DelayMs(250);
DelayMs(250);
}
TempData[6]=dofly_DuanMa[s/10];//分解显示信息,如要显示68,则68/10=6 68%10=8
TempData[7]=dofly_DuanMa[s%10];
TempData[5]=0x40;
if(num==2)
{
TempData[3]=dofly_DuanMa[m/10];//分解显示信息,如要显示68,则68/10=6 68%10=8
TempData[4]=dofly_DuanMa[m%10];
DelayMs(250);
DelayMs(250);
TempData[3]=0;
TempData[4]=0;
DelayMs(250);
DelayMs(250);
}
TempData[3]=dofly_DuanMa[m/10];//分解显示信息,如要显示68,则68/10=6 68%10=8
TempData[4]=dofly_DuanMa[m%10];
TempData[2]=0x40;
if(num==3)
{
TempData[0]=dofly_DuanMa[h/10];//分解显示信息,如要显示68,则68/10=6 68%10=8
TempData[1]=dofly_DuanMa[h%10];
DelayMs(250);
DelayMs(250);
TempData[0]=0;
TempData[1]=0;
DelayMs(250);
DelayMs(250);
}
TempData[0]=dofly_DuanMa[h/10];//分解显示信息,如要显示68,则68/10=6 68%10=8
TempData[1]=dofly_DuanMa[h%10];
// Display(0,8); //显示全部8位
//主循环中添加其他需要一直工作的程序
}
}
num值0~1的变换轻按按键key0即可,1~2,2~3则需重按key0,这应该也不是DelayMS()的问题,我改变过DelayMS()的值,也没有解决上述问题!会不会是后面的执行程序太多而耽误的问题呢?
按键是一个触发动作
一周热门 更多>