(12)--第7章 定时器模块单片机技术.pdf
《(12)--第7章 定时器模块单片机技术.pdf》由会员分享,可在线阅读,更多相关《(12)--第7章 定时器模块单片机技术.pdf(101页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第7章章 定时器模块定时器模块MSP430定时功能及其实现定时功能及其实现 看门狗定时器看门狗定时器 WDT的操作的操作 看门狗定时器的中断控制功能看门狗定时器的中断控制功能 看门狗应用举例看门狗应用举例 16位定时器位定时器 A定时器定时器 A的特性的特性Timer_A结构结构Timer_A工作原理工作原理Timer_A典型应用典型应用 16位定时器位定时器 B 16位定时器位定时器 D 定时器库函数定时器库函数定时器定时器(Timer)主要内容主要内容MSP430定时功能及其实现(1/2)定时功能模块是定时功能模块是MSP430应用系统中经常用到的重要部分,应用系统中经常用到的重要部分,
2、可用来实现定时控制、延迟、频率测量、脉宽测量和信号产生、可用来实现定时控制、延迟、频率测量、脉宽测量和信号产生、信号检测等等。信号检测等等。一般来说,一般来说,MSP430所需的定时信号可以用软件和硬件两所需的定时信号可以用软件和硬件两种方法来获得。种方法来获得。MSP430系列有丰富定时器资源:看门狗定时器(系列有丰富定时器资源:看门狗定时器(WDT),),定时器定时器A(Timer_A),定时器),定时器B(Timer_B)和定时器)和定时器 D(Timer_D)等。)等。定时器定时器功能功能看门狗定时器看门狗定时器基本定时、当程序发生错误时执行一个受控的系统重基本定时、当程序发生错误时执
3、行一个受控的系统重启动启动基本定时器基本定时器基本定时、支持软件和各种外围模块工作在低频率、基本定时、支持软件和各种外围模块工作在低频率、低功耗条件下低功耗条件下定时器定时器 A基本定时、支持同时进行的多种时序控制、多个捕获基本定时、支持同时进行的多种时序控制、多个捕获/比较功能和多种输出波形(比较功能和多种输出波形(PWM),可以以硬件方式),可以以硬件方式支持串行通信。支持串行通信。定时器定时器 B基本定时、功能基本同定时器基本定时、功能基本同定时器A,但比定时器,但比定时器A灵活,灵活,功能更强大功能更强大定时器定时器 D基本定时、功能基本同定时器基本定时、功能基本同定时器A,但比定时器
4、,但比定时器A灵活,灵活,功能更强大功能更强大MSP430定时功能及其实现(2/2)MSP430系列定时器部件功能,如下表所示:系列定时器部件功能,如下表所示:7.1 看门狗定时器看门狗定时器看门狗定时器 概述(1/1)看门狗定时器,主要作用:看门狗定时器,主要作用:用于在“程序跑飞”时,用于在“程序跑飞”时,WDT就会产生溢出,从而产生系就会产生溢出,从而产生系统复位,统复位,CPU需要重新运行用户程序,这样程序就可以又回需要重新运行用户程序,这样程序就可以又回到正常运行状态。到正常运行状态。MSP430 看门狗模块具有以下特性:看门狗模块具有以下特性:8种软件可选的定时时间种软件可选的定时
5、时间看门狗工作模式看门狗工作模式定时器工作模式定时器工作模式带密码保护的带密码保护的 WDT 控制寄存器控制寄存器时钟源可选择时钟源可选择为降低功耗,可停止为降低功耗,可停止时钟失效保护时钟失效保护MSP430单片机的看门狗定时器逻辑结构框图如图单片机的看门狗定时器逻辑结构框图如图4.4.1所示。由该图可知,所示。由该图可知,MSP430单片机看门狗定时器由中断产生单片机看门狗定时器由中断产生逻辑单元、看门狗定时计数器、口令比较单元、看门狗控制逻辑单元、看门狗定时计数器、口令比较单元、看门狗控制寄存器、参考时钟选择逻辑单元等构成。寄存器、参考时钟选择逻辑单元等构成。看门狗定时器 WDT的操作(
6、1/4)图图4.4.1 看门狗定时器逻辑结构框图看门狗定时器逻辑结构框图看门狗定时器 WDT的操作(2/4)用户可以通过用户可以通过 WDTCTL 寄存器中的寄存器中的 WDTTMSEL(工(工作模式控制位)作模式控制位)和和 WDTHOLD(密钥控制位)(密钥控制位)位设置位设置 WDT 工作在看门狗模式、定时器模式和低功耗模式。工作在看门狗模式、定时器模式和低功耗模式。看门狗模式看门狗模式PUC后,后,WDT 进入默认状态。它自动配置为看门狗模进入默认状态。它自动配置为看门狗模式,式,SCLK作为时钟源,作为时钟源,复位间隔时间为复位间隔时间为32ms。如果系统不用如果系统不用看门狗功能,
7、应该在程序开始处禁止看门狗功能。看门狗功能,应该在程序开始处禁止看门狗功能。例:例:MOV#WDTPW+WDTHOLD,&WDTCTL;WDTCTL=WDTPW+WDTHOLD;/关闭看门狗关闭看门狗 在看门狗模式下,如果计数器超过了定时时间,就会产生在看门狗模式下,如果计数器超过了定时时间,就会产生复位和激活系统上电清除信号。系统从上电复位的地址重启。复位和激活系统上电清除信号。系统从上电复位的地址重启。用户软件一般都需要进行如下操作:用户软件一般都需要进行如下操作:进行进行WDT的初始化:设置合适的时间。的初始化:设置合适的时间。通过通过WDTSSEL、WDTIS0、WDTIS1、WDTI
8、S2位来选定。位来选定。周期性地对周期性地对WDTCNT清零:防止清零:防止WDT溢出,保证溢出,保证WDT的的正确使用。正确使用。例:例:MOV#WDTPW+WDTCNTCL,&WDTCTL;WDTCTL=WDTPW+WDTCNTCL;/关闭看门关闭看门狗狗看门狗定时器 WDT的操作(3/4)定时器模式定时器模式WDTTMSEL 设置为设置为 1 时,时,WDT 工作在定时器模式。工作在定时器模式。在在定时器模式下,定时间隔到以后,定时器模式下,定时间隔到以后,不会产生不会产生PUC,WDTIFG 标志位置标志位置 1。低功耗模式低功耗模式当不需要看门狗定时器时,可使用当不需要看门狗定时器时
9、,可使用 WDTHOLD 位来位来停止看门狗计数器停止看门狗计数器 WDTCNT,以降低功耗。,以降低功耗。看门狗定时器 WDT的操作(4/4)看门狗定时器寄存器(1/3)计数单元计数单元WDTCNTWDTCNT是不能通过软件直接访问的是不能通过软件直接访问的32位增计数器,由位增计数器,由MSP430所选定的时钟电路产生的固定周期脉冲信号对计数所选定的时钟电路产生的固定周期脉冲信号对计数器进行加法计数,如果计数器事先被预置的初始状态不同,器进行加法计数,如果计数器事先被预置的初始状态不同,那么从开始计数到计数溢出所用的时间就不同。那么从开始计数到计数溢出所用的时间就不同。控制寄存器控制寄存器
10、WDTCTLWDTCTL由两部分组成:高由两部分组成:高8位被用作密钥;低位被用作密钥;低8位是对位是对WDT操作的控制命令。要写入操作操作的控制命令。要写入操作WDT的控制命令,出于的控制命令,出于安全原因必须先正确写入高字节看门狗密钥安全原因必须先正确写入高字节看门狗密钥5AH,如果密钥,如果密钥写错将触发写错将触发PUC系统复位。读系统复位。读WDTCTL时不需要密钥,高字时不需要密钥,高字节读取结果为节读取结果为69H。控制寄存器控制寄存器WDTCTL格式:格式:高高8位:位:WDTPW:Bits158 看门狗密钥,读出值看门狗密钥,读出值0 x69,写时,写时必须为必须为0 x5A,
11、否则将产生,否则将产生PUC。看门狗定时器寄存器(2/3)低低8位:位:WDTHOLD:Bit7 0 打开看门狗,打开看门狗,1 禁用看门狗禁用看门狗 WDTSSEL:Bits65 看门狗时钟源选择看门狗时钟源选择00 SMCLK 01 ACLK10 VLOCLK 11 X_CLK例:例:WDTCTL=WDTPW+WDTSSEL;/选择选择X_CLK时钟源时钟源 WDTTMSEL:Bit4 工作模式选择工作模式选择0 看门狗模式,看门狗模式,1 定时器模式定时器模式例:例:WDTCTL=WDTPW+WDTTMSEL;/定时器模式定时器模式 WDTCNTCL:Bit3 看门狗计数器清零看门狗计数
12、器清零0 无任何操作,无任何操作,1 WDTCNT计数器清计数器清0例:例:WDTCTL=WDTPW+WDTCNTCL;/对看门狗计数器清零对看门狗计数器清零看门狗定时器寄存器(3/3)WDTIS:Bits20 看门狗定时长度选择看门狗定时长度选择000 看门狗时钟源看门狗时钟源/(231)(18h:12m:16s基于基于32.768KHz)001 看门狗时钟源看门狗时钟源/(227)(01h:08m:16s基于基于32.768KHz)010 看门狗时钟源看门狗时钟源/(223)(00h:04m:16s基于基于32.768KHz)011 看门狗时钟源看门狗时钟源/(219)(00h:00m:1
13、6s基于基于32.768KHz)100 看门狗时钟源看门狗时钟源/(215)(1s基于基于32.768KHz)101 看门狗时钟源看门狗时钟源/(213)(250ms基于基于32.768KHz)110 看门狗时钟源看门狗时钟源/(29)(15.625ms基于基于32.768KHz)111 看门狗时钟源看门狗时钟源/(26)(1.95ms基于基于32.768KHz)例:晶振为例:晶振为32768Hz,SMCLK=1MHz,需定时,需定时1s。WDTCTL=WDTPW+WDTTMSEL+WDTCNTCL+WDTIS_4看门狗定时器的中断控制功能用到特殊功能寄存器用到特殊功能寄存器(SFR)的两位:
14、的两位:WDT中断标志中断标志SFR IFG1.0的的WDTIFG;WDT中断使能中断使能SFR IE1.0的的WDTIE。例:例:SFRIE1|=WDTIE;/使能看门狗中断使能看门狗中断在定时器模式下,定时时间到,在定时器模式下,定时时间到,WDTIFG标志置标志置1。当。当WDTIE和和GIE都置位时,都置位时,WDTIFG将请求中断。当中断请求将请求中断。当中断请求被响应时,被响应时,WDTIFG中断标志可自动清除,也可以通过软件中断标志可自动清除,也可以通过软件清除。清除。定时器模式下中断是可屏蔽的,由设定的定时时间到而引定时器模式下中断是可屏蔽的,由设定的定时时间到而引发。而看门狗
15、模式下中断是不可屏蔽的,由受控程序非正常发。而看门狗模式下中断是不可屏蔽的,由受控程序非正常运行引发,前者的优先级低于后者。运行引发,前者的优先级低于后者。看门狗定时器 WDT应用举例(1/2)例:使用看门狗定时功能产生一个方波(周期性的取反例:使用看门狗定时功能产生一个方波(周期性的取反P1.0)程序代码如下:程序代码如下:#include void main(void)WDTCTL=WDT_MDLY_32;/定时周期为定时周期为32msSFRIE1|=WDTIE;/使能使能WDT中断中断P1DIR|=0 x01;/P1.0输出输出_enable_interrupt();/系统中断允许系统中
16、断允许for(;)/进入进入 LPM0_bis_SR_register(LPM0_bits);_no_operation();P1.0MSP430F6638/看门狗中断服务子程序看门狗中断服务子程序#pragma vector=WDT_VECTOR_interrupt void watchdog_timer(void)P1OUT=0 x01;/P1.0取反取反 看门狗定时器 WDT应用举例(2/2)7.2 Timer_ATimer_A 主要内容Timer_A的特性的特性Timer_A的结构的结构Timer_A的工作原理的工作原理定时器工作模式定时器工作模式捕获捕获/比较模块比较模块输出单元输出
17、单元Timer_A中断中断Timer_A的典型应用的典型应用 Timer_A由一个由一个16位定时器和多路捕获位定时器和多路捕获/比较通道组成。比较通道组成。具有具有4种操作模式的异步种操作模式的异步16位定时位定时/计数器。计数器。输入时钟可以有多种选择,可以是慢时钟,快时钟以及输入时钟可以有多种选择,可以是慢时钟,快时钟以及外部时钟。外部时钟。可配置捕获可配置捕获/比较寄存器数多达比较寄存器数多达7个。个。可配置的可配置的PWM(脉宽调制)输出。(脉宽调制)输出。异步输入和同步锁存。不仅能捕获外部事件发生的时间异步输入和同步锁存。不仅能捕获外部事件发生的时间还可锁定其发生时的高低电平。还可
18、锁定其发生时的高低电平。完善的中断服务功能。快速响应完善的中断服务功能。快速响应Timer_A中断的中断向量中断的中断向量寄存器。寄存器。8种输出方式选择。种输出方式选择。可实现串行通讯。可实现串行通讯。MSP430X5XX/6XX系列单片机的系列单片机的Timer _A有以下特性:有以下特性:Timer_A 的特性Timer_A 结构(1/2)下图为下图为 MSP430X5XX/6XX系列单片机的系列单片机的 Timer_A结构结构Timer_A 结构(2/2)定时计数器定时计数器:16 位定时位定时/计数寄存器计数寄存器TAxR时钟源的选择和分频:时钟源的选择和分频:定时器时钟定时器时钟
19、TACLK 可以选择可以选择ACLK,SMCLK 或者来自外部的或者来自外部的 TAxCLK。选择的时钟源,。选择的时钟源,可以通过软件选择分频系数(可以通过软件选择分频系数(1、2、3、4、5、6、7、8)。)。捕获捕获/比较器:比较器:用于捕获事件发生的时间或产生的定时时间用于捕获事件发生的时间或产生的定时时间长度,捕获比较功能的引入主要是为了提高长度,捕获比较功能的引入主要是为了提高 I/O 端口处理事务端口处理事务的能力和速度。的能力和速度。输出单元:输出单元:具有可选的具有可选的8种输出模式,用于产生用户需要种输出模式,用于产生用户需要的输出信号,支持的输出信号,支持 PWM。从上图
20、可以看出,从上图可以看出,Timer_A有以下部分组成:有以下部分组成:Timer_A 工作模式(1/1)MSP430X5XX/6XX系列单片机的系列单片机的 Timer_A共有共有4种计种计数模式,如下表所示:数模式,如下表所示:MCx模式模式说明说明00停止模式停止模式定时器停止定时器停止01增计数模式增计数模式定时器重复从定时器重复从 0 计数到计数到 TAxCCR010连续计数模式连续计数模式定时器器重复从定时器器重复从 0 计数到计数到 0FFFFh11增增/减计数模式减计数模式定时器重复从定时器重复从 0 增计数到增计数到 TAxCCR0 再减计数到再减计数到 0Timer_A 工
21、作模式 停止模式(1/1)停止模式停止模式用于定时器暂停,并不发生复位,所有寄存器现行的内容用于定时器暂停,并不发生复位,所有寄存器现行的内容在停止模式结束后都可用。在停止模式结束后都可用。当定时器暂停后重新计数时,计数器将从暂停时的值开始当定时器暂停后重新计数时,计数器将从暂停时的值开始以暂停前的计数方向计数。以暂停前的计数方向计数。例如例如,停止模式前,停止模式前,Timer_A工作于增工作于增/减计数模式并减计数模式并且处于下降计数方向,停止模式后,且处于下降计数方向,停止模式后,Timer_A仍然工作于增仍然工作于增/减计数模式。重新计数时,从暂停前的状态开始继续沿着减计数模式。重新计
22、数时,从暂停前的状态开始继续沿着下降方向开始计数。下降方向开始计数。捕获捕获/比较寄存器比较寄存器TAxCCR0用作用作Timer_A增计数模式的周期增计数模式的周期寄存器。寄存器。计数器计数器TAxR与与TAxCCR0的值相等(或的值相等(或TAxR大于大于TAxCCR0的值)时,定时器的值)时,定时器 TAxR将立即重新从将立即重新从 0 开始计数。开始计数。下图说明了增计数模式的计数过程。下图说明了增计数模式的计数过程。Timer_A 工作模式 增计数模式(1/5)Timer_A 工作模式 增计数模式(2/5)运行时改变捕获运行时改变捕获/比较寄存器比较寄存器 TAxCCR0如果新的计数
23、周期大于或者等于旧的计数周期或者大于当如果新的计数周期大于或者等于旧的计数周期或者大于当前计数值,定时器将一直计数到新的计数周期。前计数值,定时器将一直计数到新的计数周期。如果新的计数周期小于当前计数值,计数值将减至如果新的计数周期小于当前计数值,计数值将减至 0。但。但是,在定时器回到是,在定时器回到 0 之前会有一次计数。之前会有一次计数。Timer_A 工作模式 增计数模式(3/5)中断标志位的设置过程,如下图所示:中断标志位的设置过程,如下图所示:当定时器计数到当定时器计数到 TAxCCR0 时,设置标志位时,设置标志位 CCIFG(捕获比(捕获比较中断标志)为较中断标志)为 1,而当
24、定时器从,而当定时器从 TAxCCR0 计数到计数到 0时,设时,设置标志位置标志位 TAIFG(定时器溢出标志)位为(定时器溢出标志)位为 1。Timer_A 工作模式 连续计数模式(1/3)此模式下,定时器从当前值计数到此模式下,定时器从当前值计数到 0FFFFH后,又从后,又从 0 开始开始重新计数。如下图所示。重新计数。如下图所示。此时捕获此时捕获/比较寄存器比较寄存器 TAxCCR0 和其它捕获和其它捕获/比较寄存器的比较寄存器的工作方式相同。工作方式相同。Timer_A 工作模式 连续计数模式(2/3)标志位的设置过程,如下图所示:当定时器从标志位的设置过程,如下图所示:当定时器从
25、 0FFFFh 计计数到数到 0 时,中断标志时,中断标志 TAIFG 置位。置位。Timer_A 工作模式 连续计数模式(3/3)连续计数模式的典型应用:连续计数模式的典型应用:产生多个定时信号:通过中断处理产生多个定时信号:通过中断处理程序在相应的比较寄存器程序在相应的比较寄存器 TAxCCRx上加上一个时间差来实现。上加上一个时间差来实现。这个时间差是当前时刻(即相应的这个时间差是当前时刻(即相应的 TAxCCRx中的值)到下一中的值)到下一次中断发生时刻所经历的时间,如下图所示。次中断发生时刻所经历的时间,如下图所示。Timer_A 工作模式 增/减计数模式(1/3)该模式下,定时器先
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 12-第7章 定时器模块单片机技术 12 定时器 模块 单片机 技术
限制150内