第四章 MSP430F149看门狗定时器

合集下载

msp430f149技术资料

msp430f149技术资料

MSP430是德州公司新开发的一类具有16位总线的带FLASH的单片机,由于其性价比和集成度高,受到广大技术开发人员的青睐.它采用16位的总线,外设和内存统一编址,寻址范围可达64K,还可以外扩展存储器。

具有统一的中断管理,具有丰富的片上外围模块,片内有精密硬件乘法器、两个16位定时器、一个14路的12位的模数转换器、一个看门狗、6路P口、两路USART通信端口、一个比较器、一个DCO内部振荡器和两个外部时钟,支持8M的时钟。

由于为FLASH型,则可以在线对单片机进行调试和下载,且JTAG口直接和FET(FLASH EMULATION TOOL)的相连,不须另外的仿真工具,方便实用,而且,可以在超低功耗模式下工作,对环境和人体的辐射小,测量结果为100mw左右的功耗(电流为14mA左右),可靠性能好,加强电干扰运行不受影响,适应工业级的运行环境,适合与做手柄之类的自动控制的设备.我们相信MSP430单片机将会在工程技术应用中得以广泛应用,而且,它是通向DSP系列的桥梁,随着自动控制的高速化和低功耗化,MSP430系列将会得到越来越多人的喜爱。

第三章MSP430F149 资源的应用介绍及开发第一节中断介绍及存储器段介绍中断在MSP430中得以广泛的应用,它可以快速进入中断程序,之后返回中断前的状态,其时序为:PC执行程序中断允许置位SR中的GIE置位 EINT(中断开)中断到,中断标志位(IFG)置位从中断向量表中读取中断程序的入口地址,进入中断程序执行中断程序中断允许位复位 RETI中断返回回到原来地址。

具体应用将会在应用程序中的到应用。

有关中断源和中断优先级及中断允许位、中断标志位在参考资料1上有详细介绍。

MSP430单片机的片上存储器共为64K,表示为图:第三节 P 口MSP430F149有6个8位的P口,其中P1、P2口占两个中断向量,共可以接16 个中断源,还可以直接利用 P口的输入输出寄存器,直接对外进行通信。

MSP430F149寄存器整理

MSP430F149寄存器整理

各个模块的寄存器:1)CPU内部寄存器(状态寄存器SR)2)外围模块寄存器和特殊寄存器中断使能寄存器(IE1)UTXIE0USART0模块的传输中断使能控制比特。

置1时模块的中断使能,0时关闭URXIE0USART0接收中断控制。

1中断使能、0中断关闭ACCVIEFLASH 存储器非法访问中断使能控制比特位。

1使能、0时关闭。

NMIE 非屏蔽中断使能控制。

1使能、0关闭OFIE 晶体出错中断使能控制。

1使能、0关闭WDTIE看门狗中断使能控制。

1使能看门狗中断、0关闭中断使能寄存器(IE2)****UTXIE15URXIE14********UTXIE1USART1模块传输中断使能控制。

1使能、0关闭URXIE1USART1模块接收中断使能控制。

1使能、0关闭中断标志寄存器(IFG1)UTXIFG07URXIFG 06**NMIIFG4****OFIFG 1WDTIFGUTXIFG0USART0传输中断标志位。

1时有中断产生、0没有URXIFG0USART0接收中断标志位。

1时有中断产生、0没有NMIIFG非屏蔽中断标志位。

1时有中断产生、0没有UTXIE07URXIE06ACCVIE5NMIIE4**3**2OFIE1WDTIEOFIFG晶体出错中断标志位。

1时有中断产生、0没有WDTIFG看门狗中断标志。

1时有中断产生、0时没有中断标志寄存器(IFG2)****UTXIFG15URXIFG14********UTXIFG1USART1传输中断标志位。

1时有中断产生、0时没有URXIFG1USART1接收中断标志位。

1时有中断产生、0时没有模块使能寄存器1(ME1)UTXE0 7URXE0USPIE0************UTXE0USART0的传输使能。

1时USART0传输模块使能、0时不工作URXE0 USPIE0USART作为UART时,该比特控制UART的接收功能,设置为1时接收模块使能,0时不工作;作为SPI时,设置为1,则SPI使能,0时SPI不工作。

MSP430F149定时器B讲解

MSP430F149定时器B讲解

