📄 p162_s1.c
字号:
//例:设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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -