我在写一个室温调控的程序同时用到了定时器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 分
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
32个数据处理,一句执行时间你给它5us的话在外部中断那里就用了至少160us,具体肯定比这个时间大,当出现外部中断还没处理完又来一个外部中断,你的红外发射解码就出问题了。如果你要看到底用了多长时间,你新建一个工程仿真一下,测试一下这个外部中断处理函数到底用了多长时间,
一周热门 更多>