MSP430-IO中断方式按键检测.docVIP

  • 12
  • 0
  • 约4.1千字
  • 约 6页
  • 2017-12-27 发布于河南
  • 举报
MSP430-IO中断方式按键检测

MSP430-IO中断方式按键检测 MSP430入门教程专题(六)——IO中断方式按键检测//MSP430F14-利用IO中断方式实现按键检测程序 /*************************************************************************/ //以下是结合MC430F14开发板来实现的按键检处理程序实验. //分别使用了采个三个按键接到MSP430的通用IO口,按任意一个按键可以使板上的LED反转. //例程中,单片机一直处于最低功耗状态,用户可以通过按下按键后唤醒单片机.单片机唤醒 //后再进行去抖动动作.同时执行键处理程序.处理完后再次进入LPM4低功耗模式. //在本程序中用户可以灵活地修改程序来实现你相关的功能. //本程序适用在手持设备或电池供电的设计中.此程序结构比较通用,级用户可参与或套用修改. //应用目标板:MC430F14x开发板 /*************************************************************************/ #include msp430x14x.h #define key1 0x01 #define key2 0x02 #define key3 0x04 #define delay_small 200 #define key_1 0xfe //定义返回键值1 #define key_2 0xfd //定义返回键值2 #define key_3 0xfb //定义返回键值3 void key_process_0(void); void key_process_1(void); void key_process_2(void); void key_check (void); unsigned char key_value; //定义键值全局变是 //************************************************************************* void main(void) { WDTCTL = WDTPW + WDTHOLD; // 停止看门狗 P1OUT |= BIT1; //关LED P1DIR |= BIT1; // 设置P1.1为输出 //以下设置是采用不同的编写方式,新手可以参考使用 P2IE |= BIT0+BIT1+BIT2; // P2.0-P2.2 IO口中断使能 P2IES |= 0x07; // P2.0-P2.2 IO口边沿触发中断方式设置 P2IFG = ~(key1+key2+key3); // P2.0-P2.2 IO口中断标志位清除 _EINT(); //中断允许 // 或直接写成 _BIS_SR(LPM4_bits + GIE); LPM4; // 进入低功耗LPM4,此时单片机功耗最低 while(1) { P2IE = ~(BIT0+BIT1+BIT2); // P2.0-P2.2 IO口关闭中断允许 P2IFG = ~0x07; // P2.0-P2.2 IO口中断标志位清除 key_check (); switch (key_value) //对键值进行处理.采switch语法结构查询 { case key_1: key_process_0(); //调用键处理程序1 break;

文档评论(0)

1亿VIP精品文档

相关文档