单片机,定时器和计数器怎样同时工作?

来源:百度知道 编辑:UC知道 时间:2024/06/06 07:02:32
T0做定时器,定时1S,T1做计数器,计算在一秒钟内有几个脉冲通过。
应该怎样实现~?
可以的话,讲得详细一些,多谢!

楼上的很生动。其实楼主没有明白单片机里计数的含义。为什么你要用T1计数?

定义一个值B。T0定时,然后每次进中断后,B加一,回头想看脉冲数,看B的值不就行了。

用T1记的话,方法很麻烦,也很笨。

问题很奇怪,如果只是要T1和T0同时计时和计数的话很简单,只要写TMOD控制寄存器就行了,当然其他的比如EA、ET0等也要打开来开中断。
比如 :MOV TMOD,#62H
那么,T1和T0都是工作在方式2,T1计数,T0计时。
但是,有个问题,那就是写TH0、TL0等的时候,也就是定时一秒时输入的数值要按照单片机的晶振来计算的,晶振频率乘以寄存器的数值才是定时时间......那么,你输入的数不就是脉冲数了么,难道你还到哪里去找脉冲。
如果是外部脉冲的话也不是不行,但那要用到外部中断INT0和INT1,也许你用的是外部脉冲,这样接INT0应该能行

^_^,T0和T1是两个不同的人,你让T0给你掐秒表,让T1个你计个数,不就可以了
T0说有一秒了,你马上去问T1,你计了几个
^_^