📄 display.c
字号:
#include <reg52.h> // SFR declarations
#include <head.h> // SFR declarations
extern unsigned char x,y;
void delay(unsigned int num)
{
while(num--)
{
;
}
}
void lw(unsigned char x,unsigned char y,unsigned char dd)
{
if (x<61)
{ e1=e2=1;
di=rw=0;P1=0xb8|y;e1=1;delay(2);e1=0;delay(2);
e1=e2=1;
di=rw=0;P1=0x00|x;e1=1;delay(2);e1=0;delay(2);
e1=e2=1;
di=1;rw=0;P1=dd;e1=1;delay(2);e1=0;delay(2);
e1=e2=1;
}
else
{
x=x-61;e1=e2=1;
di=rw=0;P1=0xb8|y;e2=1;delay(2);e2=0;delay(2);
e1=e2=1;
di=rw=0;P1=0x00|x;e2=1;delay(2);e2=0;delay(2);
e1=e2=1;
di=1;rw=0;P1=dd;e2=1;delay(2);e2=0;delay(2);
e1=e2=1;
}
P1=0xff;
}
void clear_screen(unsigned char Row)
{
unsigned char x,y;
for (y=0;y<Row;y++)
{
for (x=0;x<122;x++)
lw(x,y,0x00);
}
}
void write_chinese(unsigned char x,unsigned char y,unsigned char code*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 send_command(unsigned char cmd)
{
e1=e2=1;
delay(2);
e1=e2=0;
di=rw=0;
P1=cmd;
e1=e2=1;
delay(2);
e1=e2=0;
delay(2);
P1=0xff;
e1=e2=1;
}
unsigned char read(void)
{
unsigned char status;
e1=e2=1;
delay(2);
e1=e2=0;
di=0;rw=1;
delay(2);
e1=e2=1;
delay(2);
e1=e2=0;
status=P1;
delay(2);
e1=e2=1;
return(status);
}
void lcd_init(void)
{
rst = 1;
delay(2);
rst = 0;
delay(2);
x=read();
rst = 1;
x=read();
delay(50000);
send_command(0xae);
send_command(0xc0);
send_command(0xa4);
send_command(0x00);
send_command(0xbb);
send_command(0xa9);
send_command(0xa0);
send_command(0xee);
/*
for (y=0;y<4;y++)
{
for (x=0;x<122;x++) lw(x,y,0);
}
*/
send_command(0xaf);
delay(60000);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -