📄 cs23-1.c
字号:
#include <REG51.H>
#define uchar unsigned char
#define uint unsigned int
sbit CS1=P2^4;
sbit CS2=P2^3;
sbit RS=P2^7;
sbit RW=P2^6;
sbit EN=P2^5;
sbit RST=P2^2;
#define DataPort P0
/************************函数列表**************************/
void delay(unsigned long v);
void wcode(uchar c,uchar csl,uchar csr);
void wdata(uchar c,uchar csl,uchar csr);
void set_startline(uchar i);
void set_xy(uchar x,uchar y);
void dison_off(uchar o);
void reset();
void lcd_init(void);
void lw(uchar x, uchar y, uchar dd);
void display_hz(uchar x, uchar y, uchar n, uchar fb);
uchar code hz[];
/*******************************************************/
void main(void)
{
uchar loop;
lcd_init();
delay(1000);
while(1)
{
/************显示第一行(8个字)***********/
for(loop=0;loop<8;loop++)
{display_hz(2*loop,0,loop,0);
display_hz(2*loop,0,loop,0);
display_hz(2*loop,0,loop,0);
display_hz(2*loop,0,loop,0);
display_hz(2*loop,0,loop,0);
display_hz(2*loop,0,loop,0);
display_hz(2*loop,0,loop,0);
display_hz(2*loop,0,loop,0);}
/*************显示第二行(8个字)**********/
for(loop=0;loop<8;loop++)
{display_hz(2*loop,2,loop+8,0);
display_hz(2*loop,2,loop+8,0);
display_hz(2*loop,2,loop+8,0);
display_hz(2*loop,2,loop+8,0);
display_hz(2*loop,2,loop+8,0);
display_hz(2*loop,2,loop+8,0);
display_hz(2*loop,2,loop+8,0);
display_hz(2*loop,2,loop+8,0);}
/**************显示第三行(8个字)*************/
for(loop=0;loop<8;loop++)
{display_hz(2*loop,4,loop+16,1);
display_hz(2*loop,4,loop+16,1);
display_hz(2*loop,4,loop+16,1);
display_hz(2*loop,4,loop+16,1);
display_hz(2*loop,4,loop+16,1);
display_hz(2*loop,4,loop+16,1);
display_hz(2*loop,4,loop+16,1);
display_hz(2*loop,4,loop+16,1);}
/*************显示第四行(8个字)*************/
for(loop=0;loop<8;loop++)
{display_hz(2*loop,6,loop+24,1);
display_hz(2*loop,6,loop+24,1);
display_hz(2*loop,6,loop+24,1);
display_hz(2*loop,6,loop+24,1);
display_hz(2*loop,6,loop+24,1);
display_hz(2*loop,6,loop+24,1);
display_hz(2*loop,6,loop+24,1);
display_hz(2*loop,6,loop+24,1);}
/*************************/
delay(10000);
}
}
/*---------------------------------------------------------*/
void delay(unsigned long v)
{
while(v!=0)v--;
}
/*----------------------------------------------------------*/
void lcd_busy(void)
{
RS=0;RW=1;DataPort=0xff;
while(1){
EN=1;
if(DataPort<0x80) break;
EN=0;
}
EN=0;
}
/*-----------------------------------------------------------*/
void wcode(uchar c,uchar csl,uchar csr)
{
CS1=csl;
CS2=csr;
lcd_busy();
RS=0;
RW=0;
DataPort=c;
EN=1;
EN=0;
}
/*------------------------------------------------------*/
void wdata(uchar c,uchar csl,uchar csr)
{
CS1=csl;
CS2=csr;
lcd_busy();
RS=1;
RW=0;
DataPort=c;
EN=1;
EN=0;
}
/*------------------------------------------------------*/
void lw(uchar x, uchar y, uchar dd)
{
if(x>=64)
{set_xy(x-64,y);
wdata(dd,0,1);}
else
{set_xy(x,y);
wdata(dd,1,0);}
}
/*---------------------------------------------------*/
void set_startline(uchar i)
{
i=0xc0+i;
wcode(i,1,1);
}
/*----------------------------------------------*/
void set_xy(uchar x,uchar y)
{
x=x+0x40;
y=y+0xb8;
wcode(x,1,1);
wcode(y,1,1);
}
/*-------------------------------------------------------------*/
void dison_off(uchar o)
{
o=o+0x3e;
wcode(o,1,1);
}
/*----------------------------------------------------------------------*/
void reset()
{
RST=0;
delay(20);
RST=1;
delay(20);
}
/*---------------------------------------------------------------*/
void lcd_init(void)
{uchar x,y;
reset();
set_startline(0);
dison_off(0);
for(y=0;y<8;y++)
{
for(x=0;x<128;x++)lw(x,y,0);
}
dison_off(1);
}
/*----------------------------------------------------------------------------*/
void display_hz(uchar xx, uchar yy, uchar n, uchar fb)
{
uchar i,dx;
for(i=0;i<16;i++)
{dx=hz[2*i+n*32];
if(fb)dx=255-dx;
lw(xx*8+i,yy,dx);
dx=hz[(2*i+1)+n*32];
if(fb)dx=255-dx;
lw(xx*8+i,yy+1,dx);
}
}
/****************************汉字点阵码表*********************************/
uchar code hz[]=
{0x00,0x04,0x00,0x04,0x00,0x04,0xFE,0x04,0x92,0x04,0x92,0x04,0x92,0x04,0x92,0xFF,
0x92,0x04,0x92,0x04,0x92,0x04,0x92,0x04,0xFE,0x04,0x00,0x04,0x00,0x04,0x00,0x00,/*"早",0*/
0x24,0x00,0x24,0x7E,0x24,0x22,0xFC,0x23,0x22,0x22,0x22,0x7E,0xA0,0x00,0x84,0x04,
0x94,0x04,0xA5,0x04,0x86,0xFF,0x84,0x04,0xA4,0x04,0x94,0x04,0x84,0x04,0x00,0x00,/*"辞",1*/
0x00,0x00,0x00,0x00,0xF8,0x7F,0x08,0x21,0x08,0x21,0x0C,0x21,0x0B,0x21,0x08,0x21,
0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0xF8,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,/*"白",2*/
0x80,0x00,0x64,0x00,0x24,0x00,0x24,0x3F,0x2C,0x01,0x34,0x01,0x25,0x01,0xE6,0xFF,
0x24,0x01,0x24,0x11,0x34,0x21,0x2C,0x1F,0xA4,0x00,0x64,0x00,0x24,0x00,0x00,0x00,/*"帝",3*/
0x82,0x20,0x8A,0x10,0xB2,0x08,0x86,0x06,0xDB,0xFF,0xA1,0x02,0x91,0x04,0x8D,0x58,
0x88,0x48,0x20,0x20,0x10,0x22,0x08,0x11,0x86,0x08,0x64,0x07,0x40,0x02,0x00,0x00,/*"彩",4*/
0x40,0x00,0x40,0x20,0x44,0x70,0x44,0x38,0x44,0x2C,0x44,0x27,0xC4,0x23,0xC4,0x31,
0x44,0x10,0x44,0x12,0x46,0x14,0x46,0x18,0x64,0x70,0x60,0x20,0x40,0x00,0x00,0x00,/*"云",5*/
0x00,0x00,0xF8,0xFF,0x01,0x00,0x06,0x00,0x00,0x00,0xF0,0x07,0x92,0x04,0x92,0x04,
0x92,0x04,0x92,0x04,0xF2,0x07,0x02,0x40,0x02,0x80,0xFE,0x7F,0x00,0x00,0x00,0x00,/*"间",6*/
0x00,0x00,0x00,0x00,0x00,0x58,0x00,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,/*",",7*/
0x40,0x00,0x40,0x00,0x44,0x00,0x44,0x00,0x44,0x00,0x44,0x00,0x44,0x00,0xFC,0x7F,
0x42,0x00,0x42,0x00,0x42,0x00,0x43,0x00,0x42,0x00,0x60,0x00,0x40,0x00,0x00,0x00,/*"千",8*/
0x00,0x40,0x00,0x40,0xFF,0x44,0x91,0x44,0x91,0x44,0x91,0x44,0x91,0x44,0xFF,0x7F,
0x91,0x44,0x91,0x44,0x91,0x44,0x91,0x44,0xFF,0x44,0x00,0x40,0x00,0x40,0x00,0x00,/*"里",9*/
0x10,0x04,0x60,0x04,0x01,0x7E,0xC6,0x01,0x30,0x20,0x00,0x20,0x04,0x20,0x04,0x20,
0x04,0x20,0xFC,0x3F,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0x00,0x20,0x00,0x00,/*"江",10*/
0x00,0x00,0xFE,0xFF,0x22,0x02,0x5A,0x04,0x86,0x43,0x10,0x48,0x94,0x24,0x74,0x22,
0x94,0x15,0x1F,0x09,0x34,0x15,0x54,0x23,0x94,0x60,0x94,0xC0,0x10,0x40,0x00,0x00,/*"陵",11*/
0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,
0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0xC0,0x00,0x80,0x00,0x00,0x00,/*"一",12*/
0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,
0x42,0x10,0x42,0x10,0x42,0x10,0xFE,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"日",13*/
0x40,0x40,0x41,0x20,0xCE,0x1F,0x04,0x20,0x00,0x42,0x02,0x41,0x82,0x40,0x42,0x40,
0xF2,0x5F,0x0E,0x40,0x42,0x40,0x82,0x40,0x02,0x47,0x02,0x42,0x00,0x40,0x00,0x00,/*"还",14*/
0x00,0x00,0x00,0x00,0x00,0x58,0x00,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,/*",",15*/
0x02,0x00,0xF2,0x7F,0x12,0x08,0x12,0x04,0x12,0x03,0xFE,0x00,0x92,0x10,0x12,0x09,
0x12,0x06,0xFE,0x01,0x12,0x01,0x12,0x26,0x12,0x40,0xFB,0x3F,0x12,0x00,0x00,0x00,/*"两",16*/
0x00,0x40,0x00,0x20,0xE0,0x1F,0x2E,0x04,0xA8,0x04,0xA8,0x04,0xA8,0x04,0xA8,0x04,
0xAF,0xFF,0xA8,0x04,0xA8,0x04,0xA8,0x04,0xA8,0x04,0xAE,0x04,0x20,0x04,0x00,0x00,/*"岸",17*/
0x20,0x04,0x12,0x42,0x0C,0x81,0x9C,0x40,0xE3,0x3F,0x10,0x10,0x14,0x08,0xD4,0xFD,
0x54,0x43,0x5F,0x27,0x54,0x09,0x54,0x11,0xD4,0x69,0x14,0xC4,0x10,0x44,0x00,0x00,/*"猿",18*/
0x02,0x40,0x12,0x30,0xD2,0x0F,0x52,0x02,0x52,0x02,0x52,0x02,0x52,0x02,0xDF,0x03,
0x52,0x02,0x52,0x02,0x52,0x02,0x52,0x02,0xD2,0x07,0x12,0x00,0x02,0x00,0x00,0x00,/*"声",19*/
0xFC,0x0F,0x04,0x02,0x04,0x02,0xFC,0x07,0x80,0x00,0x64,0x00,0x24,0x3F,0x2C,0x01,
0x35,0x01,0xE6,0xFF,0x24,0x11,0x34,0x21,0xAC,0x1F,0x66,0x00,0x24,0x00,0x00,0x00,/*"啼",20*/
0x00,0x00,0x02,0x08,0x02,0x04,0x02,0x02,0x02,0x01,0x82,0x00,0x42,0x00,0xFE,0x7F,
0x06,0x00,0x42,0x00,0xC2,0x00,0x82,0x01,0x02,0x07,0x03,0x02,0x02,0x00,0x00,0x00,/*"不",21*/
0x40,0x00,0x20,0x00,0xF0,0x7F,0x0C,0x00,0x03,0x20,0x08,0x21,0x08,0x21,0x09,0x21,
0x0A,0x21,0xFC,0x3F,0x08,0x21,0x08,0x21,0x8C,0x21,0x08,0x31,0x00,0x20,0x00,0x00,/*"住",22*/
0x00,0x00,0x00,0x00,0x00,0x58,0x00,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,/*",",23*/
0xC4,0x08,0xB4,0x08,0x8F,0x08,0xF4,0xFF,0x84,0x04,0x84,0x44,0x04,0x41,0x82,0x41,
0x42,0x41,0x22,0x41,0x12,0x7F,0x2A,0x41,0x46,0x41,0xC2,0x41,0x00,0x41,0x00,0x00,/*"轻",24*/
0x80,0x00,0x80,0x80,0x80,0x40,0x80,0x30,0xFC,0x0F,0x84,0x00,0x86,0x02,0x95,0x04,
0xA4,0x0C,0x84,0x40,0x84,0x80,0xFC,0x7F,0x80,0x00,0x80,0x00,0x80,0x00,0x00,0x00,/*"舟",25*/
0x00,0x00,0x00,0x00,0xE2,0x3F,0x42,0x20,0x42,0x20,0x42,0x20,0x42,0x20,0x42,0x20,
0x42,0x20,0x42,0x20,0x42,0x20,0x7E,0x20,0x00,0x20,0x00,0x3C,0x00,0x10,0x00,0x00,/*"已",26*/
0x80,0x40,0x81,0x20,0x8E,0x1F,0x04,0x20,0x00,0x20,0x10,0x40,0x50,0x40,0x90,0x43,
0x10,0x41,0x10,0x48,0x10,0x50,0xFF,0x4F,0x10,0x40,0x10,0x40,0x10,0x40,0x00,0x00,/*"过",27*/
0x00,0x00,0x02,0x40,0x02,0x20,0x02,0x10,0x02,0x0C,0x82,0x03,0x7E,0x00,0x22,0x00,
0x22,0x20,0x22,0x60,0x22,0x20,0xF2,0x1F,0x22,0x00,0x02,0x00,0x02,0x00,0x00,0x00,/*"万",28*/
0x08,0x40,0x08,0x40,0x0A,0x48,0xEA,0x4B,0xAA,0x4A,0xAA,0x4A,0xAA,0x4A,0xFF,0x7F,
0xA9,0x4A,0xA9,0x4A,0xA9,0x4A,0xE9,0x4B,0x08,0x48,0x08,0x40,0x08,0x40,0x00,0x00,/*"重",29*/
0x00,0x00,0x00,0x20,0xE0,0x7F,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0xFF,0x3F,
0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0xE0,0x7F,0x00,0x00,0x00,0x00,/*"山",30*/
0x00,0x00,0x00,0x18,0x00,0x24,0x00,0x24,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/*"。",31*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -