标题: 单片机按键按一次加15秒定时,LCD上倒计时程序错误 [打印本页]

作者: aoligeigiao    时间: 2020-7-18 11:47
标题: 单片机按键按一次加15秒定时,LCD上倒计时程序错误
各位大佬中午好,小弟想实现  只用一个按键加长定时时间
按一次加15秒,然后LCD倒计时,倒计时的时候再按再加15秒,LCD也显示,按键接在中断0
我这个程序得不出结果  :
void INT0_ISR() interrupt 0
{
        cishu++;
        TR0=1;
        ET0=1;
        
}

void T0_ISR() interrupt 1
{
               
        cnt++;
        if(cnt%100==0)
        {
                second++;//1秒
        }
        if(second==15)
        {cnt=0;
                TR0=0;
        
        }
}

void dingshi1()
{
        if(dingshi==0)//定时功能按一次加 秒
        {
                delay1ms(5);
                if(dingshi==0)
                {
               

                cishu++;
               
                        wr_com(0xc0);

         display(str8);
                        delay1ms(5);
                        for(;second>0;)
                        {
                                delay1ms(1);
                                second--;
                                display(str11);
                                wr_com(0xc6);//下面一行显示倒计时时间
                        wr_dat((second+15*cishu)/10);//
                                
                                wr_com(0xc7);
                                
                                wr_dat((second+15*cishu)%10);
        }
                        if(second==0)
                        {
                                IN1=0;
                                IN2=0;//电机停
                        }
}
}
}

定时器初值设在主程序中了,
AUXR &= 0x0F;                //
        TMOD &= 0x00;                //设置定时器模式
  TL0 = (65536-1000)%256;                //设置定时初值
        TH0 = (65536-1000)/256;                //设置定时初值


用的stc15系列单片机(基于51)


帮忙看看,谢谢大佬们

作者: robinsonlin    时间: 2020-7-18 13:31
这种涉及时间类的程序,最好不要把记录时间的变量随便归零,因为归零后,如果控制不好,可能会出现莫名其妙的溢出。 专门定义一个unsigned long 独立运行时钟,时间触发时,用临时变量取独立时钟的值,然后比较差值。  每检测到一个按键,总时间系数变量+1,当时间差值>= 临时变量与独立时钟差值时,触发完成。
作者: aoligeigiao    时间: 2020-7-18 13:36
robinsonlin 发表于 2020-7-18 13:31
这种涉及时间类的程序,最好不要把记录时间的变量随便归零,因为归零后,如果控制不好,可能会出现莫名其妙 ...

好的  我再试试 谢谢(⊙^⊙)




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1