📄 12864.c
字号:
#include<reg51.h>
sbit cs1=P3^0;
sbit cs2=P3^1;
sbit rst=P3^2;
sbit rw=P3^3;
sbit di=P3^4;
sbit e=P3^5;
unsigned char x,y;
unsigned char *p[];
void delay(int num)
{
while(num--) ;
}
void lw(unsigned char x,unsigned char y,unsigned char dd)
{
if (x<64)
{
cs1=cs2=0;
di=rw=0;cs1=1;cs2=0;P1=0xb8|y;e=1;delay(2);e=0;delay(2);
di=rw=0;cs1=1;cs2=0;P1=0x40|x;e=1;delay(2);e=0;delay(2);
di=1;rw=0;cs1=1;cs2=0;P1=dd;e=1;delay(2);e=0;delay(2);
/*cs1=cs2=0;*/
}
else
{
cs1=cs2=0;x=x-64;
di=rw=0;cs1=0;cs2=1;P1=0xb8|y;e=1;delay(2);e=0;delay(2);
di=rw=0;cs1=0;cs2=1;P1=0x40|x;e=1;delay(2);e=0;delay(2);
di=1;rw=0;cs1=0;cs2=1;
;P1=dd;e=1;delay(2);e=0;delay(2);
cs1=cs2=1;
}
P1=0xff;
}
void lcd_init(void) {
unsigned char x,y;
rst=0;
rst=1;
e=di=rw=0;
cs1=cs2=1;
cs1=0;cs2=1;
di=rw=0;P1=0x3f;e=1;delay(2);e=0;delay(2);
cs1=0;cs2=1;
di=rw=0;P1=0xc0;e=1;delay(2);e=0;delay(2);
cs1=cs2=0;
cs1=1;cs2=0;
di=rw=0;P1=0x3f;e=1;delay(2);e=0;delay(2);
cs1=1;cs2=0;
di=rw=0;P1=0xc0;e=1;delay(2);e=0;delay(2);
cs1=cs2=0;
for (y=0;y<8;y++) {
for (x=0;x<128;x++) lw(x,y,0);
}
}
unsigned char code dat[8][128]={
0xFF,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x21,
0xE1,0x41,0x41,0x61,0x21,0x21,0x21,0x61,0x41,0x41,0x41,0x81,0x81,0x81,0x81,0x81,
0x81,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x30,0xF0,0xF8,0xF8,0x88,
0x88,0x80,0x80,0xFC,0xFC,0x00,0x00,0xC0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0xF0,
0x20,0x20,0x20,0x20,0xE0,0xE0,0x20,0x20,0x20,0x20,0x20,0xF0,0xF0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0x03,0x0D,0x0A,0x08,0x10,0x20,0x20,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x01,0x03,0x06,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x81,0xE1,0x79,0xFF,0xFF,0xFF,0x71,
0x75,0x07,0x07,0xFF,0x3F,0xFE,0xC3,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0x08,0x08,0x08,0x08,0xFF,0xFF,0x08,0x08,0x08,0x08,0x08,0xFF,0xFF,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE5,0x75,0x4A,0x20,0x20,0x20,0x20,0x20,
0x10,0x10,0x10,0x12,0x1D,0x10,0x10,0x20,0x20,0x20,0x30,0x08,0x08,0x0C,0x06,0x01,
0x01,0x00,0x8C,0x8C,0x46,0x42,0x23,0x19,0x0D,0x0F,0x07,0x07,0x02,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x0F,0x0F,0x0F,0x00,
0x08,0x0E,0x07,0x00,0x00,0x01,0x03,0x0F,0x0C,0x08,0x08,0x00,0x00,0x00,0x00,0x0F,
0x04,0x04,0x04,0x04,0x07,0x07,0x04,0x04,0x04,0x04,0x04,0x0F,0x0F,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x80,0x60,0xD0,0xD0,0xB0,0xA8,0x68,0x68,0x68,0x68,0x68,0xE8,
0x68,0x28,0x10,0x08,0x04,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x38,0x26,0x41,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x23,0x2F,0xBC,0xF8,0xE0,
0x20,0x00,0xFC,0x08,0xE8,0xE8,0x08,0x08,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x80,
0xFC,0xBC,0x0C,0x20,0x20,0x20,0x20,0xFF,0xFF,0xFF,0x20,0x20,0x30,0x30,0x00,0x00,
0x00,0x00,0x30,0x2C,0x43,0x80,0x80,0x20,0x20,0x50,0x30,0x30,0x6C,0x5F,0xB7,0xAC,
0x58,0xD8,0x28,0x38,0x08,0x10,0x10,0x10,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
0x10,0x10,0x10,0x08,0x18,0x30,0xE8,0x58,0x50,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xC7,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x30,0x18,0x0E,0xFF,0xFF,0x1C,
0x18,0x10,0x0F,0xE0,0xFF,0xFF,0xF0,0x10,0x0F,0x0F,0x00,0x00,0x00,0x04,0x06,0x03,
0xFF,0x82,0x02,0x02,0x42,0x42,0x42,0xFF,0xFF,0xFB,0x42,0x62,0x22,0x23,0x02,0x00,
0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x11,0x12,0x12,0x12,0xF1,0x01,0x80,0x40,0x20,
0x00,0x00,0x00,0x00,0x40,0x48,0x70,0xC0,0x78,0x40,0x90,0x10,0xF0,0x00,0x90,0x10,
0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x07,0xF8,0x60,0x90,0x00,0x00,0x00,
0x00,0x80,0x60,0x0C,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x08,
0x08,0x0C,0x06,0x01,0x00,0x07,0x07,0x04,0x04,0x07,0x07,0x04,0x00,0x00,0x00,0x00,
0x0F,0x0F,0x08,0x08,0x08,0x08,0x08,0x0F,0x07,0x0F,0x08,0x08,0x08,0x0E,0x04,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x31,0x42,0x82,0x04,
0xE0,0x00,0x00,0x00,0x10,0x92,0x52,0x3F,0x12,0x22,0x90,0x09,0xFF,0x00,0x90,0x09,
0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x38,0x07,0x82,0x41,0x20,0x10,0x08,0x04,
0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
0xFF,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x81,
0x81,0x80,0x80,0x80,0x81,0x80,0x80,0x80,0x80,0x80,0x80,0x81,0x80,0x80,0x80,0x81,
0x80,0x80,0x80,0x80,0x80,0x80,0x86,0x85,0x82,0x81,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xFF
};
unsigned char a[16]={0xff,0x00,0x00,0xff,0xaa,0xaa,0x55,0x55,0xaa,0x55,0x55,0xaa,0xff,0xff,0x00,0x00};
unsigned char code zy[32]={0X00,0X00,0X10,0X30,0XD0,0X00,0XD0,0X30,0X10,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X10,0X1F,0X10,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00};
unsigned char code zu[32]={0X00,0X00,0X10,0XF0,0X10,0X00,0X10,0XF0,0X10,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X0F,0X10,0X10,0X10,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00};
unsigned char code zs[32]={0X00,0X00,0X00,0X60,0X90,0X10,0X10,0X30,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X18,0X10,0X11,0X11,0X0E,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00};
unsigned char code zn[32]={0X00,0X00,0X10,0XF0,0X70,0X80,0X10,0XF0,0X10,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X10,0X1F,0X10,0X03,0X0C,0X1F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00};
unsigned char code zg[32]={0X00,0X00,0XC0,0X20,0X10,0X10,0X10,0X70,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X07,0X08,0X10,0X10,0X12,0X0E,0X02,0X00,0X00,0X00,0X00,0X00,0X00,0X00};
unsigned char code yu[32]={0x00,0x00,0x88,0x88,0x4A,0xAC,0xB8,0xAA,0xBC,0xA8,0xB8,0xAC,0x4A,0x88,0x88,0x00,
0x00,0x00,0x00,0x00,0x3A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x3A,0x00,0x00,0x00};
unsigned char code xin[32]={0x00,0x00,0x80,0x60,0xF8,0x06,0x08,0xA8,0xA8,0xAA,0xAC,0xA8,0xA8,0xA8,0x08,0x00,
0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x3E,0x12,0x12,0x12,0x12,0x12,0x3E,0x00,0x00};
unsigned char code dian[32]={0x00,0x00,0xF0,0x90,0x90,0x90,0x90,0xFE,0x90,0x90,0x90,0x90,0xF0,0x00,0x00,0x00,
0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0x1F,0x24,0x24,0x24,0x24,0x27,0x20,0x18,0x00};
unsigned char code zi[32]={0x00,0x00,0x80,0x82,0x82,0x82,0x82,0x82,0xE2,0x92,0x8A,0x86,0x82,0x80,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x20,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
unsigned char code you[32]={0x00,0x00,0x04,0x84,0x44,0xF4,0x9C,0x96,0x94,0x94,0x94,0x94,0xF4,0x04,0x04,0x00,
0x00,0x00,0x01,0x00,0x00,0x3F,0x04,0x04,0x04,0x14,0x24,0x24,0x1F,0x00,0x00,0x00};
unsigned char code xian[32]={0x00,0x00,0xFE,0x02,0x22,0x5A,0x86,0x00,0xFE,0x92,0x92,0x92,0x92,0xFE,0x00,0x00,
0x00,0x00,0x3F,0x04,0x08,0x04,0x03,0x00,0x3F,0x12,0x04,0x0A,0x11,0x30,0x10,0x00};
unsigned char code gong[32]={0x00,0x00,0x80,0x80,0x40,0x30,0x0C,0x00,0xC0,0x06,0x18,0x20,0xC0,0x80,0x80,0x00,
0x00,0x00,0x00,0x10,0x18,0x14,0x12,0x11,0x10,0x10,0x14,0x18,0x30,0x00,0x00,0x00};
unsigned char code si[32]={0x00,0x00,0x10,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x12,0x02,0x02,0xFE,0x00,0x00,
0x00,0x00,0x00,0x1F,0x08,0x08,0x08,0x08,0x08,0x1F,0x00,0x10,0x20,0x1F,0x00,0x00};
unsigned char code d[32]={0x00,0x00,0x00,0xC0,0x40,0x40,0x40,0x7E,0x48,0x48,0x48,0x48,0xC8,0x08,0x00,0x00,
0x00,0x00,0x20,0x1B,0x02,0x02,0x0A,0x32,0x02,0x0A,0x32,0x02,0x0B,0x10,0x20,0x00};
unsigned char code zhen[32]={0x00,0x00,0xFE,0x22,0x5A,0x86,0x08,0xC8,0xB8,0x8E,0xE8,0x88,0x88,0x88,0x08,0x00,
0x00,0x00,0x3F,0x02,0x04,0x03,0x04,0x04,0x04,0x04,0x3F,0x04,0x04,0x04,0x04,0x00};
unsigned char code ye[32]={0x00,0x00,0x12,0x24,0x8C,0x00,0x84,0xC4,0x34,0xC4,0xB6,0x24,0x24,0xE4,0x04,0x00,
0x00,0x00,0x02,0x3F,0x00,0x01,0x00,0x3F,0x21,0x12,0x0C,0x05,0x0B,0x30,0x20,0x00};
unsigned char code jin[32]={0x00,0x00,0x00,0x80,0x80,0xBE,0xAA,0xAA,0x2A,0xAA,0xAA,0xBE,0x80,0x80,0x00,0x00,
0x00,0x00,0x00,0x3F,0x24,0x24,0x24,0x3F,0x00,0x3F,0x24,0x24,0x24,0x3F,0x00,0x00};
unsigned char code xi[32]={0x00,0x00,0x00,0x00,0xFE,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0xFE,0x00,0x00,0x00,
0x00,0x00,0x21,0x22,0x26,0x20,0x3F,0x20,0x20,0x20,0x3F,0x20,0x24,0x22,0x23,0x00};
unsigned char code s[32]={0x00,0x00,0x20,0x22,0x22,0x22,0x22,0x22,0xE2,0x22,0x22,0x22,0x22,0x22,0x20,0x00,
0x00,0x00,0x08,0x04,0x02,0x03,0x10,0x20,0x1F,0x00,0x00,0x01,0x02,0x04,0x0C,0x00};
unsigned char code mo[32]={0x00,0x00,0x10,0xD0,0xFE,0x50,0x94,0xF4,0x5E,0x54,0x54,0x54,0x5E,0xF4,0x04,0x00,
0x00,0x00,0x03,0x00,0x3F,0x00,0x24,0x25,0x15,0x0D,0x07,0x0D,0x15,0x25,0x24,0x00};
unsigned char code kuai[32]={0x00,0x00,0x20,0x20,0xFE,0x20,0x20,0x10,0x10,0xFE,0x10,0x10,0x10,0xF0,0x00,0x00,
0x00,0x00,0x08,0x08,0x0F,0x24,0x25,0x11,0x0D,0x03,0x05,0x09,0x11,0x21,0x21,0x00};
void write_chinese(x,y,array)
unsigned char x,y;
unsigned char array[];
{
unsigned char j,dd;
for(j=0;j<32;j++)
{
dd=array[j];
if(j<16) lw(x+j,y,dd);
else lw(x+j-16,y+1,dd);
}
}
void main()
{
unsigned char i,dd;
loop: lcd_init();
write_chinese(0,2,yu);
write_chinese(16,2,xin);
write_chinese(32,2,dian);
write_chinese(48,2,zi);
write_chinese(64,2,you);
write_chinese(80,2,xian);
write_chinese(96,2,gong);
write_chinese(112,2,si);
write_chinese(0,4,d);
write_chinese(16,4,zhen);
write_chinese(32,4,ye);
write_chinese(48,4,jin);
write_chinese(64,4,xi);
write_chinese(80,4,s);
write_chinese(96,4,mo);
write_chinese(112,4,kuai);
write_chinese(0,0,zy);
write_chinese(10,0,zu);
write_chinese(20,0,zs);
write_chinese(30,0,zu);
write_chinese(40,0,zn);
write_chinese(50,0,zg);
delay(150000);
for(i=0;i<8;i++)
{
for(y=0;y<8;y++)
{
for(x=0;x<128;x++)
{
if(i==4){goto w;}
else if(i==5){goto w;}
else
if(x%2==0)
lw(x,y,a[2*i]);
else
lw(x,y,a[2*i+1]);
}
}
delay(150000);
delay(150000);
}
w: for(y=0;y<8;y++)
{
for(x=0;x<128;x++)
{
lw(x,y,dat[y][x]);
}
}
delay(150000);
delay(150000);
goto loop;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -