第六章S12定时器模块1.ppt_第1页
第六章S12定时器模块1.ppt_第2页
第六章S12定时器模块1.ppt_第3页
第六章S12定时器模块1.ppt_第4页
第六章S12定时器模块1.ppt_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章定时器 6 1 1定时器模块概述S12定时器模块在标准定时器基础上增加了一些新功能 称为增强型定时器模块 EnhancedCaptureTimerModule ECT 有一下特点 4个具有16位缓冲寄存器 TCnH 的输入捕捉通道 4个8位脉冲累加器可以通过级联形成2个16位的脉冲累加器 PA PB 1个具有4位预分频器的16位递减模数计数器 4个可选的延迟计数器用来增强输入抗干扰能力 S12定时器的基本结构 PT0 PT7 IC0 IC7 OC0 0C7 ICn OCn TCNT 16位计数器 加1 不能任意改变计数值 只读 PA PB 16位脉冲累加器 PB无中断溢出功能 ICO0 ICO7具有中断功能 由CnI控制 CnF标志 重庆大学通信工程学院王毅王永东 PinLogic DelayCounter 输出比较寄存器 输入捕捉寄存器 脉冲累加器PA1 保持寄存器PA1H 保持寄存器TC1H 预分频1 BusClock CH1 预分频2 0 控制逻辑 ControlBits Reset 定时器结构 两个计时基础 MAINTIMER 具有预分频器 分别是1 128输入捕捉 输出比较寄存器 TCn 脉冲累加器PAn输入捕捉 输出比较保持寄存器 TCnHPAnH控制位 控制计时数据打入保持寄存器 与锁存模式相关 6 1 2输入捕捉 输出比较 非缓冲IC通道有4个非缓冲通道 IOC4 IOC7 各自具有一个捕捉寄存器TCn 可以由输入覆盖控制寄存器ICOVW决定捕捉到的数据是否允许被覆盖 缓冲IC通道有4个缓冲通道 IOC0 IOC3 除了各自具有一个捕捉寄存器外 还有一个保持寄存器 可以连续捕捉2次不同时刻的值 可以工作在锁存方式或队列方式 注 锁存方式类似于非缓冲通道 队列方式就是先进先出 6 1 2输入捕捉 输出比较 1 输入捕捉输入捕捉是通过捕获自由运行计数器来监视外部事件 主要用于信号检测 频率测量 脉冲宽度和输入计数 输入捕捉的基本定义 外部事件或信号发生规定变化 主计数寄存器TCNT内容锁存到TCn CnI 1 允许中断 发中断 置标志位CnF记录事件发生的时刻 信号变化的时刻 TCnH可实现两次输入捕捉 产生中断或置位TCNT TCn TCnH 对于带缓冲输入捕捉通道输入锁存模式 LATQ 1 TCNT TCn 事件条件满足自动传送 TCn TCnH 需要 锁存打入信号 由模数计数器定时控制 或强制锁存 输入队列模式 LATQ 0 TCNT TCnTCn TCnH 输入捕捉过程 比较 捕捉单元16位自由运行计数器 16位输入捕捉锁存器TCn 捕捉发生时 状态位置1 向CPU发出中断请求 Edge 沿选择检测 ICx ICxF ICxI 上升 下降沿 可选中断屏蔽 当外部事件发生时 或外部信号输入发生变化时 记录当前时间 TCNT TICx 延时计数器 OR OR 应用 ABS刹车 雷达测距 发动机 引脚 共有8个输入捕捉通道 每个通道有自己的向量表和控制寄存器 输入捕捉的用途对外部信号脉冲 使用中断方法 记录脉冲的个数 管理外部中断手段 时间及中断源 测量信号的周期 重庆大学通信工程学院王毅王永东 2 输出比较 输出比较功能过程 16位自由运行计数器 16位输出比较寄存器比如 0 x5678软件可以修改 引脚控制逻辑 中断请求 OCnF 状态标志位置位 当比较发生时 值相等时 OCnI 共有8个输出比较通道 每个通道有自己的向量表和控制寄存器 用途在特定的时刻输出一个信号 产生周期可控制信号 精确计时 当比较寄存器的值和计数器的值相等时 采取行动比如 当TCNT 0 x5678 TCNT TCn PinOCn 比较器 相等 置位 OR OR 清零 翻转 例 6 1时钟定时设计 定时器时间 预置数 总线周期 预分频系数总线频率2M 周期 1 2000000秒 最大延时时间 65536 1 2000000 128 4 1942秒 预置数 定时时间 总线周期 预分频系数 当 定时时间1秒 总线频率2M 周期 1 2000000秒 预分频 128时预置数 1 2000000 128 156253秒延时 3 15625 468750 1秒延时 1563 INIECT LDAA 80 开定时器TEN 1 WAIT禁止工作STAATSCR1 非快速清标志位LDAA 87 TOI 1 PR 0 2 111STAATSCR2 分频128LDAA 01 通道0中断使能STAATIELDAA FF 设置为输出比较STAATIOSLDAA 00 输出与外界断开STAATCTL2BSETTFLG1 01 清中断标志位RTS Entry LDS SEG END SSTACKCLILDAA F0STAADDRBBSRINIECTLDXTCNTADDX 3 15625STXTC0W LDAA 7fSTAAPORTBBSRDELAY1BRAWORGVirqDC WISRORGVtimch0 DC WISRORGVtimovfDC WISR OVER ISR SEIBSETTFLG1 01 清中断标志LDXTCNTADDX 3 15625STXTC0LDAB 00001010STABPORTBBSRDELAYCLIRTI ISR OVER SEIBSETTFLG2 80 清中断标志LDAB 10011010STABPORTBJSRDELAYCLIRTI 主程序定时溢出 问题 如果TCn送一个固定时间数据 产生中断的时间周期 6 1 3脉冲累加器和模数计数器 1 脉冲累加器功能引脚P0 P4共4个累加器 对应IOC0 IOC4通道 每个通道具有8位累加器PAn及保持寄存器PAnHPA0 PA1 PACB IOC0 PT0 PBCTL PBFLGPA2 PA3 PACA IOC7 PT7 PACTL PAFLG 2 脉冲累加器工作模式 LATQ 1 脉冲锁存模式 PAn PAnH 打入到累加器的条件 MCCNT计数器减到0 即计时到 可以产生中断 向MCCNT写0 不产生中断 MCCNT对应控制寄存器MCCTL的ICLAT位置1 对所有累加器 LATQ 0脉冲累加队列模式LDAATCnH PAn PAnH并且PAn 0 3 脉冲累加器的计数方式 8 位计数器 PA7 PAI 脉冲累加器输入引脚 事件计数模式 引脚作为计数器时钟 软件选择以什么沿来计数 计数器溢出时 产生中断 可选 在PAI引脚每个主动电平将产生中断 8位计数器 PA7 PAI 脉冲累加器输入引脚 时间累加模式引脚作为计数器 软件选择主动电平作为门的输入 当计数器溢出时产生中断 在使能的引脚上后面的边缘时产生中断 自由运行E 64时钟 对事件计数模式 PEDGE选择哪个PAI的沿用来增加PACNT寄存器 对门累加模式 PEDGE选择哪个PAI状态用来禁止计数 比如 PEDGE 1则当PAI为高电平时 禁止计数 重庆大学通信工程学院王毅王永东 6 2PIT周期中断定时器 重庆大学通信工程学院王毅王永东 强制加载位 PITFLT PFLTn 计数寄存器 选通微计数器 硬件触发 中断请求 重庆大学通信工程学院王毅王永东 装载寄存器 PITLD0 PITLD3四个16位 PITMTLD0 PITMLD1两个8位 启动计时条件 计时模块 PITCFLMT PITE 和通道使能PITCE PCEn 同时有效 n 0 1 2 3 强制加载位置1 启动计时器引发数据装载操作 PITLDnPITCNTnPITMTLDn微计时器n 重庆大学通信工程学院王毅王永东 ORG 4000 500个总线时钟延时程序LDS 4000LDAA FFSTAADDRBLDAA 0STAAPORTBMOVW CH0 ISR VEC PIT CH0 FF7ACLRPITCFLMT 禁止PIT模块 控制寄存器 MOVB 01 PITCE 定时器通道0打开CLRPITMUX 通道0关联微计算器0MOVB 4 PITMTLD0 设置微计算器0的加载寄存器MOVB 99 PITLD0 设置16位计数器的加载寄存器MOVB 01 PITINTE 通道0中断使能MOVB 80 PITCFLMT 打开PIT模块CLIBRA CH0 ISR MOVB 01 PITTF 清通道0超时中断标志COMB B口输出电平翻转TRI 重庆大学通信工程学院王毅王永东 6 3实时中断 用途 用来产生固定周期的硬件定时中断 重庆大学通信工程学院王毅王永东 RH 1T 晶振周期 2 RL 1 1024其中 RH RTICTL6 4 RL RTICTL3 0 RH 0 关闭实时中断 列 振荡周期为T RH 3 RL 10T T 4 11 1024 重庆大学通信工程学院王毅王永东 PinLogic DelayCounter 输出比较寄存器 输入捕捉寄存器 脉冲累加器PA1 保持寄存器PA1H 保持寄存器TC1H 预分频1 BusClock CH1 预分频2 0 控制逻辑 ControlBits Reset 定时器结构 两个计时基础 MAINTIMER 16BITMODULODOWN COUNTE 具有预分频器 分别是1 128 1 16 引脚逻辑控制器 PINLOGIC延时计数 DELAYCOUNTER输入捕捉 输出比较寄存器 TCn 脉冲累加器PAn输入捕捉 输出比较保持寄存器 TCnHPAnH控制位 控制计时数据打入保持寄存器 与锁存模式相关 装载寄存器 LOADREGISTE 8 3 1脉冲累加控制寄存器1 16位脉冲累加器A控制寄存器PACTL PAEN 脉冲累加器使能位 1 使能 0 禁止PAMOD 脉冲累加器模式控制位 1 门控方式 0 事件计数PEDGE 有效边沿设定 PEMOD 0 事件计数模式 PEDGE 0 PT7的下降沿引发计数器加一 1 PT7的上升沿引发计数器加一 PEMOD 1 门控模式 PEDGE 0 当PT7引脚高电平时 PACA累加开始 累加频率 总线频率 64 在PT7的下降沿 置中断标志位PAIF PEDGE 1 当PT7引脚低电平时 PACA累加开始 累加频率 总线频率 64 在PT7的上升沿 置中断标志位PAIF 2 16位脉冲累加器A标志寄存器PAFLAG PAOVF 脉冲累加器溢出中断标志位PAIF 脉冲累加器输入跳变标志计数方式 有效边沿产生计数同时产生中断标志 事件方式 输入信号结束边沿产生中断标志 PAOVI 脉冲累加器溢出中断使能 0 禁止 1 使能 PAI 脉冲累加器输入中断使能 0 禁止 1 使能 CLK0 CLK1 TCNT计时输入频率选择 4种 注意 PACLK 总线频率 64 MCZI 模数计数器向下溢出中断使能 0 禁止 1 使能MODCM 0 单次计数方式 1 循环计数方式RDMCL 模数读取位选择 0 读回模数计数器当前值 1 返回加载寄存器的值ICLAT 捕捉寄存器强制转移控制位0 无效 1 TCn TCnH PAn PAnH 0 PAnMCEN 模数递减计数器使能位 0 禁止1 使能FLMC 仅写1的时候 产生装载寄存器的内容强制装入MCCNT 复位分频因子 MCPR1 MCPR0 8 3 2模数计数器 1 16位模数计数器控制寄存器MCCTCL 2 16位模数计数器标志寄存器MCFLG MCZF 模数计数溢出中断标志位POLF0 首次捕捉的极性 0 上升 1 下降 3 16位模数递减计数寄存器MCCNT读MCCNT 返回 RDMCL 0计数器当前值 RDMCL 1加载寄存器值 对输入捕捉或脉冲累加 如果设置为锁存模式且输入缓冲使能 LATQ 1 BUFFEN 1 写 0000到MCCNT锁存TC PA到保持寄存器 并且MCCNT保持位0 不会产生中断标志置1 当MCCNT计数到零时 自动产生锁存信号并产生中断 对应循环使用方式 MODMC 1 写MCCNT的数据 在MCCNT回零后卡是生效 非立即生效 对于单次计数方式 MODMC 0 写MCCNT 清零MCCNT 然后用新值更新计数器 实现规定时刻的计数减一开始 晶振频率 16MHZ总线频率 晶振 2 8MHZ总线周期 1 8000000 125 1000000 1000 125NS计算中断下溢周期时间为191US时 MCCNT预置数 MCCNT下溢出中断周期 总线周期 预分频 1 4 8 16 MCCNTMCCNT 中断周期 总线周期 预分频 191 1000 125 4 382 如何计算MCCNT常数 模向下计数器总结 二进制向下计数器 可以完全控制计数起始值应用于精确事件计时 用于产生周期性的标志位和中断主定时器单独运行 时钟来自总线时钟 并经过预分频 可以被设置为定时中断或产生标志位 或装载初始值后向下计数到 0000 装载 向下计数至0 执行动作 关于TCNT MCCNT总结TCNT 一直运行 每当条件满足 产生捕捉或输出比较 内容部能改变 不能写 MCCNT 可以控制计时的开始 作为锁存模式时间控制的基础 并形成打入锁存的信号 可以读写 脉冲累加 对脉冲计数或对门控信号计数 脉冲累加器以输入引脚作为条件时钟 或输入作为控制计时的起始结束 队列 锁存 锁存 补充说明 定时器模块的中断13个中断向量8个定时器通道产生的中断 CnF1个模数计数器下溢中断 MCZF1个脉冲累加器B溢出中断 PBOVF1个脉冲累加器A输入中断 PAOVI1个脉冲累加器A溢出中断 PAOVF1个自由定时器溢出中断 TOF 重庆大学通信工程学院王毅王永东 强制加载位 PITFLT PFLTn 计数寄存器 选通微计数器 硬件触发 中断请求 重庆大学通信工程学院王毅王永东 6 2PIT周期中断定时器 重庆大学通信工程学院王毅王永东 加载寄存器 PITLD0 PITLD3四个16位 PITMTLD0 PITMLD1两个8位 启动计时条件 计时模块和通道使能同时有效 强制加载位置1 启动计时器引发操作 PITLDnPITCNTnPITMTLDn微计时器n 重庆大学通信工程学院王毅王永东 ORG 4000 500个总线时钟延时程序LDS 4000LDAA FFSTAADDRBLDAA 0STAAPORTBMOVW CH0 ISR VEC PIT CH0CLRPITCFLMT 禁止PIT模块 控制寄存器 MOVB 01 PITCE 定时器通道0打开CLRPITMUX 通道0关联微计算器0MOVB 4 PITMTLD0 设置微计算器0的加载寄存器MOVB 99 PITLD0 设置16位计数器的加载寄存器MOVB 01 PITINTE 通道0中断使能MOVB 80 PITCFLMT 打开PIT模块CLIBRA CH0 ISR MOVB 01 PITTFCOMB B口输出电平翻转TRI 重庆大学通信工程学院王毅王永东 6 3实时中断 用途 用来产生固定周期的硬件定时中断 重庆大学通信工程学院王毅王永东 RH 1T 晶振周期 2 RL 1 1024其中 RH RTICTL6 4 RL RTICTL3 0 RH 0 关闭实时中断 列 振荡周期为T RH 3 RL 10T T 4 11 1024 重庆大学通信工程学院王毅王永东 重庆大学通信工程学院王毅王永东 TIMER定时器使能 1 计数器使能 0 计数器禁止 1 TSCR1 定时器系统控制寄存器 低功耗模式 RST 0 0 0006 TENTSWAITSFRZTFFCAReserved TSWAI 在WAIT模式时 0 不停止 1 停止 TSBCK 在DEBUG模式时 定时器停止 0 不停止 1 停止 TFFCA 定时器快速标志位清除使能0 定时器标志位正常清零1 读取输入捕捉或写输出比较寄存器 对相应通道标志位清零 0 CnF 读TCNT清TOF标志 2 TSCR2 定时器系统控制寄存器 TCRE 允许使用PWM功能 总线频率FBUS 分频因子为FACTOR 溢出时间T 65536 FRCTOR FBUS 定时器中断使能寄存器TIE CnI 4 定时计数寄存器TCNT CnI与TFLG1标志寄存器CnF一一对应 正常模式下 写该寄存器无意义 TCTL1 TCTL2 5 控制寄存器TCTL1 TCTL2 仅对输出比较 定义输出比较成功时的输出动作 断开 翻转 低电平

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论