1。定时器使用查询和中断两种方式。大多数逻辑芯片输出0的能力大于输出1的能力。
(1)查询方式:TMSEL决定看门狗的工作模式,置一,看门狗工作在定时模式。SSEL选择看门狗定时器的时钟源。SSEL置一。IS0IS1决定了看门狗定时器的输出频率。(注意:使用查询方式时候要清除中断标志)
main()
{
...
while(True)
{
if(IFG1&0x01)
{
P1OUT ^= 0x01;//翻转状态
IFG &=0xfe;//清除中断标志位
}
}
}
(2)中断方式:WDTCTL与查询方式相同设置,另外需要置位中断允许位(WDTIE,位于IE1.0)使得单片机能够响应这一中断。
#pragma vector=WDT_VECTOR
__interrupt void WDT_ISR()
{
P1OUT ^=0x01;
}
main()
{
...
while(True);
}
2.PWM(用定时器A 实现)
(1)可用提高频率的方法来取得DA的效果,但是有些场合仍不能满足要求,这要就需要一个积分电路来获得理想的DA效果
(2)对TA的设置:比较/捕获模块控制寄存器:捕获比较寄存器CCRx.
注意:输出PWM的周期应远小于积分电路的积分常数。提高DA精度CCR0不宜过小。