📄 lcd.h
字号:
//lcd command
#define TwoLine_8bit 56 //0x38
#define CLEAR 1
#define CURSOR_HOME 2
#define CURSOR_LEFT 4
#define CURSOR_RIGHT 6
#define CURSOR_OFF 12
#define CURSOR_ON 14
#define CURSOR_BLINK 15
#define GOTO_LINE_2 192
#define GOTO_LINE_1 128
//LCD CONTROL LINES
#define ENABLE 1
#define DISABLE 0
#define READ 1
#define WRITE 0
#define COMMAND 0
#define DATA 1
#define rs P2_5
#define enable P2_7
#define rw P2_6
sbit P2_5 = P2^5;
sbit P2_6 = P2^6;
sbit P2_7 = P2^7;
void delay100us(char);
void write_LCD_command(unsigned);
void init_LCD(void);
void clear_LCD(void);
void display_LCD_string(char*);
void gotoxy(unsigned,unsigned);
void display_LCD_number(char);
char code int2charLCD[]="0123456789";
void write_LCD_command(unsigned command)
{
rw=WRITE;
rs=COMMAND;
enable=ENABLE;
P0=command;
delay100us(20);
enable=DISABLE;
rw=1;
}
void write_LCD_data(unsigned LCDdata)
{
rw=WRITE;
rs=DATA;
enable=ENABLE;
P0=LCDdata;
delay100us(20);
enable=DISABLE;
rw=1;
}
void init_LCD(void)
{
write_LCD_command(TwoLine_8bit);//0xx38
write_LCD_command(CURSOR_OFF);//0x0c
write_LCD_command(CURSOR_RIGHT);//0X06
}
void clear_LCD()
{
write_LCD_command(CLEAR);
write_LCD_command(CURSOR_HOME);
}
void display_LCD_string(char* p)
{
while(*p)
{
write_LCD_data(*p);
p++;
}
}
void display_LCD_number(char number)
{
unsigned char x,y;
x=number/10;
y=number-10*x;
write_LCD_data(int2charLCD[x]);
write_LCD_data(int2charLCD[y]);
}
void gotoxy(unsigned x,unsigned y)
{
if(x==1)
write_LCD_command(GOTO_LINE_1+y);
else
write_LCD_command(GOTO_LINE_2+y);
}
void delay100us( char Delay)
{
char i;
for(;Delay>0;Delay--)
{
for(i=0;i<12;i++)
{;}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -