打印
[技术问答]

关于SC92F8003 T2用作计数器的一些疑问?

[复制链接]
956|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
看手册,好像这颗芯片用作计数器的时候,必须和外部引脚配合才能使用?T2就要用P1.1,搞不懂,这样的计数模式怎么去获取某些IO的脉宽?它不像其他51单片机?求解?

使用特权

评论回复
评论
NickyGrout 2019-9-17 19:19 回复TA
计数器这样才正常吧。其它51是指那些带PCA的吧,这是带PWM模块,同样也得PWM模块相应的引脚才能用吧。或者是引脚复用的。 难道还有可以任意引脚都能触发内部计算器的51MCU? 

相关帖子

沙发
Peter6699|  楼主 | 2019-9-16 11:19 | 只看该作者
本帖最后由 Peter6699 于 2019-9-16 11:26 编辑

T2MOD = 0x00;        
T2CON = 0x02;
TR2 = 0;                                                                                
ET2 = 0;                                                                                
T2=1;//和上面的意思一样
然后在需要获取的地方加入
TH2 = 0;  //清零T2计数初值
TL2 = 0;TR2 = 1;  //启动T2计数
获取完了以后再关闭T2计数
TR2 = 0;  //停止T2计数
然后读取TH2*256 + TL2
发现都是0

使用特权

评论回复
板凳
赛元MCU3| | 2019-9-16 15:48 | 只看该作者
T2用作计数器时 ,只能对P1.1口进行脉宽计数,T2计数器的来源为P1.1管脚的输入脉冲。

使用特权

评论回复
地板
YanniChen| | 2019-9-16 17:20 | 只看该作者
我理解的你应该是像捕获一个脉宽的宽度吧;两个思路 1、用TIMER2的捕获功能,优点是捕获的脉宽准确,缺点是只能只能捕获T2EX上的波形,  2,使用定时器加外部中断功能,第一个外部中断来了打开定时器,下一个外部中断来了关闭定时器,读取差值,缺点是有误差,进入中断耗时,优点是测量的信号可以从多个IO进来,只能那个口上有外部中断功能

使用特权

评论回复
评论
YanniChen 2019-9-17 09:19 回复TA
@Peter6699 :捕获只能是下降沿,也就是捕获的是周期,不能知道高电平多长,低电平多长,你是要做检测红外信号吧,可以用外部中断,开启双边沿中断,第一个中断来了,判断是下降还是上升,然后就知道当前是高电平还是低电平,然后开启定时器,到下一次中断,这中间的间隔就是这个脉冲的宽度,如果脉冲频率很慢,则要考虑定时器溢出; 
Peter6699 2019-9-16 18:03 回复TA
它的捕获好像只是上升沿还是下降沿?好像只能抓取一个 
5
Peter6699|  楼主 | 2019-9-16 18:02 | 只看该作者
赛元MCU3 发表于 2019-9-16 15:48
T2用作计数器时 ,只能对P1.1口进行脉宽计数,T2计数器的来源为P1.1管脚的输入脉冲。
...

如果用P1.1,它的计数的脉宽准确吗?比如一个高1ms,低5ms的波形?能不能准确的抓到?

使用特权

评论回复
评论
knk 2019-9-17 22:08 回复TA
只能捕获一个周期的宽度,捕获的是频率,不是高电平或低电平的宽度。 
6
YanniChen| | 2019-9-17 09:12 | 只看该作者
Peter6699 发表于 2019-9-16 18:02
如果用P1.1,它的计数的脉宽准确吗?比如一个高1ms,低5ms的波形?能不能准确的抓到? ...

你想要的功能是定时器的捕获功能,捕获脉冲,而你问的是计数器的功能,计数器是来一个脉冲+1;它不知道脉宽,只知道有一个脉冲;而你想要捕获脉宽只能是用捕获功能

使用特权

评论回复
7
Peter6699|  楼主 | 2019-9-17 09:54 | 只看该作者
本帖最后由 Peter6699 于 2019-9-23 14:38 编辑
YanniChen 发表于 2019-9-17 09:12
你想要的功能是定时器的捕获功能,捕获脉冲,而你问的是计数器的功能,计数器是来一个脉冲+1;它不知道脉 ...

多谢兄弟

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

40

帖子

1

粉丝