单片机同时用两个计数器
时间:10-02
整理:3721RD
点击:
单片机同时用两个计数器,T0 计时,T1计数,T0的中断优先级比T1的高,在T0计时的同时,一直不让T1计满发生中断。这样在计时时间内计数,各位大大,这想法行不?
当然可以,我想你更担心的是计数的那个定时器会溢出吧?! 可以这样做:
高优先级定时器中断
{
计时
}
低优先级定时器中断
{
赋初值
num++;
}
if(定时时间到)
{
计时次数=num*溢出时的计数的次数 + 当前计数的次数;
}
m3,和m4都可以的,
没看懂,如果不想让T1发生溢出中断,那就在T0里面清除T1的计数值就OK
小编用什么单片机?、
设置T1溢出值,计算溢出次数,就可以了
普通的51
我的意思就是让单片机在计时的同时计数,计时时间到了把计数值取出来
嗯差不多就是这样
低优先级中断和高优先级中断同时到达不会响应低优先级中断,所以一开始就不让低优先级溢出,产生中断。通过检测计数值达到某个数值后,重置计数值。
学习一下 相关经验
我之前做了一个电机测速的程序,就是测定规定时间内的转数,应该跟你说的一个意思,对于T1,计一个数,进行一次中断,在中断程序里记录数据,最后T0时间到,直接处理数据就完了,应该不用你说的那么复杂吧
51基本没概念了,都在用arm的
确实差不多 ,本来就不是很复杂的东西