找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1235|回复: 2
打印 上一主题 下一主题
收起左侧

单片机按键按一次加15秒定时,LCD上倒计时程序错误

[复制链接]
跳转到指定楼层
楼主
ID:793692 发表于 2020-7-18 11:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大佬中午好,小弟想实现  只用一个按键加长定时时间
按一次加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)


帮忙看看,谢谢大佬们
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

使用道具 举报

板凳
ID:793692 发表于 2020-7-18 13:36 | 只看该作者
robinsonlin 发表于 2020-7-18 13:31
这种涉及时间类的程序,最好不要把记录时间的变量随便归零,因为归零后,如果控制不好,可能会出现莫名其妙 ...

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表