51单片机两个定时器一起用,该怎么设置啊?

我用的是AT89c51单片机,需要使用两个定时器分别计时,但是怎么发现程序运行时,定时器0的时间慢了很多呢?我不知道同时用两个定时器需要不需要什么特殊设置啊?我的定时器0... 我用的是AT89c51单片机,需要使用两个定时器分别计时,但是怎么发现程序运行时,定时器0的时间慢了很多呢?我不知道同时用两个定时器需要不需要什么特殊设置啊?
我的定时器0
void timer0()interupt1 using0
定时器1
void timer1()interupt3 using1
展开
 我来答
伽罗林克
推荐于2017-10-11 · TA获得超过2634个赞
知道小有建树答主
回答量:931
采纳率:0%
帮助的人:1192万
展开全部
两个定时器使用没有什么特殊设置,但是有一个经验你必须明白,中断里面重新对定时器赋值的操作必须放在中断处理的头端,否则会有一个整个中断处理的时间延时。如:
void timer1()interupt3 using1
{
... //如果这里的...程序段太长,那么每次中断就慢了处理这段程序的时间
TH1=0X..
TL1=0X..
... //如果把处理程序放在这里,那么慢的是2个指令周期(重载)
}
所以时间要求特别严格的程序,一般建议使用方式2自动载入。
百度网友d4ed3b5d6
2009-04-27 · 超过33用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:101万
展开全部
这是必然的。
如果想延时少点,就把定时器里的程序移到main函数里,在定时器里运行时间少点就不会慢很多了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友74c9ab2
2009-04-27 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:108
采纳率:0%
帮助的人:84.2万
展开全部
当你问了这个问题,就说明你要好好把就教科书看一下了
最基础的教材上有你要的答案,自己搜索下吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式