📄 cartoon.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 + -