首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

求脉冲累加初始化程序?

求脉冲累加初始化程序?

自己编了一个脉冲累加的程序,但是一直不能记脉冲,请版主发一个初始化的程序。我用的是MC9S12DG128芯片,想做一个16位的脉冲累加。

PS:我要将PT0和PT1级联,输出16位的,脉冲应该从哪个口输入,PTO还是PT1,怎么设置?
如果用PACB做脉冲累计器的话,使用应该非常简单,甚至都不用开启定时器。只需用TCTL4中的EDG0B和EDG0A位设置有效沿,再用PBCTL开启PACB和中断即可。外部脉冲从PT0输入。你可以先做一个最简单的project试试。
海纳百川  有容乃大
谢谢!
那如果要用PACA做脉冲累加器呢,到时我们可能要用两个16位的?
PACA用起来就比较麻烦一些,因为它的功能更加强大。它必须与定时器合用,而且即可以对外部脉冲计数,也可以根据外部电平宽度对内部总线频率计数。请现看一下ECT的数据手册吧。
海纳百川  有容乃大
我看了,但是有些没太弄明白,你能给我发个例程吗?PACA的。谢谢了!
你可以参考一下这个初始化程序:

void PACA_init(void)
{
PACTL = 0; /* PACTL: ??=0,PAEN=0,PAMOD=0,PEDGE=0,CLK1=0,CLK0=0,PAOVI=0,PAI=0 */
TSCR1 &= ~0x70; /* TSCR1: TSWAI=0,TSFRZ=0,TFFCA=0 */
DLYCT = 0; /* DLYCT: ??=0,??=0,??=0,??=0,??=0,??=0,DLY1=0,DLY0=0 */
ICSYS &= ~0xF7; /* ICSYS: SH37=0,SH26=0,SH15=0,SH04=0,PACMX=0,BUFEN=0,LATQ=0 */
ICOVW &= ~0x80; /* ICOVW: NOVW7=0 */
TIOS &= ~0x80; /* TIOS: IOS7=0 */
PERT &= ~0x80; /* PERT: PERT7=0 */
PACN32 = 0;
PACTL = 0x52; /* Set up pulse accumulator mode */
/* PACTL: ??=0,PAEN=1,PAMOD=0,PEDGE=1,CLK1=0,CLK0=0,PAOVI=1,PAI=0 */
}
海纳百川  有容乃大
返回列表