实验:MSP430F249 按键控制四个灯,并消抖

简介: 实验:MSP430F249 按键控制四个灯,并消抖

实验:MSP430F249 按键控制四个灯,并消抖

Date: March 13, 2023


基础设定:

IAR基础设置:设置设备与输出文件及格式

cec774a3e2a74ded32ba892edb355555.png

46374153b757218c96ec2a5329313cb5.png


实验内容:MSP430F249 按键控制四个灯,并消抖

具体要求:

1.四个按键控制四个灯亮灭

2.消抖按键


仿真图:

3c94edf4cc05c926e3ec7f7591cc6078.png

代码:


Code:

#include<msp430x24x.h>
void delay()//延时函数
{
  unsigned int i;
  i = 50000;                              
    do (i--);
    while (i != 0); 
}
void main(void)
{
  //预处理&启动程序
  WDTCTL = WDTPW + WDTHOLD;   //关闭看门狗
  P3DIR |= 0XFF ;             //初始化设定p3
  P1DIR |= 0x00 ;             //初始化设定p1
  char k;
  for(;;)
  {
    //功能:消抖  确认按键是否按下,采用消抖技术
    if ((P1IN&0x0f)!=0x0f) //判断p1.0-p1.3
    {
      delay(); //延时消抖
      if((P1IN&0x0f)!=0x0f) //确认判断p1.0-p1.3
      {
        if((P1IN&BIT0)==0) k=0;
        if((P1IN&BIT1)==0) k=1;
        if((P1IN&BIT2)==0) k=2;
        if((P1IN&BIT3)==0) k=3;
      }
      while((P1IN&0x0f)!=0x0f);//等待按键松开
    }
      switch(k)
      {
      case 0:
            P3OUT=~0x01;
            break;
      case 1:
            P3OUT=~0x02;
            break;
      case 2:
            P3OUT=~0x04;
            break;
      case 3:
            P3OUT=~0x08;
            break;
      default:break;
    }
  }
}

运行结果:没有任何报错与警告

4f781440021407320daf9269c11472d9.png


问题&解决:


1.仿真运行时,按键按下灯不亮,或者一直亮


解决:重启proteus软件


2.仿真报Unrecognized opcode at 0x000006: 0x0000的错误


解决:设备问题,IAR软件中选中MSP430F249


相关文章
【单片机】按键声光报警实验(蜂鸣器)
【单片机】按键声光报警实验(蜂鸣器)
591 0
|
4月前
STM32CubeMX 按键控制LED
STM32CubeMX 按键控制LED
69 0
【51单片机】Kn独立按键控制【LED亮灭】【LED状态】【LED二进制式显示】【LED不断移位】(4)
【51单片机】Kn独立按键控制【LED亮灭】【LED状态】【LED二进制式显示】【LED不断移位】(4)
定时器+按键控制LED流水灯模式+定时器时钟——“51单片机”
定时器+按键控制LED流水灯模式+定时器时钟——“51单片机”
|
6月前
|
C语言
独立按键控制LED亮灭、独立按键控制LED状态、独立按键控制LED显示二进制、独立按键控制LED移位——“51单片机”
独立按键控制LED亮灭、独立按键控制LED状态、独立按键控制LED显示二进制、独立按键控制LED移位——“51单片机”
51单片机--利用独立按键控制LED
51单片机--利用独立按键控制LED
284 0
|
C语言
MSP430F5529学习笔记(5)——按键切换灯的亮灭
MSP430F5529学习笔记(5)——按键切换灯的亮灭
118 0
|
编译器
MSP430F5529学习笔记(3)——实现LED闪烁和呼吸灯
MSP430F5529学习笔记(3)——实现LED闪烁和呼吸灯
499 0
单片机——按钮控制LED的不同效果电亮
单片机——按钮控制LED的不同效果电亮
182 0
单片机开关控制LED的点亮及闪烁
单片机开关控制LED的点亮及闪烁
343 0