MSP430F149定时器B1.定时器B模块:TimerB与TimerA大部分相同,不同点在于定时器B的捕获/比较单元增加了锁存器。

二者区别:(1)TimerB计数长度为8位,10位,12位,16位可编程,由TBCTL寄存器的CNTLx两位来配置,而定时器A的计数长度是固定的16位;(2)TimerB没有实现定时器A中的SCCI功能位的功能;(3)TimerB在比较模式下的捕获/比较寄存器功能与TimerA不同,增加了捕获比较锁存器;(4)有些芯片型号当中TimerB输出实现了高阻抗输出;(5)比较模式的原理有所不同:TimerA当中CCRx寄存器当中保存与TAR相比较的数据,而在TimerB 当中CCRx中保存要比较的数据,但并不直接与定时器TBR相比较,而是将CCRx当中的数据锁存到相应的锁存器之后,由锁存器与TBR相比较。

从捕获/比较寄存器相比较锁存器传输数据的过程的时间也是可编程的,可以是写入比较捕获寄存器之后立即传输,也可有一个定时器来触发传输。

(6)TimerB支持多种同步的定时功能,多重比较捕获功能和多重波形输出功能(PWM波)。

而且,通过对比较数据的两级缓冲,可实现多个PWM波同步周期更新。

2.TimerB的逻辑结构图:定时器B的逻辑结构基本与定时器A相同。

3.定时器B的寄存器:寄存器相关位的配置过程参考定时器A和数据手册。

4.定时器B的比较功能当定时器B工作在比较模式时,将数据写入捕获比较锁存器TBCCRx当中,当TBCCTLx当中的CLLDx位决定的装载事件的发生时,TBCCRx中的数据会自动地传输到比较寄存器当中。

5.TI提供的例程://// ////// MSP430F149// -----------------// /|| XIN|-// | | | HF XTAL (455k - 8MHz)// --|RST XOUT|-// | |// | P4.1/TB1|--> CCR1 - 75% PWM// | P4.2/TB2|--> CCR2 - 25% PWM//// M. Buccini// Texas Instruments Inc.// Feb 2005// Built with IAR Embedded Workbench Version: 3.21A//******************************************************************************。

MSP430单片机看门狗的使用

MSP430单片机看门狗的使用

MSP430单片机看门狗的使用
1、看门狗有三种工作模式:停止模式,计时器模式,看门狗模式。

2、其中后两种模式可以选择的时钟源有:SMCLK 和ACLK。

3、使用后两种模式时要注意单片机所处的状态下看门狗能否工作,如单片
机处在LPM3 时只有ACLK 时钟,处在LPM4 下,没有时钟可以使用。

4、看门狗模式的使用方法
当看门狗计数溢出时,程序复位。

在程序中开启看门狗,在计数溢出前清空看门狗,或重置看门狗,以使其重新计数。

若程序跑飞,看门狗可能没有被清空或重置,就会溢出,使程序复位。

5、MSP430F2274 中,看门狗模式下可以计时最长为1s,若需要以更长的时间复位,可采取的方法,使用其他计数器,计数满后执行((void(*)())
RESET_VECTOR)();或计数满后往看门狗控制寄存器写个错误值或执行一条无效命令:如((void(*)())0x170)();0x170 是外围模块的一个地址,不可能是一个函数地址,所以执行此句将使程序复位。

6、看门狗的具体使用
6.1、停止模式:关闭看门狗
C 语言实现:WDTCTL = WDTPW + WDTHOLD
6.2、计时器模式:作为一个计时器使用,计数器满产生中断时执行看门狗中断函数。

C 语言实现:
主程序中开启看门狗计时器,如:WDTCTL = WDT_MDLY_8;
看门狗中断函数为:
#pragmavector=WDT_VECTOR。

MSP430F149看门狗及其应用

MSP430F149看门狗及其应用

MSP430F149看门狗及其应用1、概述看门狗有两个作用:1、可以防止程序跑飞,若程序跑飞可让单片机复位;2、可作为间隔时间发生器,在中断中进行定期刷新显示、读取数据等对外设的操作。

2、设置不需要看门狗时可用软件关闭,设置:WDTCTL = WDTPW + WDTHOLD;为防止误触发操作WDTCTL需要先写入WDTPW。

作为间隔定时器时详细操作可见MSP430F149.H文件中的宏定义。

