我在写一个室温调控的程序同时用到了定时器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 分
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
按你说的改了 ,可是t1变慢了 大概一分钟变成一分十几秒 了。
后来我发现是优先级问题 t1的优先级比t0和int0的低,所以才导致变慢的。加了PT1=1;后
t1倒是正常了 ,可t0,好像就不正常了,我的t0是红外遥控用的 ,现在遥控不好使了。
非常感谢您关注我的问题 !
一周热门 更多>