zoumadeng.c

来自「走马灯程序 一组IO口8个灯 另外带加速减速功能 初学单片机编写的 硬件测试通过」· C语言 代码 · 共 117 行

C
117
字号
#include<reg51.h>

unsigned char bh,i,j,m,count;

sbit k0=P2^0;
sbit k1=P2^1;

unsigned char delay(count)
{
 for(i=0;i<count;i++)
 for(j=0;j<255;j++);
}

void main()
{
 count=255;

 while(1)
{
  m=0;						   //八个灯齐闪//
  for(m=0;m<7;m++)
  {
   P1=0xff;P2=0X00;
   delay(255);
   P1=0x00;P2=0XFF;
   delay(255);
   }

P2=0X00;
  m=0; bh=0xfe;
  P1=bh;delay(count);				   //从右到左亮灯,一盏//
  for(m=0;m<7;m++)
   {
    bh=(bh<<1)+0x01;
    P1=bh;
    delay(count);
    if(k0==0){count=count+20;}
    if(k1==0){count=count-20;}
    }
P2=0X09;
  m=0; bh=0x7f;						//从左到右亮灯,一盏//
  P1=bh;delay(count);
  for(m=0;m<7;m++)
   {
    bh=(bh>>1)+0x80;
    P1=bh;
    delay(count);
    if(k0==0){count=count+20;}
    if(k1==0){count=count-20;}
    }
 P2=0X06;
  m=0; bh=0xff;						//从右到左依次亮灯//
  for(m=0;m<8;m++)
  {
   bh=(bh<<1);
   P1=bh;
   delay(count);
   if(k0==0){count=count+20;}
   if(k1==0){count=count-20;}
   }
   
   
 m=0;
for(m=0;m<7;m++)
  {
   P1=0x3c;
   delay(255);
   P1=0xff;
   delay(255);
   }

 m=0;
for(m=0;m<7;m++)
  {
   P1=0xc3;
   delay(255);
   P1=0xff;
   delay(255);
   }



   P2=0X03;
  m=0;bh=0x00;						 //从左到右依次亮灯//
  for(m=0;m<8;m++)
  {
   bh=(bh>>1)+0x80;
   P1=bh;
   delay(count);
   if(k0==0){count=count+20;}
   if(k1==0){count=count-20;}
   }
  P2=0X0C;
  m=0;bh=0xff;						  //从左到右依次灭灯//
  for(m=0;m<8;m++)
  {
   bh=(bh>>1);
   P1=bh;
   delay(count);
   if(k0==0){count=count+20;}
   if(k1==0){count=count-20;}
   }
  P2=0X00;
  m=0;bh=0x00;
  for(m=0;m<8;m++)						//从右到左依次亮灯//
  {
   bh=(bh<<1)+0x01;
   P1=bh;
   delay(count);
   if(k0==0){count=count+20;}
   if(k1==0){count=count-20;}
   }

  }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?