3、相关寄存器1、WDTCTL Watchdog Timer RegisterWDTPW Bits15-8Watchdog timer password. Always read as 069h. Must be written as 05Ah, ora PUC will be generated.WDTHOLD Bit 7 Watchdog timer hold. This bit stops the watchdog timer. Setting WDTHOLD= 1 when the WDT is not in use conserves power.0 Watchdog timer is not stopped1 Watchdog timer is stoppedWDTTMSEL Bit 4 Watchdog timer mode select0 Watchdog mode1 Interval timer modeWDTCNTCL Bit 3 Watchdog timer counter clear. Setting WDTCNTCL = 1 clears the count valueto 0000h. WDTCNTCL is automatically reset.0 No action1 WDTCNT = 0000h2、IE1 Interrupt Enable Register 1WDTIE Bit 0 Watchdog timer interrupt enable. This bit enables the WDTIFG interrupt forinterval timer mode. It is not necessary to set this bit for watchdog mode. Because other bits in IE1 may be used for other modules, it is recommendedto set or clear this bit using BIS.B or BIC.B instructions, rather than MOV.Bor CLR.B instructions.0 Interrupt not enabled1 Interrupt enabled4、设计实例4.1 利用WDT定时模式在中断函数中定时操作外设说明:#define WDT_MDLY_32 (WDTPW+WDTTMSEL+WDTCNTCL)void main(void){WDTCTL = WDT_MDLY_32; // Set Watchdog Timer interval to~30msIE1 |= WDTIE; // Enable WDT interruptP2DIR |= 0x01; // Set P1.0 to output direction_BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt}// Watchdog Timer interrupt service routine#pragma vector=WDT_VECTOR__interrupt void watchdog_timer(void){P2OUT ^= 0x01; // Toggle P1.0 using exclusive-OR}4.2 利用WDT定时模式延时WDTCTL = WDT_ADLY_1000;//延时1000ms //延时2sfor(i = 0; i < 3; i++){IFG1 &= ~WDTIFG;while(!(IFG1 & WDTIFG));}IFG1 &= ~WDTIFG;。

MSP430F149的ADC操作

MSP430F149的ADC操作

MSP430F149的ADC操作1)ADC图解图1 ADC的原理图理解:1.ADC的时钟来源可以有四个(ACLK/MCLK/SMCLK/ADC12SO)由ADC12SSELx来选择。

并且可以由ADC12DIVx控制选择分频。

2.ADC的采样参考电压可以由SREF0,SREF1来选择四种参考电压。

3.INCHx控制选择模拟电压输入口。

4.SHSx选择控制方式。

2)ADC的内核1.ADC的转换公式当采样最高电压高过或等于参考电压的时候,是最大值0FFFH。

当采样最低电压低于或是等于参考电压的时候,是最小值000H。

2.控制ADC12的内核可以通过ADC12CTL0和ADC12CTL1两个寄存器来控制。

当不使用的时候可以通过ADC12ON位来控制关闭内核以达到低功耗的目的。

当修改转换使能标志ENC的时候,要先判断ADC12内核是否在进行转换工作,如果在转换工作期间关闭ENC(置零)那么最终得到错误的结果。

3)ADC的时钟来源ADC可以有四种时钟来源。

而ADC12OSC是ADC内置的一个时钟源,大概频率在5MHZ左右,不过该时钟源由个人设备、供电电压和外部温度的影响很大。

4)ADC的参考电压发生器ADC内部可以提供一个可以产生1.5V或是2.5V的产考电压发生器。

当设计使用的时候,需要将一个10uF的电容和一个0.1uF的电容并联到它的输出端。

而且使用的时候,打开发生器至少需要等待17ms以让参考电压达到一个稳定的值。

5)ADC的低功耗当ADC内核不适用的时候,它会自动进入关闭模式,在使用的时候自动苏醒。

而它的参考电压却不会自动关闭,要用手通过REFON手动关闭。

6)ADC的采样保持触发源它的触发源由四种选择。

1.ADC12SC位控制。

2.定时器A输出控制3.定时器B输出控制4.定时器B输出控制7)ADC的采样保持时间ADC的采样保持时间有两种模式。

1.拓展型采样时钟模式。

这个时候,采样的时间由SHI决定,也就是当SHI上升沿的时候开始采样,下降沿的时候结束采样。

msp430f149 PWM

msp430f149 PWM

