📄 p12_2.c
字号:
#include "REG51.H"
sbit E = P3^0;
sbit RW = P3^1;
sbit RS = P3^2;
sbit CS1 = P3^6;
sbit CS2 = P3^7;
#define LCD P2
void Wait()
{
unsigned char state;
while(1)
{
LCD = 0xff;
RW = 1;
RS = 0;
E = 1;
state = LCD;
E = 0;
LCD = 0xff;
RW = 1;
RS = 0;
E = 1;
state = LCD;
E = 0;
state = state >> 7;
if( state == 0 )
break;
}
}
void Write_Cmd( unsigned char Cmd)
{
Wait();
LCD = Cmd;
RS = 0;
RW = 0;
E = 1;
E = 0;
}
void Write_Data( unsigned char D)
{
Wait();
LCD = D;
RS = 1;
RW = 0;
E = 1;
E = 0;
}
void Clear()
{
char col, page, temp;
for( page = 0; page < 8; page++ )
{
temp = page;
temp = temp | 0xb8;
Write_Cmd(temp);
Write_Cmd(0x40);
for( col = 0; col < 64; col++ )
{
Write_Data(0);
}
}
}
unsigned char PAGE0[] = {
0xf0, 0x08, 0x04, 0x12, 0x11, 0x11, 0x01, 0x0C1,
0x01, 0x01, 0x11, 0x11, 0x12, 0x04, 0x08, 0xf0 };
unsigned char PAGE1[] = {
0x0f, 0x10, 0x20, 0x40, 0x80, 0x90, 0x90, 0x93,
0x92, 0x90, 0x90, 0x88, 0x40, 0x20, 0x10, 0x0f };
void LCDDisplay()
{
char i;
Write_Cmd(0xbc);
Write_Cmd(0x57);
for( i = 0; i < 16; i++ )
{
Write_Data(PAGE0[i]);
}
Write_Cmd(0xbd);
Write_Cmd(0x57);
for( i = 0; i < 16; i++ )
{
Write_Data(PAGE1[i]);
}
}
main()
{
CS1 = 0;
CS2 = 0;
Write_Cmd(0x3f);
Clear();
LCDDisplay();
while(1){}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -