定时器a之端口输出模式7.c

来自「包含了msp430单片机上的ADC、定时器A、定时器B、基础时钟、看门狗的初始化」· C语言 代码 · 共 42 行

C
42
字号
/**********************************************************/
//MSP430 Advanced Developping Components - [BaseComponents_32.C]
////Timer_A, PWM TA1-2, Up Mode, HF XTAL ACLK
////->>> http://www.dutzm.cn
////->>> tel :(0)13130044096
/**********************************************************/
//MSP430高级实验开发组件 - 定时器A之端口输出模式
//时钟设置:
////ACLK = MCLK = TACLK = HF XTAL
//当前演示程序功能描述:
////TimerA配置为增计数模式,使用P12,P13输出,在复位置位模式下
////由CCR0设置PWM周期,CCR1和CCR2分别设置两路输出的脉冲宽度
/*********************************************************/

#include <msp430x14x.h>

void main(void) {
	unsigned int i;
	WDTCTL = WDTPW + WDTHOLD;		//停止看门狗
	
	BCSCTL1 |= XTS;				//ACLK = LFXT1 = HF XTAL
	
	do {
		IFG1 &= ~OFIFG;
		for (i=0xFF;i>0;i--);
	}while((IFG1&OFIFG));
	
	BCSCTL2 |= SELM_3;			//MCLK = LFXT1
	
	P1DIR |= (BIT2 + BIT3);			//P12和P13端口输出方向
	P1SEL |= (BIT2 + BIT3);			//P12和P13端口第二功能
	CCR0 = 512-1;				//PWM周期
	CCTL1 = OUTMOD_7;			//CCR1复位置位模式
	CCR1 = 384;				//CCR1的脉冲宽度
	CCTL2 = OUTMOD_7;			//CCR2复位置位模式
	CCR2 = 128;				//CCR1的脉冲宽度
	
	TACTL = TASSEL_1 + MC_1;		//ACLK,增计数模式
	
	_BIS_SR(LPM3_bits);			//进入LPM3低功耗模式
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?