• 流水等上下


    /* #include <reg52.h>
     #define uint unsigned int
     #define uchar unsigned char
     void delayn50ms(uint n)
     {
        uint i,j;
        for(i=0;i<n;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<reg51.h>//头文件
          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<<i;                //发光管左移I位
          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++);          //延时程序
      }                     
    }
     

    归去来兮
  • 相关阅读:
    mybatis 中的稍微复杂些的sql语句
    Why doesn't Genymotion run on Windows 10?
    java.lang.NoSuchMethodError: 属于jar包冲突
    sqlserver修改某列为行号
    手机App开发
    java连接SQLserver
    svn忽略target
    JaxWsDynamicClientFactory弃用了,改成org.codehaus.xfire.client;
    FileDataSource java的文件操作
    解决Navicat无法连接Oracle的问题
  • 原文地址:https://www.cnblogs.com/zoute/p/7978939.html
Copyright © 2020-2023  润新知