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

📄 cartoon.h

📁 条形电子屏的源代码
💻 H
字号:
#include <reg51.h>                      
#define uchar unsigned char                                         						             
#define M 100 
sbit rclk=P1^2;                                                         
sbit en  =P1^3;
sbit P3_5=P3^5;                       
 bit flag1,flag2,flag;                         
uchar idata next,time;              
uchar xdata k[D]={1,2,3,4,5,6,7,8,4,5};
uchar xdata vram1[W][L];                         
uchar xdata vram2[W][L]={0xEF,0xFF,0xBF,0x7F,0xF8,0x07,0xFD,0xFF,0xEF,0xBF,0xFF,0xFF,0xDF,0x7F,0xDD,0xEF,  
                         0xEF,0xDF,0xDF,0x7F,0x0A,0xD7,0xBD,0xDF,0x6D,0x9E,0x04,0x0F,0xCF,0x6F,0xDD,0xEF,  
                         0xEF,0xBF,0xDF,0x7F,0x6A,0xD7,0xCD,0xCF,0xAB,0xBF,0xDF,0xEF,0xD0,0x07,0xD0,0x03,  
                         0xEF,0x7F,0xFD,0x5F,0x68,0x07,0xE5,0xDF,0xC7,0xBF,0xDE,0xEF,0xBF,0x7F,0xDD,0xEF,  
                         0xEC,0xFF,0x7D,0x6F,0x6F,0x7F,0xED,0xBE,0x01,0x03,0xDE,0xEF,0xBE,0xFE,0x04,0x0F,  
                         0xE3,0xFF,0xAB,0x77,0x68,0x07,0xFD,0xF7,0xC7,0x77,0xBE,0xEF,0x3E,0xF7,0xB5,0xEF,  
                         0xEF,0xFF,0xEB,0x7B,0x0F,0x6F,0x00,0x03,0xA9,0x77,0x86,0xEE,0xA0,0x03,0xB4,0x0F,  
                         0x00,0x03,0xD7,0x7F,0x60,0x03,0xF7,0x7F,0x6E,0x77,0x36,0x07,0xBE,0xFF,0xAF,0x7F,  
                         0xEB,0xFF,0xDF,0x77,0x6F,0x3F,0xF7,0x7F,0xEF,0xAE,0xB7,0xF7,0xBD,0xEF,0x6F,0x77,  
                         0xED,0xFF,0xBF,0x77,0x6C,0x07,0xF7,0x7E,0x01,0xAF,0xB7,0xF7,0xB8,0x07,0x60,0x03,  
                         0xEE,0xFE,0x3F,0xEF,0x61,0xF7,0xF7,0x7F,0xDB,0xDF,0xB4,0x17,0xBF,0xEF,0x9E,0x3F,  
                         0xEF,0x7F,0xBF,0xDF,0x0C,0x07,0xEF,0x7B,0x97,0xDF,0xB7,0xF7,0xBD,0xDF,0xDD,0x5F,  
                         0xED,0x9F,0xBF,0xBF,0xFD,0xF7,0xEF,0x7B,0xE7,0xAF,0x87,0xF7,0xBE,0xBF,0xAB,0x6F,  
                         0xEB,0xC7,0xBE,0x7F,0xFD,0xF7,0xDF,0x7B,0x9B,0x63,0xB7,0xF7,0xBF,0x7F,0x77,0x63,  
                         0xE7,0xEF,0xB9,0xFF,0xFC,0x07,0xBF,0x82,0x7E,0xF7,0xBF,0xAF,0xBF,0xBE,0xEF,0x77,  
                         0xEF,0xFF,0xA7,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0x7F}; 

void stop(x)           
uchar x;               
{                      
   uchar i,j;          
   for(i=1;i<=x;i++)   
     for(j=1;j<=8;j++) 
       { 
           flag2=1;       	             
	   while(flag2);     
	 }                 
   }	               

void cls_ram(x)
uchar (*x)[L];         
{ uchar i,j;                      
  for(i=0;i<W;i++)  
    for(j=0;j<L;j++)
      *(*(x+i)+j)=0xff;  
 }

void right(q)  
uchar (*q)[L];                                                 
{                                                                  
  uchar i,j,k,l;                                                   
      for(i=0;i<L;i++)                                                                                   
        {                                                          
        	while(flag1&flag2);                                    
        	if(flag1==0)                                           
        	{ 
        	   for(j=0;j<W;j++)
        		 {
        		    l=0;	
        		    for(k=15-i;k<L;k++)                                    
        	              vram1[j][l++]=*(*(q+j)+k);
        	              }
        	   flag1=1;}                                            
        	  else                                                 
        	 {  for(j=0;j<W;j++)
        		 {
        		    l=0;	
        		    for(k=15-i;k<L;k++)                                    
        	              vram2[j][l++]=*(*(q+j)+k);
        	              }
        	    flag2=1;}                                            
           }                                                       
  }                                                                
	
