新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > MSP430入门教程专题(五)——IO中断检测

MSP430入门教程专题(五)——IO中断检测

作者: 时间:2016-11-26 来源:网络 收藏
MSP430入门教程专题(五)——IO中断检测

//MSP430F14-IO口中断演示程序

//以下是结合MC430F14开发板来实现的按键检处理程序实验.
//设置P2.0为中断口,通过对IO的下边沿触发,使其中断,并将板上的D2 LED取反.
//应用目标板: MC430F14x开发板

#include <msp430x14x.h>

void main(void)
{
WDTCTL = WDTPW + WDTHOLD;// 停止看门狗
P1DIR |= BIT1;// 设P1.1为输出

P2IE |= BIT0;// P2.0中断使能
P2IES |= BIT0;// P2.0 IO口边沿中断触发模式,下边沿有效
P2IFG &= ~BIT0;// P2.0 清IO中断标志位

_EINT();//开总中断允许
LPM4;//进入低功耗模式4,此时单片机功耗最低.
}

//*************************************************************************
// P2口中断服务程序
#pragma vector=PORT2_VECTOR
__interrupt void Port_2(void)
{
P1OUT ^= BIT1;// P1.1取反
P2IFG &= ~0x01;// P2.0清除相应中断标志位
}
//*************************************************************************
//使IO中断时新手们要了解以下几点:
//1- MSP430的IO中,只有P1,P2才有IO中断功能.
//2- P1,P2每组IO是多源中断源,P1IG0-P1IG7或P2IG0-P2IG7是共一个中断源的,用户可以
//通过查房方式来得到是那个IO产生了中断.
//3- 改变P1IES或P2IES中的位可能会引起相应中断标志位置位,与引脚电平有关.
//PxIES.xPxIN.xPxIFG.x
//0->10不变
//0->11可能置位
//1->00可能置位
//1->01不变
//所以,改变P1IES或P2IES后,根据需要清除相关的PxIG.x位.
//4- PxIFG.x所有中断标志位在置位后是需要人为清除的.硬件不会自动清除该标位.

本文引用地址:https://www.eepw.com.cn/article/201611/321918.htm


评论


技术专区

关闭