📄 p12_3.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 Word1[] = {
0x10,0x60,0x01,0x86,0x60,0x04,0x1C,0xE4,
0x04,0x04,0x04,0xE4,0x1C,0x04,0x00,0x00,
0x04,0x04,0x7E,0x01,0x40,0x20,0x20,0x10,
0x0B,0x04,0x0B,0x10,0x30,0x60,0x20,0x00 };
unsigned char Word2[] = {
0x00,0x10,0x0C,0x24,0x24,0x24,0x25,0x26,
0xA4,0x64,0x24,0x04,0x14,0x0C,0x00,0x00,
0x00,0x02,0x02,0x02,0x02,0x42,0x82,0x7F,
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00 };
void Dsp_Word( unsigned char page, unsigned char col,
unsigned nCS, unsigned char* szWord )
{
unsigned char temp;
if( nCS == 1 )
{
CS1 = 0;
CS2 = 1;
}
else
{
CS1 = 1;
CS2 = 0;
}
Write_Cmd(page | 0xb8);
Write_Cmd(col | 0x40);
for( temp = 0; temp < 16; temp++ )
{
Write_Data(szWord[temp]);
}
Write_Cmd( (page+1) | 0xb8);
Write_Cmd(col | 0x40);
for( temp = 16; temp < 32; temp++ )
{
Write_Data(szWord[temp]);
}
}
void LCDDisplay()
{
Dsp_Word( 3, 23, 2, Word1 );
Dsp_Word( 3, 23, 1, Word2 );
}
main()
{
CS1 = 0;
CS2 = 0;
Write_Cmd(0x3f);
Clear();
LCDDisplay();
while(1){}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -