定时器0和1会不会冲突了,定时器1的时间变得很快

2019-07-15 17:46发布

我在写一个室温调控的程序同时用到了定时器0和1。定时器1用的是工作方式1,定时器0用的是工作方式2,(初始化不启动定时器1,在程序后边在启动定时器1,         ET1=1;TR1=1;)。可是定时器1,溢出时间变快了 ,好像是        TMOD=0x10;        TMOD=0x02;冲突了?怎么回事啊?我把TMOD=0x10;删了,结果还是不变。
实在弄不明白了 请大神指教。
        EA=1;
        TMOD=0x10;//定时器T1初始化
        TH1=0x3c;
        TL1=0xb0;

        TMOD=0x02;
        TH0=0x00;        //定时器T0初始化
        TL0=0x00;
        ET0=1;
        TR0=1;
室温调控.zip 下载积分: 积分 -1 分
70.24 KB, 下载次数: 24, 下载积分: 积分 -1 分
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
joinking
2019-07-17 09:29
本帖最后由 joinking 于 2015-3-5 16:12 编辑
魏东 发表于 2015-3-5 15:55
按你说的改了  ,可是t1变慢了 大概一分钟变成一分十几秒 了。
后来我发现是优先级问题 t1的优先级比t0和 ...

优先级不是什么大问题,主要是你在中断服务函数里面处理数据,一般不会再中断里面处理数据的,建议你在中断服务函数里面给标志位,在主函数里面处理。除非一定要在中断服务函数处理数剧

一周热门 更多>