51单片机 为何同样的延时程序,延时效果却有长有短

2019-07-15 13:37发布

//让实验板上的灯来回呈现流水灯的效果。 但上的很快  下的很慢    大伙看视屏吧[media=x,500,375][/media]


#include<REG52.H>
  #define uint unsigned int

  void main()
{
   uint i,j;
   while(1)
  {
   P1=~(1<<j++);  //0000  0001 ,J++是程序完成后自加一个数。1<<j++就是说J等于1移1位,3就是移3位,整体取反是因为灯0才亮
   for(i=0;i<20000;i++);
     if(8==j)  //限位J  是否自加到8 因为只有8个数码管
       {
        j=0;

        while(j<6) //限位 不能让他跳出右移程序
         {

       P1=~(0X40>>j++);
        for(i=0;i<20000;i++);


          }
           j=0;
       }
  }


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。