标题: 流水灯右移 [打印本页]

作者: abeimao    时间: 2014-8-16 14:59
标题: 流水灯右移
高手大神,我是个初学者,,我看了视频后,能编写左移流水灯,但右移怎么也移动不了,老师们指点一二,谢
main()
{char e;

   if(sw2==0)
   {         
        
         if(sw2==0)         //判断sw2是否按下,按下指行下属括号内容。
      {         
         yc50ms (1);  // 延时抵消按键抖动的时间。
             if(sw2==0)         //再次判断sw2是否按下,按下指行下属括号内容
             {
                   do                  
                         {
                            while(sw2==0);        //判断sw2是否弹起,==0没有弹起做空循环,
                                yc50ms (1);          //  while(sw2==0); 为        假时指行延时 ,延时抵消按键抖动的时间。
                          }  
                 while(sw2==0);             //do_ while再次判断sw2是否弹起为,弹起为假跳出循环 .执行下语句,(sw2==0)为真返回do循环。        
                 }                                 
              do           
             {
                    P2=~(1<<e++);
                    yc50ms (1) ;P2=0Xff;
             }
              while(e<8); e=0;
       }
         }         
   if(sw7==0)
   {           
      
         if(sw7==0)         //判断sw7是否按下,按下指行下属括号内容。
              {         
                 yc50ms (1);  // 延时抵消按键抖动的时间。
                     if(sw7==0)         //再次判断sw2是否按下,按下指行下属括号内容
                     {
                           do                  
                                 {
                                    while(sw7==0);        //判断sw2是否弹起,==0没有弹起做空循环,
                                        yc50ms (1);                 //  while(sw7==0); 为        假时指行延时 ,延时抵消按键抖动的时间。
                                 }  
                            while(sw7==0);             //do_ while再次判断sw2是否弹起为,弹起为假跳出循环 .执行下语句,(sw7==0)为真返回do循环。        
                      }               
                         while(e<0)e=7 ;        
                        {        
                              P2=~(1>>e--);
                              yc50ms (1) ;
                        }
            
            }
         }           
}

作者: 2842687945    时间: 2014-9-16 13:01
#include "reg52.h"
typedef unsigned int uint16;
typedef unsigned char uint8;

void delay(void)
        {
                uint16 i;
                for(i = 10000;i > 0;i--);
        }

void main(void)
        {
                uint8 d,k;
                P0 = 0xff;
               
                while(1)
                {         
                        d = 0x7f;//0111 1111
                        for(k = 0;k < 8;k++)
                        {
                                P0 = d;
                                delay();
                                d = (d>>1)|0x80;
                        }
                }
        }

作者: ztflove51    时间: 2015-3-10 16:19
void main()
{unsigned int i=0;
unsigned char cnt=0;
{ P0=~(0x80>>cnt);
cnt++;
if (cnt>=8)
{cnt=0;}
}
}




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1