#include <msp430x14x.h>#define Exterior_8MHz 0x55 //MCLK和SMCLK选择外部8M高频晶振#define u8 unsigned char#define u16 unsigned short#define u32 unsigned longvoid Delay_ms(u16 Time) //软件ms延时,1MHz频率下{#ifdef Exterior_8MHzu16 i,j,z;for(i=0;i<Time;i++)for(j=0;j<10;j++)for(z=0;z<158;z++);#elseu16 i,j;for(i=0;i<Time;i++)for(j=0;j<200;j++);#endif}void Delay_us( u16 Time ) //软件us延时,1MHz频率下{u16 i;for(i=0;i<Time;i++){_NOP();_NOP();}}void System_Clock_Init(void) //系统时钟源配置{#ifdef Exterior_8MHz/*------选择系统主时钟为8MHz-------*/u8 z;BCSCTL1 &= ~XT2OFF; //打开XT2高频晶体振荡器do{IFG1 &= ~OFIFG; //清除晶振失败标志for (z = 0xFF; z > 0; z--); //等待8MHz晶体起振}while ((IFG1 & OFIFG)); //晶振失效标志仍然存在?BCSCTL2 |= SELM_2 + SELS; //MCLK和SMCLK选择高频晶振#else/*------选择系统主时钟为DCO1MHz-------*/DCOCTL =0x00;BCSCTL1 &=~0x07; //清零DCOx,MODx,RSELx位DCOCTL |=DCO2+DCO1+MOD2+MOD1+MOD0; //DCO=6,MOD=7 BCSCTL1 |=RSEL2; //RSEL=4#endif}void main(void){WDTCTL = WDTPW + WDTHOLD; //关闭看门狗System_Clock_Init();//设置定时器A时钟源,1MHz#ifdef Exterior_8MHzTACTL = TACLR; //清零寄存器TACTL = TASSEL_2 + ID_3 + MC_1; //SMCLK,8分频,增计数#elseTACTL = TACLR; //清零寄存器TACTL = TASSEL_2 + ID_0 + MC_1 + TACLR; //SMCLK,0分频,增计数#endifCCR0 = 10000-1; //设定周期10000*1us=10ms,100K//PWM1CCR1 = 2500; //设定脉宽2500*1us=2.5msCCTL1 = OUTMOD_7; //PWM模式7,复位/置位P1DIR |= BIT2; //P1.2 输出P1SEL |= BIT2; //P1.2 TA1//PWM2CCR2 = 7500; //设定脉宽7500*1us=7.5msCCTL2 = OUTMOD_7; //PWM模式7,复位/置位P1DIR |= BIT3; //P1.3 输出P1SEL |= BIT3; //P1.3 TA2while(1){}}。

MSP430F149定时数据采集程序[调试通过]

