MSP430所需要的定时信号可以用软件和硬件来种方法来获得。
软件定时:根据需要的时间常数来设计一个延迟子程序,他包含一定的指令。这种方法节省硬件,所需的时间可以灵活调整。缺点是占用CPU。设计延迟子程序时要注意指令的执行时间。
硬件定时:根据所需的延迟时间,用指令对定时器设置定时常数,并用指令来启动定时器。MSP430有丰富的定时器资源:WDT Basic Timer1 Timer_A Timer_B等。
看门狗定时器:如果通过编制程序使WDT定时时间稍大于程序执行一遍所用的时间,并且程序执行过程中都有对看门狗定时器清零的指令,使计数器重新计数,在WDT定时时间到达之前对其清零,而不使系统复位,则程序正常运行。WDT亦可作为内部定时器来使用。
一:WDT寄存器:
1 计数单元WDTCNT,16位增计数器,周期脉冲信号固定,可通过WDTCTL来控制。
2 控制寄存器WDTCTL,由两部分组成,高8位用作口令,低8位是对WDT操作的控制命令。它除了WDT的控制位之外,还有两个位用于设置NMI引脚功能。由IS0,IS1,SSEL3位就可以确定WDT定时时间,WDT最多只能定时8种和时钟源有关的时间。
二:WDT的操作:通过对WDTCTL中的TMSEL和HOLD控制位设置WDT工作在看门狗模式 定时器模式和低功耗模式。
1 看门狗模式:上电复位或系统复位时,WDTCNT WDTCTL的内容被全部清空,进入看门狗模式。所以需要进行WDT的初始化,周期性地对其清零。
2 定时器模式:WDTCTL的TMSEL置位选择定时器模式。定时时间可以通过WDTCTL的CNCTL位置位开始。
3 低功耗模式:控制位HOLD=1时关闭WDT。
三:看门狗定时器的中断控制功能。用刀SFR地址的两位。中断标志WDTIFG位于IFG1.0,初始态为复位。中断允许WDTTIE位于IE1.0,初始复位。