您的位置 首页 IOT

MSP单片机完成P3.0方波输出的规划

MSP单片机实现P3.0方波输出的设计-TA0CCR0 = 32768; // 定义中断计数周期1s,时钟频率为32.768MHZ,32768 / 32768 = 1s

TA0CCTL0 = CCIE; // TA0CCR0捕获/比较中断寄存器中断使能

TA0CTL = TASSEL_1 + MC_1 + TACLR; // TASSEL_1,ACLK时钟源 MC_1,增计数模式

_BIS_SR(LPM3_bits + GIE); // 进入LPM3低功耗模式,开启总中断

}

#pragma vector = TIMER0_A0_VECTOR

__interrupt void Timer_A(void) // 定时器中断触发,P3输出口异或,电平翻转

一、使用守时器守时功用,完成守时器单个溢出中止,完成 P3.0 方波输出

#include “cc430x613x.h”

void main()

{

WDTCTL = WDTPW + WDTHOLD; // 中止看门狗守时器

P3DIR |= 0x04; // P3口初始化,设置为输出形式

TA0CCR0 = 32768; // 界说中止计数周期1s,时钟频率为32.768MHZ,32768 / 32768 = 1s

TA0CCTL0 = CCIE; // TA0CCR0捕获/比较中止寄存器中止使能

TA0CTL = TASSEL_1 + MC_1 + TACLR; // TASSEL_1,ACLK时钟源 MC_1,增计数形式

_BIS_SR(LPM3_bits + GIE); // 进入LPM3低功耗形式,敞开总中止

}

#pragma vector = TIMER0_A0_VECTOR

__interrupt void TImer_A(void) // 守时器中止触发,P3输出口异或,电平翻转

{

P3OUT ^= 0x04;

}

二、使用守时器守时功用,完成守时器多个溢出,对应发生多个中止,完成 P3.0 输出

#include “cc430x613x.h”

void main()

{

WDTCTL = WDTPW + WDTHOLD; // 中止看门狗守时器

P3DIR |= 0x04; // P3口初始化,设置为输出形式

TA0CCR0 = 32768; // 界说中止计数周期1s,时钟频率为32.768MHZ,32768 / 32768 = 1s

TA0CCTL0 = CCIE; // TA0CCR0捕获/比较中止寄存器中止使能

TA0CCR1 = 3276; // 界说中止溢出周期100ms

TA0CCTL1 = CCIE; // TA0CCR0捕获/比较中止寄存器中止使能

TA0CTL = TASSEL_1 + MC_1 + TACLR; // TASSEL_1,ACLK时钟源 MC_1,增计数形式

_BIS_SR(LPM3_bits + GIE); // 进入LPM3低功耗形式,敞开总中止

}

#pragma vector = TIMER0_A0_VECTOR

__interrupt void TImer_A(void) // 1s溢出中止

{

P3OUT = ~0x04;

}

#pragma vector = TIMER0_A1_VECTOR

__interrupt void Timer_A1(void) // 100ms溢出中止

{

switch(TA0IV)

{

case 2:P3OUT = 0x04;break;

case 4:break;

case 10:break;

}

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/iot/345069.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部