微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > MSP430入门教程专题(五)——IO中断检测

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

时间: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所有中断标志位在置位后是需要人为清除的.硬件不会自动清除该标位.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top