qq_55428031 2022-01-30 11:16 采纳率: 0%
浏览 86

#keil中编写的延时程序,第二个for语句没循环。求指导

过年回家用自己的台式练练c51,写了一个流水灯程序。其中延时函数有两个for循环构成。现在的问题是进入了第一个for循环下,正常应该执行第二个for循环,但是实际上,并没有执行。我看了j的变量。根本没有赋值。那也就是说,根本没有进入第二个循环。然后我就开始测试,发现流水灯也不是按照1s的速度进行的。这就很奇怪了。我用笔记本时候,就很正常。用台式机就这样。代码如下:



#include"reg52.h"
#include"intrins.h"
#define u8 unsigned char
#define u16 unsigned int
/*延时函数*/
void delay(u8 ten)
{
    u8 i,j;
    for(i=ten;i>0;i--)
    {
         for(j=110;j>0;j--);
    }
}
main()
{
   u8 temp ;//定义一个变量
   temp=0xfe;//给变量赋值
    P2=temp;//把变量的值赋予P2端口
    while(1)
    {
        temp=_crol_(temp,1);//把变量移位
        P2=temp;//赋值给P2端口
        delay(1000); //延时1s
    }

}



  • 写回答

1条回答 默认 最新

  • 关注

    应该是循环了,你可以在内循环写个打印语句测试一下。

    评论

报告相同问题?

问题事件

  • 创建了问题 1月30日

悬赏问题

  • ¥30 电脑误删了手机的照片怎么恢复?
  • ¥15 (标签-python|关键词-char)
  • ¥15 python+selenium,在新增时弹出了一个输入框
  • ¥15 苹果验机结果的api接口哪里有??单次调用1毛钱及以下。
  • ¥20 学生成绩管理系统设计
  • ¥15 来一个cc穿盾脚本开发者
  • ¥15 CST2023安装报错
  • ¥15 使用diffusionbert生成文字 结果是PAD和UNK怎么办
  • ¥15 有人懂怎么做大模型的客服系统吗?卡住了卡住了
  • ¥20 firefly-rk3399上启动卡住了