增强型定时器ECT模块

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
➢ 输入捕捉寄存器的值将锁存到相应通道的保持寄 存器中,并将输入捕捉寄存器的值清零。
队列方式
➢ TCx 与 TCxH 形成了一个类似先进先出的 队列,每个捕捉结果从 TCx 进入,然 后随 着下一个捕捉结果的到来移入 TCxH。
➢ 程序可以从 TCxH 取得结果,也可以直接 从 TCx 取得捕捉结果。
ECT控制寄存器1(TSCR1)
必须设置TSCR1才可以使主定时器工作,需要在ECT模块初始化 时就设置好。
➢TEN=1:主定时器使能。0=主定时器禁止,进入低功耗状态。 ➢TSWAI=0:等待模式时主定时器继续工作,方便调试。0= 停止工作。 ➢TSFRZ=0:冻结模式时主定时器继续工作。0=停止工作。 ➢TFFCA=0:自动清除标志位。1=手动清除。
增强型定时器ECT模块
MC9S12系列单片机增强型定时器模块是在标准定时 器模块的基础上添加了新的功能。
定时器的核心是一个16位的可编程计数器,计数的 频率可以通过分频来调整。
用途很多
➢ 普通定时器的工作,例如脉冲计数、定时等 ➢ 可以用来测量输入的脉冲宽度 ➢ 产生我们需要的脉冲波形。
ECT模块的组成:
有8个输入捕捉输出比较通道。共有8个外部引 脚,分别为IOC0—IOC7,与PORTT复用。
通过选择TIOS寄存器的IOSx位可以选择是输出 比较还是输入捕捉。
对于输入捕捉:
➢ 道
不带缓冲的输入捕捉通道
➢ 8个输入捕捉,其中4个(PT4~PT7)带有 一个捕捉寄存器用来记录管脚上电平变化 时自由计数器的锁存值。
➢ 原理是:输出比较寄存器的值和计数器的值每 隔4个总线周期比较一次,当两个值相等的时候, 会在该通道的引脚上输出预先规定的电平。
➢ 如果输出比较中断允许,还会产生一个硬件的
定时中断。
计数器时钟
➢ 输出比较最简单和最常用16的位计功数器能就是产生一定
间隔的脉冲。
16位输出比较寄存器
比较器
输入捕捉/输出比较通道
模数递减计数器
16 位递减模数计数器(MDC)可以用作 时钟基准,产生周期性的中断请求。
也可用于将 IC 寄存器和脉冲累加器的 值锁存到各自的保持寄存器中。
模数递减计数器(MCCNT) 模数递减标志寄存器(MCFLG) 模数递减控制寄存器(MCCTL) 模数计数器由初值递减,递减到0时,会产生相应
本例设置TSCR1=0x80。
ECT控制寄存器二(TSCR2)
TOI:禁止定时器溢出中断。1=允许。 TCRE:定时计数器复位允许 。0=禁止复位,计数器 自由计数。1=允许复位。
➢进行完一次输出比较时,可以使定时计数器复位 PR2、PR1、PR0:预分频因子选择
流水灯的显示
void TimerOverflow(void) {
在中断程序中,需
要清除相应的中断 标志位(MCFLG), 并将中断次数减1, 当中断次数减为0时, 一次延时就完成了。
三个例子
❖ 举三个例子讲述本节内容 流水灯显示 使用输入捕捉功能,对外来脉冲进行计数 使用输出比较功能,输出一个具有一定宽 度的高电平脉冲
ECT计数寄存器( TCNT )
TCNT为自由计数器的计数值,本例通过读取它的 值实现延时。 这是一个16位的加法计数器,最大值为65535。 任意时刻可读,正常模式下写操作无效。
的中断。 递减频率由总线时钟经分频得到。 初值可以由用户写入
在模数模式允许后(MODMC=1),向模数递 减计数器的写操作会更新预置数的值,模数计 数器递减到0时,就会装载最新的预置数,
装载的操作也可以由置MCCTL寄存器的FLMC 位为1来强制执行。
总定时时间=预置数×总线周期×中断次数
unsigned char i=1,j=0x80; while((i!=0)&&(j!=0)) { PORTA=(i|j); i<<=1; j>>=1; while(TCNT!=0x0000); //延时 while(TCNT==0x0000); } } void main(void) { EnableInterrupts; TSCR1=0x80; //定时器使能 TSCR2=0x07; //分频系数为128 DDRA=0xff; PORTA=0xff; for(;;) { TimerOverflow(); } }
捉到特定的沿跳变后,把计数寄存器当前的值
锁存到通道寄存器。
计数器时钟
16位计数器
如果输入捕捉控制寄存器中设定允许输入捕捉
中断,系触统发事会件产生触发一沿次选择输入1捕6位捉捕捉中锁存断器 ,利用中
断处理程序可以得到事件发生的时刻或信号发
输出比较
在特定的时刻在管脚上输出特定电平,用来控 制外电路工作。
➢ 1个预分频器
➢ 1个16位自由运行计 数器
➢ 8个16位IC/OC通道
➢ 2个16位(4个8位) 脉冲累加器
➢ 1个16位模数递减计 数器
输入捕捉
输入捕捉功能是用来监测外部的事件和输入信
号。
当外部事件发生或信号发生变化时,在指定的
输入捕捉引脚上发生一个指定的沿跳变(可以
指定该跳变是上升沿还是下降沿)。定时器捕
➢ 捕捉寄存器TCx ➢ 当输入覆盖控制寄存器(ICOVW)的
NOVWx位清0时,每发生一次输入捕捉, 新的计数器的值就会覆盖原来的输入捕捉 寄存器的内容;
带缓冲的输入捕捉通道 PT0~PT3是带缓冲的输入捕捉通道。 ➢ 捕捉寄存器TCx ➢ 保持寄存器TCxH 。
✓ 可以在不产生中断的情况下,连续记录两次自由 计数器的值。
➢ 入口设置了延迟计数器
✓ 用来提高抗干扰能力
两种工作模式:( TCx 到保持寄存器 TCxH )
❖ 锁存方式: ➢ 每个有效的引脚事件只将自由定时器的值放入捕 捉寄存器 TCx,而 TCx 到保持寄存器 TCxH 的传 送必须依赖强制锁存命令才能实现
✓ 当模数计数器减为“0” ✓ 向模数计数器写入“$0000” ✓ 写强制锁存位ICLAT(输入控制系统控制寄存器ICSYS)
脉冲累加器
4 个 8 位的通道 PAC0-PAC3 组成 可以通过级联形成两个 16 位通道 PACA、PACB 通过检测相应管脚上的有效边缘来记录脉冲的个数。 各通道的 8 位累加器与 4 个缓冲 IC 通道相关联的,
它们共享边沿检测与延迟电路。
两种工作模式 锁存方式: ❖通过锁存命令,将脉冲累加计数器的值锁 存到相应通道的保持寄存器中 队列方式 ❖当读取某通道保持寄存器的值时,相应脉 冲累加器的值将被写入保持寄存器。
相关文档
最新文档