应用MSP430F149单片机的超低频波形发生器
3 用MSP430F149实现PWM功能的软件设计
在该超低频波形发生器的软件设计中,主要应用到了以下几个功能模块:Timer_B定时器、Timer_A定时器、CPU寄存器、片内的数字控制晶振以及XT1低功耗振荡器,其主程序流程图如图3所示。
3.1 稳定DCO频率模块
DCO 实质上是一个RC振荡器,具有RC振荡器的特点。其在频率的设置和转换上不准确,但由于它是数字控制的振荡器,可以通过一个已知的频率稳定的晶振如 32768Hz手表晶振来进行校准,使DCO达到准确的频率。因为MSP430F149不含有锁频环数字逻辑,所以只有通过软件进行“软锁频”校准 DCO,这十分重要。
程序如下:
Setup_TA mov #TASSEL1+TACLR,TACTL;设置TA时钟SMCLK
Setup_CC2 mov #CCIS0+CM0+CAP,CCTL2;设置CCR2,输入信号:;ACLK,捕获模式
Bis #MC1,TACTL;设置Timer_A:连接模式
Test_DCO bit #CCIFG,CCTL2;检测捕获标志位
jz Test_DCO
bic #CCIFG,CCTL2 ;清除标志位
AdjDCO mov CCR2,R14
;R14=捕获的SMCLK值
sub R15,R14;R14=捕获SMCLK的差值
mov CCR2,R15;上次捕获的SMCLK值
com #Delta,R14 ;Delta=SMCLK/ACLK
jlo IncDCO
jeq DoneFLL
DecDCO dec.b DCOCTL ;调整DCO
jmp Test_DCO
IncDCO inc.b DCOCTL
Jmp Test_DCO
DoneFLL clr CCTL2 ;停止CCR2
Clr TACTL ;停止Timer_A
评论