📄 移位显示(已成功显示).c
字号:
#include <AT89X52.H>
#include <INTRINS.h>
unsigned char code Tab[]={0xff,0Xfd,0xff,0xfe,0xff,0xf7,0xff,0xfb,0xff,0xdf,0xff,0xef,0xff,0x7f,0xff,0xbf,
0Xfd,0xff,0xfe,0xff,0xf7,0xff,0xfb,0xff,0xdf,0xff,0xef,0xff,0x7f,0xff,0xbf,0xff};
unsigned char code codedisplay[]={0xDF,0xDF,0xDF,0xDC,0x03,0xDF,0x88,0x97,0x97,0x5F,0xDC,0xDF,0xDF,0xDF,0xD0,0xDF,//0
0xBF,0xBF,0xBF,0x03,0xBF,0xBF,0x01,0xFF,0xBF,0xBF,0x03,0xBF,0xBF,0xBF,0x01,0xFF,/*"桂",0*/ //1
0xEF,0xEF,0xEF,0xEF,0x02,0xEF,0xEF,0xC7,0xCB,0xAB,0xAE,0x6D,0xEB,0xEF,0xEF,0xEF, //2
0xDF,0xDF,0xDF,0xDF,0x01,0xDF,0x9F,0x8F,0x4F,0x57,0xD7,0xD9,0xDB,0xDF,0xDF,0xDF,/*"林",1*/ //3
0xFE,0xFE,0xFE,0xC0,0xDE,0xDE,0xC0,0xDE,0xDE,0xDE,0xC0,0xDE,0xFE,0xFE,0xFF,0xFF, //4
0xFF,0xFF,0xFF,0x07,0xF7,0xF7,0x07,0xF7,0xF7,0xF7,0x07,0xF7,0xFD,0xFD,0x01,0xFF,/*"电",2*/ //5
0xFF,0xC0,0xFF,0xFF,0xFF,0xFE,0xFE,0xFE,0x00,0xFE,0xFE,0xFE,0xFE,0xFE,0xFA,0xFD, //6
0xFF,0x0F,0xDF,0xBF,0x7F,0xFF,0xFF,0xFB,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"子",3*/ //7
0xF9,0x87,0xF7,0xF7,0x01,0xE7,0xE3,0xD5,0xD7,0xB7,0x74,0xF7,0xF7,0xF7,0xF7,0xF7, //8
0xF7,0x77,0xB7,0xB7,0xF7,0x77,0xB7,0xB7,0xF1,0x87,0x77,0xF7,0xF7,0xF7,0xF7,0xF7,/*"科",0*/ //9
0xEF,0xEF,0xEF,0x02,0xEF,0xEB,0xE6,0xCE,0x2F,0xEF,0xEF,0xEF,0xEF,0xEE,0xA9,0xDF, //10
0xDF,0xDF,0xDF,0x01,0xDF,0xDF,0x03,0xF7,0x77,0x6F,0x9F,0x9F,0x6F,0xF1,0xFB,0xFF,/*"技",1*/ //11
0xFE,0xFE,0xFE,0xFE,0xFE,0x00,0xFE,0xFD,0xFD,0xFD,0xFB,0xFB,0xF7,0xEF,0xDF,0xBF, //12
0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0xFF,0x7F,0x7F,0xBF,0xBF,0xDF,0xEF,0xE7,0xF1,0xFB,/*"大",2*/ //13
0xFE,0xEF,0xF3,0xF7,0x80,0xBF,0x70,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFD,0xFE, //14
0xF7,0x73,0x37,0x6F,0x01,0xFB,0x17,0xBF,0x7F,0x01,0x7F,0x7F,0x7F,0x7F,0x7F,0xFF,/*"学"*/ //15
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",0*/ //16
0xFE,0xFF,0xC0,0xDF,0xDD,0xDE,0xCF,0xD7,0xDB,0xDB,0xD9,0xBB,0xBF,0xA0,0x7F,0xFF, //17
0xFF,0x7F,0x03,0xFF,0xFF,0xF7,0x73,0x37,0x6F,0x6F,0xDF,0xDF,0xBF,0x01,0xFF,0xFF,/*"应",1*/ //18
0xFF,0xE0,0xEF,0xEF,0xEF,0xE0,0xEF,0xEF,0xEF,0xE0,0xEF,0xEF,0xDF,0xDF,0xBF,0x7F, //19
0xFF,0x03,0x7B,0x7B,0x7B,0x03,0x7B,0x7B,0x7B,0x03,0x7B,0x7B,0x7B,0x7B,0x6B,0x77,/*"用",2*/ //20
0xF9,0x87,0xF7,0xF7,0x01,0xE7,0xE3,0xD5,0xD7,0xB7,0x74,0xF7,0xF7,0xF7,0xF7,0xF7, //21
0xF7,0x77,0xB7,0xB7,0xF7,0x77,0xB7,0xB7,0xF1,0x87,0x77,0xF7,0xF7,0xF7,0xF7,0xF7,/*"科",3*/ //22
0xEF,0xEF,0xEF,0x02,0xEF,0xEB,0xE6,0xCE,0x2F,0xEF,0xEF,0xEF,0xEF,0xEE,0xA9,0xDF, //23
0xDF,0xDF,0xDF,0x01,0xDF,0xDF,0x03,0xF7,0x77,0x6F,0x9F,0x9F,0x6F,0xF1,0xFB,0xFF,/*"技",4*/ //24
0xFE,0xEF,0xF3,0xF7,0x80,0xBF,0x70,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFD,0xFE, //25
0xF7,0x73,0x37,0x6F,0x01,0xFB,0x17,0xBF,0x7F,0x01,0x7F,0x7F,0x7F,0x7F,0x7F,0xFF,/*"学",5*/ //26
0xFF,0x07,0x70,0x6B,0x5F,0x5C,0x6F,0x77,0x70,0x56,0x6E,0x7E,0x7D,0x7D,0x7B,0x77, //27
0x7F,0xBF,0x01,0xFB,0xFF,0x07,0xFF,0xFF,0x01,0xDF,0xDF,0xDF,0xDD,0xDD,0xDD,0xE1,/*"院",6*/ //28
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",7*/ //29
0xFE,0xFE,0x80,0xFE,0xFE,0xC0,0xFE,0xFE,0x80,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE, //30
0xFF,0xFF,0x03,0xFF,0xFF,0x07,0xFF,0xFF,0x03,0xFB,0xFB,0xFB,0xEB,0xF7,0xFF,0xFF,/*"韦",8*/ //31
0xEF,0xEE,0xDF,0xDF,0xB7,0x0F,0xEE,0xDD,0xBE,0x06,0xFE,0xFE,0xE6,0x1E,0xFE,0xFF, //32
0xFF,0x03,0xBB,0xBB,0x7B,0x7B,0xEB,0xF7,0x03,0xFB,0xFB,0xFB,0xFB,0x03,0xFB,0xFF,/*"绍",9*/ //33
0xFF,0x83,0xFB,0xFB,0x01,0xDB,0xC2,0xD9,0xC3,0xDB,0xD8,0xC3,0x1B,0xFB,0xF8,0xFB, //34
0xBF,0x9F,0xBF,0xBF,0x01,0x77,0x77,0x77,0xAF,0xAF,0xDF,0xCF,0xA7,0x71,0xFB,0xFF, //35
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
unsigned char idata display_buff[144]={0};
unsigned char m,addr,dat=0,yy,xx,n,k=0,a;
typedef unsigned char uchar; //重新定义数据类型
typedef unsigned int uint;
const uchar WR24C02 = 0xa0; //读写控制命令 //EEPROM地址+写命令
const uchar RD24C02 = 0xA1; //EEPROM地址+读命令
sbit I2C_SCL = P2^4; //I/O口定义
sbit I2C_SDA = P2^5;
bit ErrorBit; //用户变量声明 //读写错误标志 1错误 0 正确
uchar idata ErrorCode; //错误码
uchar sign1=0,sign2=0;
unsigned int count=0;
void delay(void)
{ unsigned char i,j;
for(i=0;i<15;i++){ for(j=0;j<50;j++) ; }
}
void main(void)
{ SCON=0; P1=0;
for(a=0;a<145;a++)
{display_buff[a]=0xff;}
for(n=0;n<16;n++)
{display_buff[128+n]=codedisplay[n]; }
while(1)
{ if(sign1==1)
{ sign1=0;
for(n=0;n<16;n++)
{ display_buff[128+n]<<=1;
yy=CY;display_buff[112+n]<<=1;xx=CY;display_buff[112+n]|=yy;
yy=xx;display_buff[96+n]<<=1;xx=CY;display_buff[96+n]|=yy;
yy=xx;display_buff[80+n]<<=1;xx=CY;display_buff[80+n]|=yy;
yy=xx;display_buff[64+n]<<=1;xx=CY;display_buff[64+n]|=yy;
yy=xx;display_buff[48+n]<<=1;xx=CY;display_buff[48+n]|=yy;
yy=xx;display_buff[32+n]<<=1;xx=CY;display_buff[32+n]|=yy;
yy=xx;display_buff[16+n]<<=1;xx=CY;display_buff[16+n]|=yy;
yy=xx;display_buff[n]<<=1; xx=CY;display_buff[n]|=yy;}
sign2++;
if(sign2==8)
{ sign2=0;k++;if(k==36){k=0;} for(n=0;n<16;n++)
{display_buff[128+n]=codedisplay[n+16*k]; }
}
}
for(m=0;m<16;m++)
{
SBUF=display_buff[m]; while(!TI) ; TI=0;
SBUF=display_buff[m+16]; ; while(!TI) ; TI=0;
SBUF=display_buff[32+m]; while(!TI) ; TI=0;
SBUF=display_buff[32+m+16]; while(!TI) ; TI=0;
SBUF=display_buff[64+m]; while(!TI) ; TI=0;
SBUF=display_buff[64+m+16]; while(!TI) ; TI=0;
SBUF=display_buff[96+m]; while(!TI) ; TI=0;
SBUF=display_buff[96+m+16]; while(!TI) ; TI=0;
SBUF=Tab[2*m]; while(!TI) ; TI=0;
SBUF=Tab[2*m+1]; while(!TI) ; TI=0;
P3_4=0;P3_4=1; P3_4=0;
//if(sign1==0)
{ delay(); }
}
count++;if(count==5){count=0;sign1=1;}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -