定时器b之软件中断端口翻转输出5.c

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

C
42
字号
/**********************************************************/
//MSP430 Advanced Developping Components - [BaseComponents_41.C]
////Timer_B, PWM TB1-2, Up/Down Mode, HF XTAL ACLK
////->>> http://www.dutzm.cn
////->>> tel :(0)13130044096
/**********************************************************/
//MSP430高级实验开发组件 - 定时器B之软件中断端口翻转输出
//时钟设置:
////ACLK = MCLK = TBCLK = HF XTAL
//当前演示程序功能描述:
////P4.1/TB1 --> CCR1 - 75% PWM
////P4.2/TB2 --> CCR2 - 25% PWM
/*********************************************************/

#include <msp430x14x.h>

void main(void) {
	WDTCTL = WDTPW + WDTHOLD;		//停止看门狗
	
	BCSCTL1 |= XTS;				//ACLK = LFXT1 = HF XTAL
	
	do {
		IFG1 &= ~OFIFG;			//清除OSCFault标志位
		for (i=0xFF;i>0;i--);		//等待延时
	}while((IFG1&OFIFG));			//判断OSCFault标志位
	
	BCSCTL2 |= SELM_3;			//MCLK = LFXT1
	
	P4DIR |= (BIT1 + BIT2);
	P4SEL |= (BIT1 + BIT2);
	
	TBCCR0 = 128;				//一半的PWM周期
	TBCCTL1 = OUTMOD_6;			//CCR1翻转置位
	TBCCR1 = 32;				//CCR1 PWM脉冲宽度
	TBCCTL2 = OUTMOD_6;			//CCR2翻转置位
	TBCCR2 = 96;				//CCR1 PWM脉冲宽度
	
	TBCTL = TBSSEL_1 + MC_3;		//ACLK,增减计数模式

	_BIS_SR(CPUOFF);			//关闭COU
}

⌨️ 快捷键说明

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