代码显示零错误零警告,转到单片机是单片机只是响,其他的没反应
1条回答 默认 最新
关注 【以下回答由 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移位。
【相关推荐】
- 你可以看下这个问题的回答https://ask.csdn.net/questions/7730777
- 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:51单片机实验之LED显示
- 您还可以看一下 朱有鹏老师的巫妖王51单片机开发板配套视频课程课程中的 点亮的不只是LED小节, 巩固相关知识点
- 除此之外, 这篇博客: 51单片机按键控制LED亮灭中的 软件消抖 部分也许能够解决你的问题。
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥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报错