实验: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


相关文章
|
10天前
|
C语言
独立按键控制LED亮灭、独立按键控制LED状态、独立按键控制LED显示二进制、独立按键控制LED移位——“51单片机”
独立按键控制LED亮灭、独立按键控制LED状态、独立按键控制LED显示二进制、独立按键控制LED移位——“51单片机”
定时器+按键控制LED流水灯模式+定时器时钟——“51单片机”
定时器+按键控制LED流水灯模式+定时器时钟——“51单片机”
|
9月前
51单片机--利用独立按键控制LED
51单片机--利用独立按键控制LED
203 0
|
10月前
|
C语言
MSP430F5529学习笔记(5)——按键切换灯的亮灭
MSP430F5529学习笔记(5)——按键切换灯的亮灭
84 0
LabVIEW控制Arduino LED灯闪烁(基础篇—2)
利用LIAT中的数字I/O函数库,通过LabVIEW控制Arduino Uno控制板上D13管脚上LED灯,实现等间隔闪烁。
|
10月前
|
编译器
MSP430F5529学习笔记(3)——实现LED闪烁和呼吸灯
MSP430F5529学习笔记(3)——实现LED闪烁和呼吸灯
273 0
|
10月前
MSP430F5529学习笔记(4)——按键点灯
MSP430F5529学习笔记(4)——按键点灯
122 0
MSP430F5529学习笔记(4)——按键点灯
单片机开关控制LED的点亮及闪烁
单片机开关控制LED的点亮及闪烁
247 0
单片机——按钮控制LED的不同效果电亮
单片机——按钮控制LED的不同效果电亮
142 0
|
传感器
STM32小项目总结1(部分基础知识+LED+蜂鸣器+按键控制LED+OLED显示屏+光敏传感器控制蜂鸣器)
STM32小项目总结1(部分基础知识+LED+蜂鸣器+按键控制LED+OLED显示屏+光敏传感器控制蜂鸣器)
537 0
STM32小项目总结1(部分基础知识+LED+蜂鸣器+按键控制LED+OLED显示屏+光敏传感器控制蜂鸣器)