MSP430F1xx 实现软件锁频环(FLL)例程
// 微控论坛原创主贴 注释翻译整理:DC
// MSP430F149
// ---------------
// /|\| XIN|-
// | | | 32kHz
// --|RST XOUT|-
// | |
// | P5.5|--> SMLCK = target DCO
// | P5.6|--> ALCK = 4096 Hz
//
// 作者: M. Buccini / G. Morton Texas Instruments Inc.
//******************************************************************************
图片中是我用示波器实测的 DCO 波形,得到的频率也较为准确。
#include <msp430x14x.h>
void Set_DCO (void);
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // 停止 WDT
P5DIR |= 0x60; // P5.5,6 输出
P5SEL |= 0x60; // P5.5,6 SMCLK, ACLK 输出
Set_DCO(); // 设置 DCO
while (1);
}
//------------------------------------------------------------------------------
void Set_DCO (void) // 设置 DCO 到选择的频率
//------------------------------------------------------------------------------
//TA 时钟=DCO(约为 800KHZ),TACCR2 捕获时钟=4096HZ(ACLK),每一个 ACLK 周期捕获一次就比较一次做 DCO 调整.
{
//#deJne DELTA 900 // 目标 DCO = DELTA*(4096) = 3686400
#deJne DELTA 256 // 目标 DCO = DELTA*(4096) = 1048576
//#deJne DELTA 70 // 目标 DCO = DELTA*(4096) = 286720
unsigned int Compare, Oldcapture = 0;
评论0
最新资源