msp439f6638按键1实现流水灯 按键2实现关闭三盏灯
时间: 2024-05-16 17:14:43 浏览: 5
以下是 MSP439F6638 按键1实现流水灯,按键2实现关闭三盏灯的示例代码:
```c
#include <msp430.h>
#define LED1 BIT0
#define LED2 BIT1
#define LED3 BIT2
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // 停用看门狗定时器
P1DIR |= LED1 + LED2 + LED3; // 配置LED引脚为输出
P1OUT &= ~(LED1 + LED2 + LED3); // 关闭所有LED灯
P1REN |= BIT4 + BIT5; // 配置P1.4和P1.5为输入,启用内部上拉电阻
P1OUT |= BIT4 + BIT5; // 配置P1.4和P1.5为输入,上拉电阻
while (1)
{
if ((P1IN & BIT4) == 0) // 检测按键1是否按下
{
P1OUT |= LED1; // 打开LED1灯
__delay_cycles(1000000); // 延时
P1OUT &= ~LED1; // 关闭LED1灯
__delay_cycles(1000000); // 延时
P1OUT |= LED2; // 打开LED2灯
__delay_cycles(1000000); // 延时
P1OUT &= ~LED2; // 关闭LED2灯
__delay_cycles(1000000); // 延时
P1OUT |= LED3; // 打开LED3灯
__delay_cycles(1000000); // 延时
P1OUT &= ~LED3; // 关闭LED3灯
__delay_cycles(1000000); // 延时
}
else if ((P1IN & BIT5) == 0) // 检测按键2是否按下
{
P1OUT &= ~(LED1 + LED2 + LED3); // 关闭所有LED灯
}
}
}
```
该示例代码中,按键1每按下一次,三盏LED灯将会依次点亮,然后逐个熄灭,如此循环;按键2按下后,三盏LED灯将会同时熄灭。