单片机,定时器和计数器怎样同时工作?
T0做定时器,定时1S,T1做计数器,计算在一秒钟内有几个脉冲通过。应该怎样实现~?可以的话,讲得详细一些,多谢!...
T0做定时器,定时1S,T1做计数器,计算在一秒钟内有几个脉冲通过。
应该怎样实现~?
可以的话,讲得详细一些,多谢! 展开
应该怎样实现~?
可以的话,讲得详细一些,多谢! 展开
3个回答
展开全部
问题很奇怪,如果只是要T1和T0同时计时和计数的话很简单,只要写TMOD控制寄存器就行了,当然其他的比如EA、ET0等也要打开来开中断。
比如 :MOV TMOD,#62H
那么,T1和T0都是工作在方式2,T1计数,T0计时。
但是,有个问题,那就是写TH0、TL0等的时候,也就是定时一秒时输入的数值要按照单片机的晶振来计算的,晶振频率乘以寄存器的数值才是定时时间......那么,你输入的数不就是脉冲数了么,难道你还到哪里去找脉冲。
如果是外部脉冲的话也不是不行,但那要用到外部中断INT0和INT1,也许你用的是外部脉冲,这样接INT0应该能行
比如 :MOV TMOD,#62H
那么,T1和T0都是工作在方式2,T1计数,T0计时。
但是,有个问题,那就是写TH0、TL0等的时候,也就是定时一秒时输入的数值要按照单片机的晶振来计算的,晶振频率乘以寄存器的数值才是定时时间......那么,你输入的数不就是脉冲数了么,难道你还到哪里去找脉冲。
如果是外部脉冲的话也不是不行,但那要用到外部中断INT0和INT1,也许你用的是外部脉冲,这样接INT0应该能行
展开全部
^_^,T0和T1是两个不同的人,你让T0给你掐秒表,让T1个你计个数,不就可以了
T0说有一秒了,你马上去问T1,你计了几个
^_^
T0说有一秒了,你马上去问T1,你计了几个
^_^
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上的很生动。其实楼主没有明白单片机里计数的含义。为什么你要用T1计数?
定义一个值B。T0定时,然后每次进中断后,B加一,回头想看脉冲数,看B的值不就行了。
用T1记的话,方法很麻烦,也很笨。
定义一个值B。T0定时,然后每次进中断后,B加一,回头想看脉冲数,看B的值不就行了。
用T1记的话,方法很麻烦,也很笨。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询