9.5.1 脉冲累加的基本含义
与脉冲累加功能相关的引脚
外部引脚为P0~P3
脉冲累加的含义
脉冲累加器有两种工作模式
脉冲累加锁存模式
脉冲累加队列模式
9.5.2 脉冲累加寄存器
16位脉冲累加器A控制寄存器(PACTL)
脉冲累加标志寄存器(PAFLG)
16位脉冲累加器B控制寄存器(PBCTL)
脉冲累加器B标志寄存器(PBFLG)
脉冲累加器计数器3~0(PACN3~PACN0)
输入脉冲累加器控制寄存器(ICPAR)
8位脉冲累加器保持寄存器3~0(PA3H~PA0H)
16位模数减1计数器控制寄存器(MCCTL)
16位模数减1计数器标志寄存器(MCFLG)
9.5.3 脉冲累加器编程C语言程序实例(MCU方程序)
定时器脉冲累加器编程C语言程序实例主程序(main.c)
第1步:禁止总中断
第2步:芯片初始化
第3步:模块初始化(串行通信初始化、脉冲累加器初始化)
第4步:内存初始化
第5步:开放总中断
第6步:等待中断,将计数值发送给PC机
第7步:转第6步
定时器脉冲累加器A初始化子程序(PA.c)
第1步:禁止总中断
第2步:设置单独使用脉冲累加器的条件
第3步:设置脉冲累加方式
第4步:选择脉冲累加器计数器加1操作的触发条件
第5步:设置中断条件
第6步:启用脉冲累加器A
第7步:开放总中断
脉冲累加器计数器中断编程C语言程序例向量表文件(vectors.c)
void ( * const vector[])() = {
ISR_Empty, //ff80(保留)
… …
ISR_PA, //ffda(脉冲累加输入边缘)
ISR_PAOV, //ffdc(脉冲累加器A溢出中断)
… …
_start //fffe(复位)
};


