t.c
来自「LCD1602.rar」· C语言 代码 · 共 452 行 · 第 1/2 页
C
452 行
0xF8,0x29,0xD0,0x00,0x18,0x00,0x3F,0x00,
0x03,0x00,0x0F,0x10,0x40,0x00,0x00,0x00,
0xBE,0x73,0x35,0x45,0x46,0x00,0x00,0x00,
0x1C,0x00,0x02,0x0F,0x90,0x00,0x00,0x00,
0x6C,0x33,0x20,0x00,0x01,0xC0,0x00,0x01,
0xFF,0x80,0x02,0x08,0x80,0x00,0x00,0x00,
0xBF,0xFC,0xD1,0x11,0x10,0x3D,0xFC,0x3F,
0x00,0x60,0x02,0x08,0x50,0x00,0x00,0x00,
0x3F,0xFC,0xC0,0x00,0x00,0x06,0x03,0xC8,
0x00,0x1C,0x01,0x18,0x20,0x00,0x00,0x00,
0x2E,0x33,0x04,0x44,0x44,0x18,0x00,0x70,
0x00,0x03,0xC1,0xE8,0x20,0x00,0x00,0x00,
0x3F,0x73,0x00,0x00,0x00,0x60,0x00,0x20,
0x00,0x00,0x39,0x08,0x10,0x00,0x00,0x00,
0x3F,0x6F,0xD0,0x10,0x11,0x80,0x00,0x40,
0x00,0x00,0x06,0x04,0x08,0x00,0x00,0x00,
0x3F,0x5F,0xC0,0x00,0x06,0x20,0x00,0x40,
0x00,0x20,0x01,0x04,0x00,0x00,0x00,0x00,
0xEF,0x3F,0xF7,0xFF,0xFF,0xF0,0x00,0x40,
0x00,0x7F,0xFF,0xFF,0xF8,0x00,0x00,0x00,
0x17,0x7F,0x80,0x00,0x00,0x0C,0x00,0x40,
0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x1E,0x3F,0x80,0x00,0x00,0x03,0x81,0xA0,
0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x0F,0xFF,0x00,0x00,0x00,0x00,0x7E,0x1F,
0xF8,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,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,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,
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,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,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,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,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,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,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
void delay(int c)
{
int i,j;
for(i=0;i<c;i++)
for(j=0;j<1000;j++)
;
}
char rd_state() //读状态
{
char temp;
P1=0xff;
cd=1;
rd=0;
temp=P1;
rd=1;
return(temp);
}
void rd_enable() //等待可读写
{
char temp;
temp=rd_state();
while((temp&0x03)!=0x03)
temp=rd_state();
}
void rd_auto() //等待自动读写
{
char temp;
temp=rd_state();
while((temp&0x04)!=0x04)
temp=rd_state();
}
void wr_auto() //等待自动写
{
char temp;
temp=rd_state();
while((temp&0x08)!=0x08)
temp=rd_state();
}
/*写命令、写数据命令*********************
数据1、数据2、命令、参数个数*************
*****************************************/
void wr_data(char data1,char data2,char cmd,char num)
{
char temp;
temp=num;
if(temp==2)
{
rd_enable();
cd=0;
P1=data1;
wr=0;
wr=1;
}
if(temp==2||temp==1)
{
rd_enable();
cd=0;
P1=data2;
wr=0;
wr=1;
}
rd_enable();
cd=1;
P1=cmd;
wr=0;
wr=1;
}
char rd_data() //读数据
{
char temp;
rd_enable();
cd=0;
P1=0xff;
rd=0;
temp=P1;
rd=1;
return(temp);
}
void lcd_init()
{
unsigned char temp=0,j;
unsigned int i;
wr_data(0x00,0x00,0x40,0x02); //设置文本显示首地址
wr_data(0x10,0x00,0x41,0x02); //设置文本显示宽度
wr_data(0x80,0x00,0x42,0x02); //设置图形显示首地址
wr_data(0x10,0x00,0x43,0x02); //设置图形显示宽度
wr_data(0x00,0x00,0xa7,0x00); //光标形状设置
wr_data(0x00,0x00,0x80,0x00); //显示方式设置,“或
wr_data(0x00,0x00,0x9c,0x00); //显示开关设置
wr_data(0x00,0x00,0x24,0x02); //设置写地址
wr_data(0x00,0x00,0xb0,0x00); //设置自动写方式
for(i=0;i<128;i++)
{
wr_auto();
cd=0;
P1=0;
wr=0;
wr=1;
temp++;
P1=temp;
}
wr_data(0x00,0x00,0xb2,0x00); //自动写结束
wr_data(0x80,0x00,0x24,0x02); //设置写地址
wr_data(0x00,0x00,0xb0,0x00); //设置自动写方式
for(j=0;j<4;j++)
for(i=0;i<256;i++)
{
wr_auto();
cd=0;
P1=0;
wr=0;
wr=1;
}
wr_data(0x00,0x00,0xb2,0x00); //自动写结束
}
void main()
{
unsigned char row=0,j;
unsigned int temp=0,i;
delay(50);
P3|=0x07;
lcd_init();
while(1){
temp=0;
wr_data(0x80,0x00,0x24,0x02); //设置写地址
wr_data(0x00,0x00,0xb0,0x00); //设置自动写方式
for(j=0;j<4;j++)
for(i=0;i<256;i++)
{
wr_auto();
cd=0;
P1=bmp[temp];
wr=0;
wr=1;
temp++;
}
wr_data(0x00,0x00,0xb2,0x00); //自动写结束
delay(200);
temp=0;
wr_data(0x80,0x00,0x24,0x02); //设置写地址
wr_data(0x00,0x00,0xb0,0x00); //设置自动写方式
for(j=0;j<4;j++)
for(i=0;i<256;i++)
{
wr_auto();
cd=0;
P1=bmp1[temp];
wr=0;
wr=1;
temp++;
}
wr_data(0x00,0x00,0xb2,0x00); //自动写结束
delay(200);
}}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?