📄 guess.c
字号:
unsigned char _pa @0x12;
unsigned char _pac @0x13;
unsigned char _pb @0x14;
unsigned char _pbc @0x15;
unsigned char _pc @0x16;
unsigned char _pcc @0x17;
#define _LCD_DATA _pa
#define _LCD_DATA_CTRL _pac
#define KEYPAD _pb
#define KEYPAD_CTRL _pbc
#define _LCD_CTRL _pc
#define _LCD_CTRL_CTRL _pcc
#define _RS _16_0
#define _RW _16_1
#define _E _16_2
#define _LCD_CTRL_RS _17_0
#define _LCD_CTRL_RW _17_1
#define _LCD_CTRL_E _17_2
#define _BUSY_TEST _12_7
const unsigned char Scan_Code[16]={0x77,0x7b,0x7d,0x7e,0xb7,0xbb,0xbd,0xbe,0xd7,0xdb,0xdd,0xde,0xe7,0xeb,0xed,0xee};
const unsigned char row_1[17]={0x4c,0x43,0x44,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x21,0x21,0x20,0x20,0x20,0x20,0x00};
const unsigned char row_2[17]={0x54,0x65,0x73,0x74,0x20,0x4f,0x4b,0x20,0x21,0x21,0x20,0x20,0x20,0x20,0x20,0x20,0x00};
unsigned char ACCregister;
char check_key();
void delay()
{
unsigned long int i;
for(i=0;i<20000;i++);
}
void initial()
{
write_instruction(0x01);
write_instruction(0x06);
write_instruction(0x0f);
write_instruction(0x38);
delay();
}
void write_LCDDATA()
{
busy();
_LCD_CTRL=0x01;
_LCD_DATA=ACCregister;
_E=1;
_E=0;
}
void busy()
{
_LCD_DATA_CTRL=0x80;
_LCD_CTRL=0x02;
_E=1;
while(_BUSY_TEST == 1);
_LCD_DATA_CTRL=0x00;
}
void write_instruction(char c)
{
busy();
_LCD_DATA=0x00;
_LCD_CTRL=0x00;
_LCD_DATA=c;
_E=1;
_E=0;
}
void main()
{
unsigned int k,l;
KEYPAD_CTRL = 0x0f;
_LCD_DATA_CTRL=0x00;
_LCD_DATA=0x00;
_LCD_CTRL_CTRL=0x00;
initial();
//display_1
write_instruction(0x80);
k=0;
for(;;)
{
l=row_1[k];
if(!(l == 0x00))
{
ACCregister=row_1[k];
write_LCDDATA();
k=k+1;
}
else
{
break;
}
}
k=0;
write_instruction(0xc0);
for(;;)
{
l=row_2[k];
if(!(l == 0x00))
{
ACCregister=row_2[k];
write_LCDDATA();
k=k+1;
}
else
{
break;
}
}
}
char check_key()
{
KEYPAD=0x7f;
if(KEYPAD==0x77) return Display_Code[0];
if(KEYPAD==0x7b) return Display_Code[1];
if(KEYPAD==0x7d) return Display_Code[2];
if(KEYPAD==0x7e) return Display_Code[3];
KEYPAD=0xbf;
if(KEYPAD==0xb7) return Display_Code[4];
if(KEYPAD==0xbb) return Display_Code[5];
if(KEYPAD==0xbd) return Display_Code[6];
if(KEYPAD==0xbe) return Display_Code[7];
KEYPAD=0xdf;
if(KEYPAD==0xd7) return Display_Code[8];
if(KEYPAD==0xdb) return Display_Code[9];
if(KEYPAD==0xdd) return Display_Code[10];
if(KEYPAD==0xde) return Display_Code[11];
KEYPAD=0xef;
if(KEYPAD==0xe7) return Display_Code[12];
if(KEYPAD==0xeb) return Display_Code[13];
if(KEYPAD==0xed) return Display_Code[14];
if(KEYPAD==0xee) return Display_Code[15];
return 0xff;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -