#include <msp430x41x.h>
unsigned int L7=~((0X01)<<6);
unsigned int L8=~((0X01)<<7);
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // 禁止看门狗定时器
//P1DIR |= 0x01; // 设置P1.0为输出方向
P2DIR = 0xff; //设置P2口方向为输出
P2OUT = 0xff;
P2OUT |= BIT0;
P1IE |= 0x10; // P1.4中断使能
P1IES |= 0x10; // P1.4设置为高低边沿中断
P1IFG &= ~0x10; // P1.4中断标志位清零
_BIS_SR(LPM4_bits + GIE); // 进入LPM4中断
while(1) // 等待中断
{
}
}
// 端口1的中断服务历程
#pragma vector=PORT1_VECTOR
__interrupt void Port_1(void)
{
P2OUT ^= 0x01; // P1.0 状态翻转
P1IFG &= ~0x10; // P1.4 中断标志清零
}
使用一根杜邦线,一端接VCC,一端用来触碰P1.4口,就会发现LED灯在7和8之间闪烁
本文介绍了一个基于MSP430X41X系列单片机的简单程序,通过设置P2口输出并利用P1.4口触发中断实现LED灯在特定位置的闪烁效果。程序首先配置了看门狗定时器、P2口方向及初始输出状态,并使能了P1.4的边沿触发中断。
733

被折叠的 条评论
为什么被折叠?