MSP430F149定时数据采集程序[调试通过]
WDTCTL = WDTPW + WDTHOLD; _DINT(); Delay(50000); Init_Port(); Init_LCD(中断
// 初始化
Init_ADC(); Init_TimerA(); _EINT();
// 打开中断
#pragma vector=TIMERA0_VECTOR //定时器 A0 的中断函数
__interrupt void TimerA_ISR(void)
{
float AD_data;
char a;
char b;
int m;
int n;
// 读出转换结果
P5OUT^=BIT6;
while((ADC12IFG & BIT7)==0) ; //判断有没有转换结束
}
void Init_ADC(void) {
//P6SEL = BIT7; ADC12CTL0 &= ~(ENC);
//设置 P6.7 为模拟输入 A7 //设置 ENC 为 0,从而可以修改 ADC12 寄存器的值
ADC12CTL0 += ADC12ON+MSH; //开 A/D 转换,允许多次采样
P3SEL=0x00; //LCD 所需端口设置 P3DIR=0xFF; P3OUT&=~BIT5; //74HC245 的 DIR 为低电平,输入方向由 B 端到 A 端
P5SEL=0x00; P5DIR=0xFF; P5OUT=0x00;
//P5 输出
P4SEL=0x00; P4DIR=0xFF; P4OUT=0x00;
//P4 输出
P6SEL=0xF0; P6DIR=0xFF; P6OUT=0x00; }
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序如下:
#include <msp430x14x.h> void main(void) {
WDTCTL=WDT_ADLY_1000;//1000ms 定时 //WDT_ADLY_1000=WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL
P6DIR |=BIT0;//P6.0 输出 P6OUT |=BIT0;//P6.0 输出高电平关闭 LED 灯 IE1 |=WDTIE;//允许 WDT 中断 _EINT();//开放系统中断 while(1) {
例:设置看门狗间隔定时器模式,选择 ACLK(32768Hz)时钟源,定时 1s。
WDTCTL=WDTPW + WDTTMSEL + WDTCNTCL + WDTSSEL;
口令
定时工作模式 清除计数器
选择 ACLK
思考:
选择 ACLK(32786Hz)时钟源,定时 250ms/16ms/1.95ms,如何设置 WDTCTL?
说明:
WDTPW——口令,固定格式。
WDTCNTCL——计数器清零
WDTCTL.2(WDTSSEL)——WDTCTL 第二位时钟源选择位,
0:选择 SMCLK
1:选择 ACLK
WDTISx——定时间隔选择控制位,T 为时钟源时钟周期。
WDTISx=00,定时间隔 T×215 WDTISx=01,定时间隔 T×213
2、IE1 中断使能寄存器 1
7
6
5
4
3
2
1
0
NMIIE
WDTIE
rw-0
rw-0
NMIIE:非屏蔽中断允许控制位。
NMIIE=0,禁止 NMI 中断
NMIIE=1,允许 NMI 中断
WDTIE:定时器模式中断允许控制位。看门狗模式不需要设置该位。
WDTIE=0,禁止定时器中断
WDTIE=1,允许定时器中断
WDTISx=10,定时间隔 T×29 WDTISx=11,定时间隔 T×26
2、周期性喂狗:在程序适当位置重新初始化 WDTCTL,注意再次初始化 WDTCTL
的时间间隔必须小于看门狗定时间隔。喂狗方法如下:
WDTCTL=WDTPW+WDTCNTCL+WDTCTL.2+WDTISx;
或通用方法:
WDTCTL = WDTPW + WDTCNTCL + (WDTCTL & 0x00FF);
WDTIFG:看门狗定时器中断标志,定时模式执行中断后自动清除,看门狗模式
需通过软件清除。
WDTIFG=0,无看门狗中断发生
WDTIFG=1,有看门狗中断发生
IFG1 寄存器其余位可能被其他模块使用。
图 4-1 MSP430F149 看门狗定时器结构
§4.2 MSP430F149 单片机看门狗定时器应用
15 ~ 8 WDTPW
7 WDTHOLD
6 WDTNMIES
5 WDTNMI
4
3
WDTTMSEL WDTCNTCL
2 WDTSSEL
1
0
WDTISx
rw-0
rw-0
rw-0
rw-0
r0(w)
rw-0
rw-0 rw-0
WDTPW:WDTCTL 控制寄存器的高 8 位,看门狗定时器的口令:必须以 0x5A 写
250ms 定时:
WDTCTL=WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS0;
16ms 定时:
WDTCTL=WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1;
1.95ms 定时:
WDTCTL=WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0;
MSP430 单片机看门狗定时器的主要功能是当发生软件错误时执行系统复位。在不
用看门狗功能时,可将看门狗定时器配置成间隔定时器,在定时时间到时产生中断。
系统上电后,看门狗定时器被激活,并自动选择 DCOCLK 时钟源配置成 32ms 定时
间隔看门狗模式。MSP430F149 单片机看门狗定时器结构如图 4-1 所示。
WDTNMIES=0,上升沿触发 NMI 中断 WDTNMIES=1,下降沿触发 NMI 中断 WDTNMI:看门狗定时器 NMI 中断选择控制位。选择引脚 RST /NMI 的第二功能 NMI 中断功能。 WDTNMI=0,选择复位功能 WDTNMI=1,选择 NMI 中断功能 WDTTMSEL:看门狗定时器模式选择控制位。 WDTTMSEL=0,看门狗模式 WDTTMSEL=1,间隔定时器模式 WDTCNTCL:看门狗定时器计数器清零控制位。 WDTCNTCL=0,无操作 WDTCNTCL=1,计数器 WDTCNT 清零 WDTSSEL:看门狗定时器时钟源选择控制位。 WDTSSEL=0,选择 SMCLK 时钟信号为时钟源 WDTSSEL=1,选择 ACLK 时钟信号为时钟源 WDTISx:看门狗定时器定时间隔选择控制位,T 为时钟源时钟周期。 WDTISx=00,定时间隔 T×215 WDTISx=01,定时间隔 T×213 WDTISx=10,定时间隔 T×29 WDTISx=11,定时间隔 T×26
一、看门狗模式
系统上电复位或上电清零后,看门狗定时器自动配置成 32ms 间隔看门狗模式(系
统复位后 LFXT1CLK=32768Hz,SMCLK=DCOCLK=1MHz)。
配置看门狗模式的操作步骤:
1、选择相应时钟源和合适的定时间隔:初始化 WDTCTL。
WDTCTL=WDTPW+WDTCNTCL+WDTCTL.2+WDTISx;
入,读出始终为 0x69。如果写入不是 0x5A 将导致系统复位。
WDTHOLD:看门狗保持控制位。 WDTHOLD=0,激活看门狗 WDTHOLD=1,停止看门狗
WDTNMIES:NMI 中断触发沿选择控制位。当 WDTNMI=1 时,引脚 RST /NMI 具有 NMI 中断功能。修改 WDTNMIES 位会触发一个 NMI 中断。为避免意外 NMI 中断,修 改 WDTNMIES 位时应使 WDTNMI=0。
IE1 寄存器其余位可能被其他模块使用。
例如: IE1 |=WDTIE;//开放看门狗定时器定时中断
3、IFG1 中断标志寄存器 1
7
6
5
4
3
2
1
0
NMIIFG
WDTIFG
rw-0
rw-0
NMIIFG:NMI 中断标志位。
NMIIFG=0,无 NMI 中断发生
NMIIFG=1,有 NMI 中断发生
二、MSP430F149 单片机看门狗定时器寄存器
寄存器
寄存器名 类型
初始状态
看门狗定时器控制寄存器
WDTCTL 读/写 0x6900(PUC)
中断使能寄存器 1
IE1
读/写
复位(PUC)
中断标志寄存器 1
IFG1
读/写
复位(PUC)
说明:IFG1.0(WDTIFG)被 POR 复位
1、WDTCTL 看门狗定时器控制寄存器
_BIS_SR(LPM0_bits);//进入低功耗 0(禁止 CPU) } } #pragma vector=WDT_VECTOR __interrupt void WDT_ISR(void) { P6OUT ^=BIT0;//P6.0 取反 }Fra bibliotek程序如下:
#include <msp430x14x.h> void main(void) {
WDTCTL=WDT_ADLY_250;//250ms 定时 //WDT_ADLY_250=WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS0
P6DIR |=BIT0;//P6.0 输出 P6OUT |=BIT0;//P6.0 输出高电平关闭 LED 灯 IE1 |=WDTIE;//允许 WDT 中断 _EINT();//开放系统中断 while(1) {
第四章 MSP430F149 单片机看门狗定时器 本章主要内容:
一、MSP430F149 单片机看门狗定时器相关寄存器 二、MSP430F149 单片机看门狗定时器的操作
本章重点内容
MSP430F149 单片机看门狗定时器的操作
§4.1 MSP430F149 单片机看门狗定时器寄存器
一、看门狗定时器的作用和特点
(1)SMCLK 时钟源 WDTCTL=WDTPW+WDTTMSEL+WDTCNTCL+WDTISx; 说明: WDTPW——口令,固定格式。 WDTTMSEL——选择定时模式 WDTCNTCL——计数器清零 WDTISx——定时间隔选择控制位,T 为时钟源时钟周期。 WDTISx=00,定时间隔 T×215 WDTISx=01,定时间隔 T×213 WDTISx=10,定时间隔 T×29 WDTISx=11,定时间隔 T×26
定时器最多只能产生 8 种定时间隔:2 种时钟源,每种各有 4 种定时间隔。 2、开放看门狗中断:IE1 |=WDTIE; 3、开放系统中断:_EINT(); 三、低功耗模式
当不用看门狗时,直接关闭看门狗,减小功耗。 WDTCTL=WDTPW+WDTHOLD;//关闭看门狗
应用一、利用看门狗定时功能产生周期 1s 的方波,从 P6.0 输出,LED 灯闪烁。
_BIS_SR(LPM0_bits);//进入低功耗 0(禁止 CPU) } } #pragma vector=WDT_VECTOR __interrupt void WDT_ISR(void) { P6OUT ^=BIT0;//P6.0 取反 }
相关文档
最新文档