三千里外欲封侯 2023-10-25 17:00 采纳率: 86.4%
浏览 6
已结题

51单片机控制LED移位

img


代码显示零错误零警告,转到单片机是单片机只是响,其他的没反应

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-10-25 18:08
    关注

    【以下回答由 GPT 生成】

    问题出在Delay20ms函数中的i未初始化,导致循环块内始终为真,从而导致主函数无法正常执行。解决方法是在Delay20ms函数之前先初始化i的值为20,同时在循环中将i递减。以下是修改后的代码:

    #include <REGX52.H>
    
    void Delay20ms()
    {
        unsigned char i = 20;
        do
        {
            i--;
        } while (i);
    }
    
    void main()
    {
        while (1)
        {
            for (unsigned char LEDnum = 0; LEDnum < 8; LEDnum++)
            {
                Delay20ms();
                P2 = ~(0x01 << LEDnum);
            }
        }
    }
    

    请尝试使用修改后的代码来运行并控制LED移位。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月3日
  • 已采纳回答 10月26日
  • 创建了问题 10月25日

悬赏问题

  • ¥15 Opencv(C++)异常
  • ¥15 VScode上配置C语言环境
  • ¥15 汇编语言没有主程序吗?
  • ¥15 这个函数为什么会爆内存
  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 springboot aop 应用启动异常
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错