实验:MSP430F249 跑马灯

该实验详细介绍了如何使用MSP430F249单片机,通过设置MCLK、ACLK和SMCLK时钟为8MHz,编写代码实现D1到D8的跑马灯效果。在IAR环境中进行编译,遇到并解决了按键响应和仿真报错的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验:MSP430F249 跑马灯

Date: March 14, 2023


基础设定:

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

Untitled

Untitled




实验:MSP430F249 跑马灯

具体内容:

实验名称:跑马灯(MSP430F249)

实验说明:

  1. 通设置系统主时钟(MCLK=8Mhz ) 、辅助时钟(ACLK=8Mhz )、子系统时钟(SMCLK=8Mhz )
  2. 实现如下D1~D8灯轮流亮,然后无限循环

仿真图:

Untitled

  • Code:

    /******************************************************************
    * 实验名称:跑马灯(MSP430F249)
    *        
    * 实验说明:
    *     通设置系统主时钟(MCLK=8Mhz ) 、辅助时钟(ACLK=8Mhz )、
    *      子系统时钟(SMCLK=8Mhz )
    *******************************************************************/
    
    #include <MSP430x24x.h>
    #define uchar unsigned char
    #define uint unsigned int
    
    void delayms(uint t)
    {
        uint i;
        while(t--)
        for(i=1330;i>0;i--);//进过参数的调整
    }
    
    void main(void)
    {
        uchar i;
        WDTCTL=WDTPW + WDTHOLD; // 关闭看门狗
        P4DIR=0x01;
    
        P3SEL=0;            // 设置为普通I/O 口
        P3DIR=0xFF;            // 设置方向
        P3OUT=0xFF;        // 设置初始值
    
        while(1)
        {
          for(i=0;i<8;i++)
          {
            P3OUT=~(1<<i);
            delayms(50);//延时
          }
        }
    }
    

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

image-20230314165227591

问题&解决:

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

    解决:重启proteus软件

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值