单片机 定时器 中断
时间:10-02
整理:3721RD
点击:
在51单片机中,使用定时器。定时时间到后,执行主程序。在执行主程序的过程中,定时器是不是又开始计时,还是停止计时,等待主程序执行完了,然后再开始计时呢?如果主程序执行的时间大于定时器定时的时间,当第一次定时器中断来时,主程序执行,但是到定时器第二次定时中断来时,假设主程序没有执行完了。那么现在主程序该怎么执行呢?
只要设定的时间一到就进入你的定时器中,执行完后再回跳入定时器前的那条语句
如果定时器执行的时间大于定时器的时间则一直在定时器中
关键是主程序执行的时间大于定时器的定时时间,那么在主程序执行中,定时中断来了,应该从头执行吗?还是主程序执行时,定时器先停止,不起作用,等待主程序执行完了,才开始定时?你的意见呢
谢谢分享谢谢分享
谢谢分享谢谢分享
那么在主程序执行中,定时中断来了,应该从头执行吗? :定时器中断来了,是在定时器中得指令从头执行到定时器中的最后一条语句
还是主程序执行时,定时器先停止,不起作用,等待主程序执行完了,才开始定时? :定时器是不会停止得,除非你关闭了定时器。他是一直在执行到了时间就进入定时器,
就跟c中得调用差不多
晕 不管你执行到哪里 中断来的时候 进入中断程序时 不是要重新装初值么TH0=(65536-X)/256;TL0=(65536-X)%256 重新装初值之前不是要先关掉定时器么TR0=0;(所以啊 进入中断时 定时计数器是停止计时的。)
中断程序执行到末尾的时候才重新打开定时计数器TR0=1; 当跳出中断的时候计数器重新开始计时 从中断直接跳到主程序之前被中断的地方继续执行 你的原话“定时时间到后,执行主程序。” 这个说法有问题啊 主程序是正事 中断只是意外事件 应该是执行主程序的过程中穿插中断事件 你不能中断事件中穿插主程序吧 这不本末倒置了吗
谢谢分享的好资料
所以说,在执行中断程序时,定时器还是在计时吗