实验:MSP430F249 按键控制四个灯,并消抖
创始人
2024-06-03 11:58:20

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

Date: March 13, 2023


基础设定:

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

Untitled

Untitled




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

具体要求:

  1. 四个按键控制四个灯亮灭
  2. 消抖按键

仿真图:

Untitled

代码:

  • Code:

    #include
    void delay()//延时函数
    {unsigned int i;i = 50000;                              do (i--);while (i != 0); 
    }
    void main(void)
    {//预处理&启动程序WDTCTL = WDTPW + WDTHOLD;   //关闭看门狗P3DIR |= 0XFF ;             //初始化设定p3P1DIR |= 0x00 ;             //初始化设定p1char 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;}}
    }
    

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

Untitled

问题&解决:

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

    解决:重启proteus软件

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

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

相关内容

热门资讯

WTI 2月原油期货收涨2.3... 格隆汇1月10日|WTI 2月原油期货收涨2.35%,报59.12美元/桶。ICE布伦特3月原油期货...
海南零关税低税率效益渐显 航拍海南洋浦国际集装箱码头。 张 茂摄(中经视觉) 在海南自由贸易港建设进程中,“零关税”“低税率”...
坚持“党领商行” 以红色为底培... 广东外语外贸大学党委书记石佑启强调,“广外是一所赓续红色血脉、继承优良传统,有底蕴、有特色、有担当的...
医保便民服务再升级 朱慧卿作(新华社发) 看病缴费“多次排队”“排长队”,这件困扰老百姓的烦心事有望得到解决。国家医保局...
“物理AI”成CES热议新词 2026年美国拉斯维加斯消费电子展(CES)正在举行。作为国际消费电子领域的“风向标”,CES历来是...