void right_pull(q) 
uchar (*q)[L];                                               
{                                                                
  uchar i,j,k;                                                 
      for(i=0;i<L;i++)                                                                                   
        {                                                          
        	while(flag1&flag2);                                    
        	if(flag1==0)                                           
        	{ 
        	   for(j=0;j<W;j++)
        		 {	
        		    for(k=i+1;k>0;k--)                                    
        	              vram1[j][k-1]=*(*(q+j)+k-1);
        	              }
        	   flag1=1;}                                            
        	  else                                                 
        	 {  for(j=0;j<W;j++)
        		 {	
        		    for(k=i+1;k>0;k--)                                    
        	              vram2[j][k-1]=*(*(q+j)+k-1);
        	              }
        	    flag2=1;}                                            
           }                                                      
  } 
      
void left_pull(q)  
uchar (*q)[L];                                              
{                                                               
  uchar i,j,k;                                                 
     for(i=L;i>0;i--)                                                                                   
        {                                                          
        	while(flag1&flag2);                                    
        	if(flag1==0)                                           
        	{ 
        	   for(j=0;j<W;j++)
        		 {	
        		    for(k=L;k>=i;k--)                                    
        	              vram1[j][k-1]=*(*(q+j)+k-1);
        	              }
        	   flag1=1;}                                            
        	  else                                                 
        	 {  for(j=0;j<W;j++)
        		 {	
        		    for(k=L;k>=i;k--)                                    
        	              vram2[j][k-1]=*(*(q+j)+k-1);
        	              }
        	    flag2=1;}                                            
           }                                                                    
  }  
                                                                                                                                 
void left(q)  
uchar (*q)[L];
{
  uchar i,j,k,l;
      for(i=L;i>0;i--)                                                                                   
        {                                                          
        	while(flag1&flag2);                                    
        	if(flag1==0)                                           
        	{ 
        	   for(j=0;j<W;j++)
        		 {	
        		    l=0;	
        		    for(k=i-1;k<L;k++,l++)                                    
        	              vram1[j][k]=*(*(q+j)+l);
        	              }
        	   flag1=1;}                                            
        	  else                                                 
        	 {  
        	     for(j=0;j<W;j++)
        		 {
        		    l=0;	
        		    for(k=i-1;k<L;k++,l++)                                    
        	              vram2[j][k]=*(*(q+j)+l);
        	              }
        	    flag2=1;}                                            
           }                        
  }
      
void down(q) 
 uchar (*q)[L];
{
    uchar i,j,k,l;
    for(i=0;i<W;i++)
    {
      while(flag1&flag2);
      if(flag1==0)
        { l=L;
          for(k=i+1;k>0;k--,l--)
             for(j=0;j<L;j++)
                vram1[k-1][j]=*(*(q+l-1)+j);
         flag1=1;}
       else
        { l=L;
          for(k=i+1;k>0;k--,l--)
             for(j=0;j<L;j++)
                vram2[k-1][j]=*(*(q+l-1)+j);
         flag2=1;}
       }
   }
              
void top(q)  
uchar (*q)[L];                 
{
  uchar i,j,k,l;
    for(i=W;i>0;i--)
    {
      while(flag1&flag2);
      if(flag1==0)
        {
          for(l=0,k=i-1;k<W;k++,l++)
           for(j=0;j<L;j++)
             vram1[k][j]=*(*(q+l)+j);
         flag1=1;}
       else
          for(l=0,k=i-1;k<W;k++,l++)
          {
           for(j=0;j<L;j++)
             vram2[k][j]=*(*(q+l)+j);
         flag2=1;}
       }                           
  } 

void top_pull(q)
uchar (*q)[L];                 
{uchar i,j,k;                      
   for(i=W;i>0;i--)
    {
      while(flag1&flag2);
      if(flag1==0)
        {
          for(k=i-1;k<W;k++)
           for(j=0;j<L;j++)
             vram1[k][j]=*(*(q+k)+j);
         flag1=1;}
       else
        {
          for(k=i-1;k<W;k++)
           for(j=0;j<L;j++)
             vram2[k][j]=*(*(q+k)+j);
         flag2=1;}
       }                                
  }                                

void down_pull(q) 
uchar (*q)[L];                 
{
    uchar i,j,k;
    for(i=0;i<W;i++)
    {
      while(flag1&flag2);
      if(flag1==0)
        {
          for(k=i+1;k>0;k--)
           for(j=0;j<L;j++)
             vram1[k-1][j]=*(*(q+k-1)+j);
         flag1=1;}
       else
        {
          for(k=i+1;k>0;k--)
           for(j=0;j<L;j++)
             vram2[k-1][j]=*(*(q+k-1)+j);
         flag2=1;}
       }            
  }                                

⌨️ 快捷键说明

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