第5节 定时器模块的脉冲累加功能
推荐给好友
打印
加入收藏
更新于2008-08-29 01:10:47

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(复位)
};

<<上一节 下一节>>

相关链接


 
关于我们 | 诚邀加盟 | 客户服务 | 相关法律 | 网站地图 | 友情链接 | 服务信箱:service@eefocus.com
© 2006 与非门科技信息咨询(北京)有限公司 All Rights Reserved.