智能车制作
标题:
关于脉冲累加器中的PACNT
[打印本页]
作者:
民大新手
时间:
2010-7-23 16:29
标题:
关于脉冲累加器中的PACNT
昨天刚看完输出比较,今天来看脉冲累加器,自己写程序试了一下,却发现 S12 系列的书中所写的脉冲累加器计数寄存器如:PACN32,PACN10还有普遍的PACNx(X=0~3),在程序编译时都说不存在,只看到一个近似的PACNT,却不知道怎么用。各位能帮忙解释一下若要用与PACNx功能相同的寄存器,应该怎么写啊?还有这个PACNT又该怎么用呢?多谢各位啊!
作者:
民大新手
时间:
2010-7-23 20:24
我用的芯片是S12XS的。
作者:
ty23lovety23
时间:
2010-10-24 21:01
我也各种不懂,但是PACNT10是PACN1和PACN0联级之后的和PACNT类似的计数寄存器,PACN32同理
作者:
s614857575
时间:
2011-3-23 14:54
作者:
a086711
时间:
2011-3-24 11:44
因为xs128中只有脉冲累加器A,取消了脉冲累加器b和模数递减器,增加了PIT
作者:
kimzheng
时间:
2011-3-24 13:46
PACNT是核心计数器16位的 xs128只有1个可以用也就是 PT7口
DG128有两个 至于你想要看多么详细 那还是看官方的XS128资料吧
作者:
ll575838999
时间:
2011-4-1 13:06
因为你看的资料是DG128的,而XS128的芯片没有该功能,只有一个PA脉冲累加器
作者:
云中水
时间:
2011-4-8 20:25
XS和DG不一样了,只有脉冲累加器A
作者:
云中水
时间:
2011-4-8 20:26
XS128中的脉冲累加器和DG128的很不一样。相对DG128来说,XS128的脉冲累加器大大简化了,其中只有三个寄存器需要设置:PACTL、PAFLG、PACNT。
16位脉冲累加器PACT与IOC7共用一个引脚。顾名思义,脉冲累加器就是对有效边沿(上升沿或下降沿)进行计数,然后把计数的值保存在寄存器PACNT中。寄存器PACTL是16位脉冲累加器的核心,几乎所有的设置都是在这个寄存器中。
接下来解剖一下这个核心寄存器PACTL:
PAEN:脉冲累加器允许位,置1,则工作。置0,则禁止。PAEN与TEN无关,定时器TEN禁止时,脉冲累加器仍可以工作。
PAMOD:工作方式选择位。置1,为门控时间累加器方式。置0,为事件计数器方式。
门控时间累加器方式:输入引脚上的有效电平会触发脉冲累加器对64分频后的时钟进行计数。
事件计数器方式:脉冲累加器对引脚上的每个有效边沿计数。引脚上每产生一个有效边沿,脉冲累加器计数器的值就会加1。
PEDGE:边沿跳变控制位。它的功能和脉冲累加器的工作方式有关。如下表:
(0 0):事件计数器方式,下降沿有效
(0 1):事件计数器方式,上升沿有效
(1 0):门控时间累加器方式,IOC7引脚上的高电平使64分频后的总线时钟输入到脉冲累加器中。
(1 1):门控时间累加器方式,IOC7引脚上的低电平使64分频后的总线时钟输入到脉冲累加器中。
CLK0~CLK1:时钟选择位。其功能如下表:
(0 0):使用TIM中分频后的定时器时钟作为计数时钟
(0 1):选PACLK作为计数时钟
(1 0):选PACLK/256作为计数时钟
(2 1):选PACLK/65536作为计数时钟
其中PACLK是对总线时钟进行64分频后的时钟。
PAVOI:脉冲累加器溢出中断允许位。置1,则允许中断产生。置0,则禁止中断。
PAI:脉冲累加器输入中断允许位。置1,则允许中断产生。置0,则禁止中断。
标志寄存器PAFLG:
PAVOF:当脉冲累加器溢出时,此位置1。如果有PAVOI=1时,则产生中断。向该位写1,可以清除标志位。
PAIF:当在IOC7引脚上检测到选定的边沿跳变,此位置1。在事件计数方式下,事件沿跳变会使该位置位。在门控时间累加器方式下,IOC7引脚上门控信号的最后一个下降沿使该位置位。对其写1,可以清除标志位。
计数寄存器PACNT:
作者:
wuxingcfchen
时间:
2011-4-17 19:33
芯片型号选错了吧
作者:
诗雨依然
时间:
2011-4-23 17:10
顶
作者:
455576750
时间:
2011-5-8 16:16
其实原理差不多,就是保存最终计数值到16位的PACNT中,设置初值时给PACNT初值就可以了,例如PACNT=0x00;然后就是注意相关的PACTL的具体设置
作者:
freezing189
时间:
2011-5-10 21:06
懂了 谢谢
作者:
iloveautomation
时间:
2011-5-19 17:48
作者:
excellentlizhen
时间:
2011-9-20 15:52
hao
作者:
jayce
时间:
2011-10-12 19:27
7楼,说的有道理~
作者:
海鹏
时间:
2011-11-5 13:16
学习了
作者:
我是北丐
时间:
2012-2-14 21:57
顶
作者:
xinhuaH
时间:
2012-2-15 15:12
我只知道PACNT是用来计脉冲数的,直接读取就可,读完后记得清零,即:PACNT=0X0000
作者:
lidreamer
时间:
2012-3-22 11:44
云中水 发表于 2011-4-8 20:26
XS128中的脉冲累加器和DG128的很不一样。相对DG128来说,XS128的脉冲累加器大大简化了,其中只有三个寄存器 ...
学习了..
.....
作者:
与人狼
时间:
2012-4-3 16:31
嗯嗯
作者:
晨景的风
时间:
2012-7-12 03:11
作者:
涛韬
时间:
2012-7-19 21:52
测速的接到PT0口,能解决测速问题?
作者:
早安,徐威
时间:
2012-11-28 16:42
楼主现在搞清楚没有?
作者:
zhifu
时间:
2014-11-16 17:00
云中水 发表于 2011-4-8 20:26
XS128中的脉冲累加器和DG128的很不一样。相对DG128来说,XS128的脉冲累加器大大简化了,其中只有三个寄存器 ...
回答的
好专业!!!
作者:
空有一人
时间:
2015-1-18 21:27
学习了
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2