📄 lcd.c
字号:
#include <reg51.h>
#define LCD_PORT P0
sbit RS = P1^1;
sbit EN = P1^0;
sbit BF = P0^0;
LCD_Disp_Buf[16] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int i;
#define uchar unsigned char
#define uint unsigned int
void Delay(unsigned int j);
void LCD_Display(void);
unsigned char Right_Shift(unsigned char datas);
void Wait_Until_Ready(void);
void En_Toggle(void);
void Write_Command(unsigned char command);
void Write_Data(unsigned char datas);
void Goto_Positionxy(unsigned char x, unsigned char y);
void LCD_clear(void);
void init_LCD(void);
main()
{
unsigned char i = 0;
init_LCD();
Delay(20000);
while(1);
{
LCD_Display();
Delay(20000);
}//end of while(1);
}//end of main()
void Delay(unsigned int j)
{
while(j-->0);
}
void LCD_Display(void)
{
Goto_Positionxy(0,0);
for(i = 0; i <= 15; i++)
{
Write_Data(LCD_Disp_Buf[i]);
}
Goto_Positionxy(0,1);
for(i = 0; i <= 15; i++)
{
Write_Data(LCD_Disp_Buf[i]);
}
}
unsigned char Right_Shift(unsigned char datas)
{
unsigned char temp[8], temp1 = 0x00;
unsigned char i;
for(i = 0; i < 8; i++)
{
temp[i] = ((datas>>i)&0x01);
}
for(i = 0; i < 8; i++)
{
if(temp[i] == 0x01) temp1=((temp1 << 1) | 0x01);
else temp1 = (temp1 << 1);
}
return(temp1);
}
void Wait_Until_Ready(void)
{
RS = 0;
P0 = 0;
EN = 1;
Delay(10);
while(BF == 1);
EN = 0;
}
void En_Toggle(void)
{
EN = 1;
Delay(10);
EN = 0;
Delay(10);
}
void Write_Command(unsigned char command)
{
RS = 0;
P0 = Right_Shift(command);
En_Toggle();
Wait_Until_Ready();
Delay(1000);
}
void Write_Data(unsigned char datas)
{
RS = 1;
P0 = Right_Shift(datas);
En_Toggle();
Wait_Until_Ready();
Delay(1000);
}
void Goto_Positionxy(unsigned char x, unsigned char y)
{
unsigned char p;
if(y == 0)
{
p = 0x80 + x - 1;
Write_Command(p);
}
else
{
if(y == 1)
{
p = 0xc0 + x - 1;
Write_Command(p);
}
else
{
return;
}
}
}
void LCD_clear(void)
{
Write_Command(0x01);
Delay(1000);
}
void init_LCD(void)
{
Write_Command(0x38);
Write_Command(0x36);
Write_Command(0x0C);
LCD_clear();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -