本文主要是介绍MSP4305xx/6xx系列 低频振荡器REFO编程实例(附源码+电路图),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
MSP430 5x6x系列内部校准的低频REFO可用于成本敏感的应用场合,可以省去外部晶体。REFO内部校准为32.768kHz,可提供一个稳定的参考频率。
REFO可作为FLL的频率输入源使用。REFO与FLL相结合,提供了一个灵活的系统时钟设置范围,而不需要晶体。REFO不使用时不消耗电力。
本实例示范如何使用REFO,并将其作为ACLK SMLK MCLK时钟来使用,通过将此三个时钟输出到特定的管脚,便于示波器测量验证。
工程介绍:
MCU型号: MSP430F6736A
编译平台: IAR for MSP430 6.40.1
实验项目: 测试 MCU 内部时钟 REFOCLK ,选择 REFOCLK 作为 ACLK SMCLK MCLK,并将 ACLK SMCLK MCLK 输出到外部管脚, 以方便测试验证
#include "msp430.h"
#include "msp430f6736a.h"#define DELAY_1s __delay_cycles(32768)
/* 延时1秒: 延时32768个MCLK时钟周期,因为MCLK=REFOCLK=32.768kHz */void main(void){WDTCTL = WDTPW + WDTHOLD; /* 禁止看门狗 */__bic_SR_register(GIE); /* 禁止所有中断 *//* 选择 REFO作为 ACLK, SMCLK, MCLK */UCSCTL4 = SELA__REFOCLK | SELS__REFOCLK | SELM__REFOCLK;/***************************** 管脚96 : PJ.0 | SMCLK | TDO 包含 SMCLK 外围模块功能* 管脚97 : PJ.1 | MCLK | TDI | TCLK 包含 MCLK 外围模块功能* 管脚99 : PJ.3 | ACLK | TCK 包含 ACLK 外围模块功能* 所以将 PORT J.0 J.1 J.3 的功能选择: 外围模块功能, 所以就可以输出对应的时钟信号* PJ.0 功能选择: SMCLK* PJ.1 功能选择: MCLK* PJ.3 功能选择: ACLK*****************************/PJSEL = BIT3 | BIT1 | BIT0;PJDIR = 0xff; /* PJ输出模式 */PJOUT = 0xff; /* PJ输出0xff *//* PORT 3 : P3.7 P3.6 P3.5 P3.4用作流水灯输出, 管脚功能:I/O 模式:输出 */P3SEL = 0;P3DIR = 0xf0;P3OUT = 0xf0;/* 流水灯循环间隔时间=1s, 用来指示程序运行状态 */char LampValue;LampValue = 0x10;while(1){P3OUT = ~LampValue;LampValue = LampValue<<1;if (LampValue == 0x00) LampValue = 0x10;DELAY_1s;}
}
这篇关于MSP4305xx/6xx系列 低频振荡器REFO编程实例(附源码+电路图)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!