打印
[STC单片机]

单片机定时1分钟

[复制链接]
1646|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
明眸|  楼主 | 2015-12-16 15:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我明明设置的1分钟定时后,小灯亮,可实际只有14秒就亮了

void InterruptTimer0() interrupt 1
{
        TH0 = 0xFC;         //50ms
        TL0 = 0x67;
        countt0++;
        if(countt0==20)        //1s
        {
                secondt0++;
                if(secondt0==60)           //1分钟
                {
                        led1=0;
                //        secondt0=0;
                        //PCON=0x02;//进入掉电模式
                }       
        }
}

相关帖子

沙发
ningling_21| | 2015-12-16 15:47 | 只看该作者
一个定时器就能定时1秒吗

你是怎么算的呢

使用特权

评论回复
板凳
明眸|  楼主 | 2015-12-16 15:50 | 只看该作者
ningling_21 发表于 2015-12-16 15:47
一个定时器就能定时1秒吗

你是怎么算的呢

定时器是50ms的,设置20次,就是1s

使用特权

评论回复
地板
明眸|  楼主 | 2015-12-16 15:53 | 只看该作者
是我搞错了,50ms应该是4C00

使用特权

评论回复
5
qq4988| | 2015-12-18 16:27 | 只看该作者
肯定是定时器初值不对,你想着是50MS,可实际上没有50MS

使用特权

评论回复
6
murex| | 2015-12-25 10:42 | 只看该作者
countt0没有清零过啊,计数肯定不对的,应该在countt0 == 20后清零一下

使用特权

评论回复
7
lrhsx33| | 2015-12-25 14:13 | 只看该作者
请看上楼,同时你的基准也有问题 14S基准也许不是50ms而是0.91ms

使用特权

评论回复
8
JY-DX-JY| | 2015-12-25 15:21 | 只看该作者
楼主去哪啦?计数器到了20要清零。

使用特权

评论回复
9
twtyxj| | 2015-12-25 15:38 | 只看该作者
定时器的初始化呢?

使用特权

评论回复
10
cov0xt| | 2015-12-25 19:20 | 只看该作者
除了计数器和秒数用完要清零外,在设计上应该这么写比较好:

if(计数器>=20)

if(秒数>=60)

用以防止,外一越过了20或者60,不执行的情况

使用特权

评论回复
11
gaoxueyan| | 2015-12-28 12:05 | 只看该作者
countt0++;在哪清零

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

138

帖子

5

粉丝