shooting_star77 2023-03-13 23:02 采纳率: 92.3%
浏览 31
已结题

关于c51单片机的一个疑惑

img


请问这个独立按键控制led灯的程序为什么要加while循环?去掉while循环之后我发现单片机还是能正常运行的。

  • 写回答

4条回答 默认 最新

  • qllaoda 2023-03-14 09:09
    关注

    加个循环是为了让单片机反复执行,如果不加循环,单片机执行完你这些程序后,还会继续往后面跑的,但后面的空闲的flash里的内容按指令执行的话,往往都是不会产生什么外部输出,也不影响程序执行流程的指令,虽然也有几十K,但是以单片机的工作频率,单片机在毫秒级的时间内就会执行完,执行完成后,硬件逻辑会让单片机重头开始执行,所以看上去效果也是在循环,和加个while循环差不多。
    但是后面的空闲flash的内容有一定的不确定性,所以实际做产品的时候不要这么干。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月22日
  • 已采纳回答 3月14日
  • 创建了问题 3月13日

悬赏问题

  • ¥15 JNA调用DLL报堆栈溢出错误(0xC00000FD)
  • ¥15 请教SGeMs软件的使用
  • ¥15 关于#stm32#的问题,请各位专家解答!(语言-c语言)
  • ¥15 自己用vb.net编写了一个dll文件,如何只给授权的用户使用这个dll文件进行打包编译,未授权用户不能进行打包编译操作?
  • ¥50 深度学习运行代码直接中断
  • ¥15 关于#单片机#的问题,请各位专家解答!
  • ¥20 需要完整的共散射点成像代码
  • ¥15 编写vba代码实现数据录入工作
  • ¥15 做过TCL海信电视小米电视相关影视会员软件私我
  • ¥15 Mapreduce是正常的,在运行其他jar包时并没有任何问题,只是在做LogCount.jar 时出的问题。如图所示