按下msp430开发板上的按键,产生一个中断请求,处理中断服务函数。 KEY1----按下,点亮LED灯 KEY2----按下,熄灭LED灯, KEY1-->|P4.2 ,KEY2-->|P4.3
时间: 2023-10-01 14:08:49 浏览: 71
#include <msp430g2553.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // 停用看门狗定时器
P1DIR |= BIT0; // 配置P1.0为输出
P1OUT &= ~BIT0; // 初始时关闭LED灯
P4DIR &= ~(BIT2 + BIT3); // 配置P4.2和P4.3为输入
P4REN |= BIT2 + BIT3; // P4.2和P4.3启用上拉电阻
P4OUT |= BIT2 + BIT3; // P4.2和P4.3上拉
P4IE |= BIT2 + BIT3; // P4.2和P4.3开启中断
P4IES |= BIT2 + BIT3; // P4.2和P4.3设置为下降沿触发中断
__enable_interrupt(); // 开启中断
while(1); // 进入无限循环
}
// P4.2和P4.3中断服务函数
#pragma vector = PORT4_VECTOR
__interrupt void P4_ISR(void)
{
switch(P4IFG & (BIT2 + BIT3))
{
case BIT2: // P4.2触发中断
P1OUT |= BIT0; // 点亮LED灯
break;
case BIT3: // P4.3触发中断
P1OUT &= ~BIT0; // 熄灭LED灯
break;
}
P4IFG &= ~(BIT2 + BIT3); // 清除P4.2和P4.3中断标志位
}
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)