⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 text1.c

📁 单片机写的程序都含有Protues仿真结果
💻 C
字号:
#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
delay(uint k)
{uint i,j;
for(i=0;i<k;i++)
   {for(j=0;j<121;j++)
        {;}
   }
}

main()
{
uint d,c,b,a;
 uchar Data=0x80,
       Data1=0x01,
       Data2=0x03,
       Data3=0xf7,
       Data4=0x0f,
       Data5=0xf0,
	   Data6=0xc0,
	   Data7=0xfe,
	   Data8=0xfb;
 uchar SG[]={0X00,0X80,0Xc0,0Xe0,0Xf0,0Xf8,0xfc,0XfE,0Xff};
 uchar SG1[]={0X01,0X01,0X03,0X07,0X0F,0X1F,0X3F,0X7F,0XFF};


P3=0x00;
P1=0XFF;
delay(2000);
/*第1种**********************全亮以等待哦*********************************/
 for(b=0;b<10;b++)
{ P3=0XF8;
 P0=0xaa;
 delay(30);
  P0=0x55;
delay(30);
  }
/*第2种************************抖动****************************************/

for(b=0;b<2;b++)
   {P3=0x00;
    P0=0x0ff;
    delay(300);
    P0=0x00;
	delay(300);}
    /*第3种*************************************8**一亮一灭两次****************************************/
for(b=0;b<5;b++)
{ 
P3=0x00;
P0=0xaa;
delay(50);
P0=0x55;	  
delay(500);
}
/*第4种*****************牵尾闪烁**********************/





for(b=0;b<35;b++)
{ 
P3=0x00;
P0=0xaa;
delay(50);
P0=0x55;	  
delay(10);
}
/*第5种*****************加速牵尾闪烁**********************/


 for(b=0;b<3;b++)
	  {P3=Data7;
	  Data7=_crol_(Data7,1);
	  P0=Data;
  	  for(a=0;a<6;a++)
	        {	
	    
	    Data=_cror_(Data,2);
		P0=Data;
		delay(50);
		
		Data=_crol_(Data,1);
		P0=Data;
		delay(50);
		   }
		   Data=0x80;
	  	}
   /*第6种************************闪烁前进*****************************************/


  P3=0xfe;
		for(a=0;a<8;a++)
		{	P0=Data;
			Data=_cror_(Data,1);
			delay(50);
		
		}
		P3=0xfd;	
		for(a=0;a<8;a++)
		{	P0=Data;
			Data=_cror_(Data,1);
			delay(50);
			
		 }
		P3=0xfb;	
		for(a=0;a<8;a++)
		{	P0=Data;
			Data=_cror_(Data,1);
			delay(50);
		
		}
   /*第7种*************从头亮到尾********************/
	
       P3=0xfb;
		for(a=0;a<8;a++)
		{	P0=Data1;
			Data1=_crol_(Data1,1);
			delay(10);
			
		}
		P3=0xfd;	
		for(a=0;a<8;a++)
		{	P0=Data1;
			Data1=_crol_(Data1,1);
			delay(10);
			
		 }
		P3=0xfe;	
		for(a=0;a<8;a++)
		{	P0=Data1;
			Data1=_crol_(Data1,1);
			delay(10);
			
	
         }
	/*第8种**************从尾亮到头(加速哦)********************/
	



  
for(d=0;d<2;d++)
  {
   for(a=0;a<3;a++)
  Data7=0xfe;
  {
 for(c=0;c<3;c++)
   {P3=Data7;
    for(b=0;b<7;b++)
        {P0=Data6;
        Data6=_cror_(Data6,1);
        delay(50);
		}
		Data6=0xc0;
        Data7=_crol_(Data7,1);
   }
   
    Data8=0xfb;
 for(c=0;c<3;c++)
       { P3=Data8;
        for(b=0;b<7;b++)
        {P0=Data2;
        Data2=_crol_(Data2,1);
        delay(10);
		}
		Data2=0x03;
        Data8=_cror_(Data8,1);
       }

   }




for(a=0;a<3;a++)
  Data7=0xfe;
  {
 for(c=0;c<3;c++)
   {P3=Data7;
    for(b=0;b<7;b++)
        {P0=Data6;
        Data6=_cror_(Data6,1);
        delay(10);
		}
		Data6=0xc0;
        Data7=_crol_(Data7,1);
   }
   
    Data8=0xfb;
 for(c=0;c<3;c++)
       { P3=Data8;
        for(b=0;b<7;b++)
        {P0=Data2;
        Data2=_crol_(Data2,1);
        delay(50);
		}
		Data2=0x03;
        Data8=_cror_(Data8,1);
       }

   }
}


 /*第9种***************************两个变速流动亮*********************************************************/


 		
		
		
		
		P3=0xfe;
		for(a=0;a<8;a++)
		{	P0=Data;
			Data=_cror_(Data,2);
			delay(100);
			
		}
		P3=0xfd;	
		for(a=0;a<8;a++)
		{	P0=Data;
			Data=_cror_(Data,2);
			delay(100);
		
		 }
		P3=0xfb;	
		for(a=0;a<8;a++)
		{	P0=Data;
			Data=_cror_(Data,2);
			delay(100);
			
		}
      
	  /*第10种****************两个一起双头亮到尾*******************/
	
       P3=0xfb;
		for(a=0;a<8;a++)
		{	P0=Data1;
			Data1=_crol_(Data1,2);
			delay(100);
			
		}
		P3=0xfd;	
		for(a=0;a<8;a++)
		{	P0=Data1;
			Data1=_crol_(Data1,2);
			delay(100);
			
		 }
		P3=0xfe;	
		for(a=0;a<8;a++)
		{	P0=Data1;
			Data1=_crol_(Data1,2);
			delay(100);
			
	
                               }
	/*第11种**************两个一起双尾亮到头*******************/


 for(b=0;b<2;b++)
   {     P3=0xfe;
		for(a=0;a<8;a++)
		{	P0=Data;
			Data=_cror_(Data,1);
			delay(50);
			
		}
		P3=0xfd;	
		for(a=0;a<4;a++)
		{	P0=Data;
			Data=_cror_(Data,1);
			delay(50);
			  
   		 }
		 	P3=0xfb;	
		for(a=0;a<8;a++)
		{	P0=Data1;
			Data1=_crol_(Data1,1);
			delay(50);
			
   		 }
	   	P3=0xfd;	
		for(a=0;a<4;a++)
		{	P0=Data1;
			Data1=_cror_(Data1,1);
			delay(50);
			  
   		 }
		 Data=0x80;
   		 Data1=0x01;
   	 }
   
 /*第12种************************给我打两个圈啦***********************************************/  

        

      P3=0xfe;
		for(a=0;a<8;a++)
		{	P0=Data;
			Data=_cror_(Data,1);
			delay(25);
			
		}
		P3=0xfd;	
		for(a=0;a<4;a++)
		{	P0=Data;
			Data=_cror_(Data,1);
			delay(25);
			  
   		 }
		 	P3=0xfb;	
		for(a=0;a<8;a++)
		{	P0=Data1;
			Data1=_crol_(Data1,1);
			delay(25);
			
   		 }
	   	P3=0xfd;	
		for(a=0;a<4;a++)
		{	P0=Data1;
			Data1=_cror_(Data1,1);
			delay(25);
			  
   		 }
		 Data=0x80;
   		 Data1=0x01;
  
	 
/*第13种**********************你也太慢了,你加一点速度了(加一倍)*****************************************************/	 		
		
		

	
	

 /*第14种***************************一次哦*********************************************************/



 for(a=0;a<2;a++)	
 {	for(b=0;b<3;b++)  
	 { P3=Data7;
	 Data7=_crol_(Data7,1);
	   P0=0x81;
	   delay(100);
	   	   P0=0x42;
	   delay(100);
	   	   P0=0x24;
	   delay(100);
	   	   P0=0x18;
	   delay(100);
	 }
   }
/*第15种******************中间移位******************************/

 for(a=0;a<2;a++)	
 {	for(b=0;b<3;b++)  
	 { P3=Data7;
	 Data7=_crol_(Data7,1);
	   P0=0x81;
	   delay(100);
	   	   P0=0x42;
	   delay(100);
	   	   P0=0x24;
	   delay(100);
	   	   P0=0x18;
	   delay(100);
	   
	   	   P0=0x24;
	   delay(100);
	   	   P0=0x42;
	   delay(100);
		   P0=0x81;
	   delay(100);
	 }
	 Data7=0xfe;}
/*第16种***********************去拉要回来哦*****************************/	

 P3=0XFA;
 for(a=0;a<8;a++)
   {  P0=SG1[a];	
	 delay(50);}
 for(a=8;a>0;a--)
   {  P0=SG1[a];
	 delay(50);
	}
/*第17种*******************反过来搞一次哦*************************/
 for(b=0;b<2;b++)
 {
  P3=0XFA;
 for(a=0;a<8;a++)
   {  P0=SG[a];	
	 delay(50);}
 for(a=8;a>0;a--)
  {  P0=SG1[a];
	 delay(50);
  }
 for(a=0;a<8;a++)
  {  P0=SG1[a];
	 delay(50);
  }
   for(a=8;a>0;a--)
  {  P0=SG[a];
	 delay(50);
  }
}
/*第18种******************************左右流两次********************************/
 P3=0x00;
 for(b=0;b<8;b++)
 { P0=Data;
 Data=_cror_(Data,1);
for(a=0;a<10;a++)
{ P0=Data;;
  delay(50);
  P0=0x00;
  delay(20);

}

  }

/*第19种******************************左右流两次********************************/  






}

⌨️ 快捷键说明

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