最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

飞思卡尔MC9S12XS128(定时器)ECT寄存器详解

IT圈 admin 18浏览 0评论

2024年5月16日发(作者:钱思松)

西北民族大学

1、定时器IC/OC功能选择寄存器TIOS

IOS[7..0]IC/OC功能选择通道

0 相应通道选择为输入捕捉(IC)

1 相应通道选择为输出比较(OC)

2、定时器比较强制寄存器 CFORC

FOC[7..0]设置该寄存器某个FOCn位为1将导致在相应通道上立即产生一个输出比较动作,在

初始化输出通道时候非常有用。

【说明】这个状态和正常状态下输出比较发生后,标志位未被置位后的情况相同。

3、输出比较7屏蔽寄存器 OC7M

OC7M[7..0]OC7(即通道7的输出比较)具有特殊地位,它匹配时可以直接改变PT7个输出引脚的

状态,并覆盖各个引脚原来的匹配动作结果,寄存器 OC7M决定哪些通道将处于

OC7的管理之下。OC7M中的各位与 PORTT口寄存器的各位一一对应。当通过

TIOS将某个通道设定为输出比较时,将 OC7M中的相应位置 1,对应的引脚就是输

出状态,与 DDR中的对应位的状态无关,但 OC7Mn并不改变 DDR相应位的状

态。

【说明】OC7M具有更高的优先级,它优于通过 TCTL1和 TCTL2寄存器中的 OMn和 OLn

设定的引脚动作,若 OC7M中某个位置 1,就会阻止相应引脚上由 OM和 OL设定的动作。

电子设计工作室

1

西北民族大学

4、输出比较7数据寄存器 OC7D

OC7D[7..0]OC7M对于其他 OC输出引脚的管理限于将某个二进制值送到对应引脚,这个值保

存在寄存器 OC7D中的对应位中。当 OC7匹配成功后,若某个 OC7Mn=1, 则内部

逻辑将 OC7Dn送到对应引脚。OC7D中的各位与 PORTT口寄存器的各位一一对

应。当通道 7比较成功时,如果 OC7M中的某个位为 1,OC7D中的对应位将被输

出到 PORTT的对应引脚。

【总结】通道7的输出比较(OC7)具有特殊的位置,在OC7Mn和OC7Dn两个寄存器设置以后,

OC7成功输出后将会引起一系列的动作。比如:OC7M0=1,则通道0处在OC7的管理

下,在OC7成功后,系统会将OC7D0的逻辑数据(仅限0或者1)反应在PT0端口上。另

外,在OC7Mn置位后,相应的引脚就被设置为输出引脚,与DDRTn无关了,OC7Mn

并不改变 DDR相应位的状态。

5、定时器核心计数寄存器 TCNT

TCNT[15..0]XS128 Timer模块的核心是一个16位自由运行计数器(TCNT),所有输入捕捉和输

出比较功能的计时信息都来源于TCNT,当定时器系统启用时,通过设置TSCR1的

TEN位,计数器从$0000开始,每经过一个模块时钟加1,直到加到$FFFF,然后自动

溢出为$0000并继续计数.16位自由记数器的当前值保存在两个8位寄存器中,高

的存在TCNTH,低的存在TCNTL中.综合这两个寄存器就形成TCNT.定义TCNT的

话,要定义为word型。

【说明】这里的模块时钟指的是,经过分频后的ECT模块所用的时钟,分频系数在TSCR2的低

三位。TCNT是一个递增的计数器,有很多人一直把它当做是递减的计数器。总之,TCNT就是

对ECT时钟进行计数的。

电子设计工作室

2

2024年5月16日发(作者:钱思松)

西北民族大学

1、定时器IC/OC功能选择寄存器TIOS

IOS[7..0]IC/OC功能选择通道

0 相应通道选择为输入捕捉(IC)

1 相应通道选择为输出比较(OC)

2、定时器比较强制寄存器 CFORC

FOC[7..0]设置该寄存器某个FOCn位为1将导致在相应通道上立即产生一个输出比较动作,在

初始化输出通道时候非常有用。

【说明】这个状态和正常状态下输出比较发生后,标志位未被置位后的情况相同。

3、输出比较7屏蔽寄存器 OC7M

OC7M[7..0]OC7(即通道7的输出比较)具有特殊地位,它匹配时可以直接改变PT7个输出引脚的

状态,并覆盖各个引脚原来的匹配动作结果,寄存器 OC7M决定哪些通道将处于

OC7的管理之下。OC7M中的各位与 PORTT口寄存器的各位一一对应。当通过

TIOS将某个通道设定为输出比较时,将 OC7M中的相应位置 1,对应的引脚就是输

出状态,与 DDR中的对应位的状态无关,但 OC7Mn并不改变 DDR相应位的状

态。

【说明】OC7M具有更高的优先级,它优于通过 TCTL1和 TCTL2寄存器中的 OMn和 OLn

设定的引脚动作,若 OC7M中某个位置 1,就会阻止相应引脚上由 OM和 OL设定的动作。

电子设计工作室

1

西北民族大学

4、输出比较7数据寄存器 OC7D

OC7D[7..0]OC7M对于其他 OC输出引脚的管理限于将某个二进制值送到对应引脚,这个值保

存在寄存器 OC7D中的对应位中。当 OC7匹配成功后,若某个 OC7Mn=1, 则内部

逻辑将 OC7Dn送到对应引脚。OC7D中的各位与 PORTT口寄存器的各位一一对

应。当通道 7比较成功时,如果 OC7M中的某个位为 1,OC7D中的对应位将被输

出到 PORTT的对应引脚。

【总结】通道7的输出比较(OC7)具有特殊的位置,在OC7Mn和OC7Dn两个寄存器设置以后,

OC7成功输出后将会引起一系列的动作。比如:OC7M0=1,则通道0处在OC7的管理

下,在OC7成功后,系统会将OC7D0的逻辑数据(仅限0或者1)反应在PT0端口上。另

外,在OC7Mn置位后,相应的引脚就被设置为输出引脚,与DDRTn无关了,OC7Mn

并不改变 DDR相应位的状态。

5、定时器核心计数寄存器 TCNT

TCNT[15..0]XS128 Timer模块的核心是一个16位自由运行计数器(TCNT),所有输入捕捉和输

出比较功能的计时信息都来源于TCNT,当定时器系统启用时,通过设置TSCR1的

TEN位,计数器从$0000开始,每经过一个模块时钟加1,直到加到$FFFF,然后自动

溢出为$0000并继续计数.16位自由记数器的当前值保存在两个8位寄存器中,高

的存在TCNTH,低的存在TCNTL中.综合这两个寄存器就形成TCNT.定义TCNT的

话,要定义为word型。

【说明】这里的模块时钟指的是,经过分频后的ECT模块所用的时钟,分频系数在TSCR2的低

三位。TCNT是一个递增的计数器,有很多人一直把它当做是递减的计数器。总之,TCNT就是

对ECT时钟进行计数的。

电子设计工作室

2

发布评论

评论列表 (0)

  1. 暂无评论