流水等上下

2024-08-01  

/* #include

 #define uint unsigned int

 #define uchar unsigned char

 void delayn50ms(uint n)

 {

    uint i,j;

    for(i=0;i       for(j=0;j<=10000;j++);

    }

    

    main()

    { 

       

      uchar x,y;

      

        

      while(1)

      {

      

     x=0xfe;

     for(y=0;y<8;y++)

        

     {

        P2=x;

        x=x<<1|0x01;

        delayn50ms(5);

        

     }

      P2=0x00;

      }

       

       

       

 }

 */

 

 

   //程序名:LLL22_4.C

   //程序功能:流水灯控制左移 右移

   //==============================================================

     #include//头文件

      L_M();                    //流水灯左移控制程序

      R_M();                    //流水灯右移控制程序

   //===============================================================

      main()                    //主函数

      {

      while(1)                  //无限循环

           {

      L_M();                    //调用左移程序

      R_M();                    //调用右移程序

      }            

         }

  //========左移控制程序==============================================

     L_M()           //左移主函数


 

{

     unsigned char i,temp,a,b;  //声明无符号字符型变量A,TEMP I,B

     unsigned int  s;           //声明无符号整型变量S

     temp=0xfe;                 //左移初始值

     P2=temp;                   //P1输出信号点亮发光管

     for( s=0;s<30000;s++);     //延时程序

     for (i=1;i<8;i++)          //发光管移动的位数

     {

      a=temp<      b=temp>>(8-i) ;           //数据右移(8-I)位

     P2=a|b ;                   //逻辑或运算,并输出到P1口

     for(s=0;s<30000;s++);      //延时程序

      }

}

  //================================================================

   R_M()

{

   unsigned char i,temp,a,b;     //声明无符号字符型变量A,TEMP I,B

   unsigned int   s;             //声明无符号整型变量S

   temp=0x7f;                    //左移初始值

   P2=temp;                      //P1输出信号点亮发光管

   for(s=0;s<30000;s++);          //延时程序

   for(i=1;i<8;i++)              //发光管移动的位数

  {                              //发光管左移I位

   a=temp>>i;                    

   b=temp<<(8-i);                //数据右移(8-I)位

   P2=a|b;                       //逻辑或运算,并输出到P1口

  for(s=0;s<30000;s++);          //延时程序

  }                     

}


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。