📄 io_init.c
字号:
//MSP430F14-IO口中断演示程序
/*************************************************************************/
//以下是结合MC430F14开发板来实现的按键检处理程序实验.
//设置P2.0为中断口,通过对IO的下边沿触发,使其中断,并将板上的D2 LED取反.
//应用目标板:www.Microcontrol.cn MC430F14开发板
/*************************************************************************/
#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.x PxIN.x PxIFG.x
// 0->1 0 不变
// 0->1 1 可能置位
// 1->0 0 可能置位
// 1->0 1 不变
//所以,改变P1IES或P2IES后,根据需要清除相关的PxIG.x位.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -