⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key.c

📁 学习MSP430的一些简单例子
💻 C
字号:
/*****************************************************************************\
文件名:key.c
编写者:czhang
描述:使用P1.5、P1.6两个I/O口接按键。

版本:1.0	2004-5-10
\*****************************************************************************/
#include <MSP430x14x.h>
#include "key.h"

//选用端口定义
#define KEYDIR P1DIR
#define KEYIES P1IES
#define KEYIE P1IE
#define KEYIN P1IN
#define KEYIFG P1IFG

//定义键盘管脚
#define KEY0 BIT5
#define KEY1 BIT6

#define SET_GIE __bis_SR_register(GIE)	//置位全局中断控制位
/*****************************************************************************
初始化
*****************************************************************************/
void InitKey()
{
	KEYDIR &= ~(KEY0+KEY1); 	//设置端口为输入
	KEYIES |= KEY0+KEY1;    	//设置下降沿中断
	KEYIE |= KEY0+KEY1; 	 	//打开端口中断
}

/*****************************************************************************
端口1中断函数
多中断中断源:P1IFG.0~P1IFG7
******************************************************************************/
#pragma vector=PORT1_VECTOR
__interrupt void Port1()
{
	static unsigned char biaozhi=0;
	if((P1IFG&BIT5) ==BIT5)
	{
		//处理P1IN.5中断      
		SET_GIE;
		P1IFG &= ~BIT5;		//清除中断标志
		biaozhi=1;     
		while(biaozhi==1);
	}
	else if((P1IFG&BIT6) ==BIT6)
	{
		//处理P1IN.6中断
		P1IFG &= ~BIT6;		//清除中断标志
		biaozhi=0;     
	}
	else
	{
		P1IFG =0;
	}

	LPM3_EXIT;	//退出中断后,退出低功耗模式。若退出中断后希望保留低功耗模式,需
					//将本句屏蔽
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -