- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机-定时器实用
第四章MSP430定时器及其应用 MSP430的定时器的功能 MSP430定时方法 MSP430定时方法 MSP430定时器资源 看门狗定时器(WDT) 看门狗定时器(WDT) 看门狗定时器(WDT) 看门狗定时器(WDT) 看门狗定时器(WDT) 看门狗定时器(WDT) 看门狗定时器(WDT) 看门狗定时器(WDT) 看门狗定时器(WDT) * * 定时控制 延迟 频率测量 脉宽测量 信号产生 信号监测 波特率发生器 软件定时 设计延迟子程序,采用语句消耗CPU时间 可用多级循环来改变延迟时间 优点 节省CPU硬件资源 延迟时间设置灵活 缺点 执行时始终占用CPU,CPU工作效率低 在需较短时间(us级)延迟时常常采用 硬件定时 采用CPU内部定时器定时 优点 计时不占CPU的时间,提高CPU的利用率 延迟时间计算简单 缺点 定时器资源有限 看门狗定时器(WDT) 当程序发生错误时,执行受控的系统重启 基本定时器(BASIC TIMER1) 低频、低功耗下驱动外围设备 实时时钟(RTC) 时钟日历 定时器A(Timer_A) 16位定时器,含有多路比较/捕获通道 定时器B(Timer_B) 主要功能 在CPU受到干扰而使程序跑飞的情况下,让CPU执行受控的复位重启程序,恢复程序正常运行 干扰来源 供电电源、空间电磁干扰 软件缺陷 作用机理 在程序正常执行时,会定时给看门狗定时器发送清零指令,若程序跑飞,看门狗定时器不能及时收到清零指令,则产生系统复位,程序重新运行。 如果不用作系统监控,可作为一般的定时器使用 写:5AH 读:69H 16位增计数器 看门狗定时器(WDT) 启、停控制 相关寄存器 WDTCTL 16位寄存器 高8位为口令(0x5A),低8位为操作指令 写WDTCTL寄存器需要口令正确,口令错误将导致系统复位,读不验证口令,高8位始终为0x69 15-8位:WDTPW = 0x5A 相关寄存器 WDTCTL WDTHOLD:看门狗定时器功能开启选项 0: 看门狗定时器激活 1: 时钟禁止输入,计数停止 WDTNMIES:选择中断的边沿触发方式 0: 上升沿触发NMI中断 1: 下降沿触发NMI中断 相关寄存器 WDTCTL WDTNMI:选择RST/NMI引脚功能 0: RST/NMI引脚为复位端(默认) 1: RST/NMI引脚为边沿触发不可屏蔽中断输入 WDTCNTCL 对该位写入“1”,清除WDTCNT的计数值 相关寄存器 WDTCTL WDTTMSEL:模式选择 0: 看门狗模式 1: 定时器模式 相关寄存器 WDTCTL WDTSSEL:选择WDTCNT的时钟源 0: SMCLK 1: ACLK 相关寄存器 WDTCTL WDTIS0,WDTIS1:选择看门狗定时器的定时输出满脉冲数 00:32768 01:8192 10:512 11:64 IS0,IS1,SSEL共同决定WDT的定时时间 相关寄存器 WDTCNT 16位增计数器,计数时钟由WDTSSEL确定; 不能直接读写,仅通过WDTCTL来控制 定时时间,看门狗溢出时间计算 设ACLK=32768Hz,SS1:SS0=11(64脉冲) 则看门狗定时器的定时时间 T = 64 / 32768 秒 = 0.00195秒 如果是定时模式,则在1950uS时产生定时中断 如果是看门狗模式,如果在1950uS内 WDTCNT没有清零,则产生看门狗溢出中断,可复位CPU 看门狗定时器(WDT) 应用举例 普通定时器 看门狗 看门狗定时器的计数值只能是64,512,8192,32768四种,无法随意更改,因此配合ACLK,SMCLK及其分频数,WDT作为定时器的定时时间只有可数的十几个。 看门狗定时器(WDT) 看门狗定时器的定时时间计算 相关参数 时钟源 ACLK SMCLK 分频数 1/2/4/8 1/2/4/8 满计数值 64 / 512 / 8192 / 32768 定时时间/看门狗复位时间(T) T=(满计数值)/(时钟源频率)/(分频数) 时间单位:秒 频率单位:Hz 看门狗定时器(WDT) 看门狗定时器中断入口 #pragma vector=WDT_VECTOR __interrupt void WatchDog(void) { 程序 } 16位定时器A(Timer_A) 所有MSP430系列都配有Timer_A 组成 16位定时器和多路比较/捕获通道组成 相关寄存器 TACTL:TA控制寄存器 TAR:TA计数器 16位 TAIV:中断向量寄存器 CCTLx:捕获/比较控制寄存器 CCRx:捕获/比较寄存器 16位定时器A(Timer_A) 时钟源特性 输入时钟源种类多 内部
文档评论(0)