p162_s1.c

来自「msp430开发版程序」· C语言 代码 · 共 33 行

C
33
字号
//例:设ACLK=n/a,MCLK=SMCLK=TACLK=DCO≈800kHz,将P5.1每隔50000个DCO/SMCLK周期取反,产生一个频率为16Hz的方波。P162
//程序代码如下:

/*
将8路的发光二极管电路板接到P5口上观看运行效果
*/

//#include <msp430x44x.h>
#include <msp430x14x.h>	//使之针对MSP430F14X系列单片机
void main(void)
{
	WDTCTL = WDTPW + WDTHOLD;  //停止看门狗
	TACTL = TASSEL1 + TACLR;  //时钟源SMCLK,清除TAR
	CCTL0 = CCIE;  //CCTR0中断使能
	CCR0 = 50000; 
	P5DIR |= 0x02;  //P5.1输出
	TACTL |= MC1;  //启动Timer_A工作于连续计数模式
	_EINT();   //使能系统中断
	
	for(;;)
	{
		_BIS_SR(CPUOFF);   //CPU关闭
		_NOP();
	}	
}
//Timer A0中断服务程序
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
	P5OUT ^= 0x02;  //取反P5.1
	CCR0 += 50000;  //CCR0置入计数值	
}

⌨️ 快捷键说明

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