《飞思卡尔PIT模块学习笔记计算机linuxUnix相关计算机windows相关.pdf》由会员分享,可在线阅读,更多相关《飞思卡尔PIT模块学习笔记计算机linuxUnix相关计算机windows相关.pdf(2页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、飞思卡尔 MC9S12XS128 之 PIT 模块学习笔记 PITpeiod interrupt timer,可用于产生周期性中断。PIT 模块基本结构:1)上图中包括 2 个 8 位递减寄存器和 4 个 16 位递减寄存器;2)PITMTLD0 和 PITMTLD1 分别是两个 8 位递减寄存器存储初值的寄存器,如下图所示,初始化时,直接对对应的寄存器赋初值。使用举例:PITMTLD0=240 表示该 8 位递减计数器 TIMER0 从 240 开始减,由于是8 位,最大数可以是 255。3)PITLD0PITLD3 分别是 4 个 16 位递减寄存器存储初值的寄存器,初始化时直接对对应寄存
2、器赋初值。使用举例:PITLD0=20000,表示 16 位计数器 0 从 20000 开始减,最大 65535。4)PITCNT0PITCNT3 分别是 4 个 16 位递减寄存器当前值的存储器;5)计数过程是,首先 8 位递减计数器减到 0 时,对应 16 位递减计数器减 1;6)PFLMT1 和 PFLMT0 是寄存器 PITCFLMT 最后两位,分别置 1 时,表示重启对应 8 位递减计数器。7)PITFLT 后四位是控制重启对应 16 位递减计数器的。如下图所示:8)PITMUX 的后四位是可写的,包括 PMUX0PMUX3,分别是用来控制 4 个 16 位递减寄存器分别与哪个 8
3、位寄存器配合计数。使用举例:PITMUX_PMUX0=1,表示,第 0 个 16 位递减寄存器与第 0 个 8 位寄存器配合工作。8)PITTF 寄存器是递减溢出标志,只有当 16 位计数器和与其复合的 8 位递减计数器都减到零时,PITTF 中对应的标志位自动置 1,然后需要通过软件对该位重新置 0。9)初始化时,先要关闭所有计数通道。通过如下方法:PITCFLMT_PITE=0;10)初始化最主要就是设置 8 位递减计数器和 16 位递减计数器的初值,最终产生的延时按下式进行计算:延时=(8 位初值+1)*(16 位初值+1)/总线频率 11)初始化完成后,要时能对应通道,方法如下:首先通
4、道使能:PITCE_PCE0=1 通道 0 使能;然后中断使能:PITINTE_PINTE0=1 0 通道对应的中断使能;最后模块使能:PITCFLMT_PITE=1 模块使能。别是两个位递减寄存器存储初值的寄存器如下图所示初始化时直接对对应的寄存器赋初值使用举例表示该位递减计数器从开始减由于是位最大数可以是分别是个位递减寄存器存储初值的寄存器初始化时直接对对应寄存器赋初值使用位递减计数器减和是寄存器最后两位分别置时表示重启对应位递减计数器后四位是控制重启对应位递减计数器的如下图所示的后四位是可写的包括分别是用来控制个位递减寄存器分别与哪个位寄存器配合计数使用举例表示第个位递中对应的标志位自动置然后需要通过软件对该位重新置初始化时先要关闭所有计数通道通过如下方法初始化最主要就是设置位递减计数器和位递减计数器的初值最终产生的延时按下式进行计算延时位初值位初值总线频率初始化完成