?? keyscan.h
字號:
#ifndef REG52
#include <reg52.h>
#endif
#ifndef SUBSTRUCT
#include <SubStruct.h>
#endif
#define KEYSCAN 0x42
bit EJECT,PLPS,NEXT,PRE;
/*
void nop()
{
unsigned char i;
i=0;
for(i=0;i<4;i++)
{}
}
*/
unsigned char keyscan()
{
unsigned char i;
unsigned char key=0;
SendCommand(KEYSCAN);
DATA=1;
Delay(1);
for (i=0;i<8;i++)
{
CLK=1;
if (DATA)
{
Delay(10); // nop();
if (DATA)
{
Delay(10);//nop();
if (DATA) {key|=(0x01<<i);}
}
}
CLK=0;
Delay(10);// nop();
}
SendCommand(DATA_SET);
// SendAddress(Seg_B);
// SendData(key);
Delay(200);
return key;
}
void Display_Key(unsigned char key)
{
switch(key)
{
case 0x03:
if (EJECT)
{
EJECT=0;
ClearLocation(Seg_A,6);
Delay(10);
Display_Flag('P');
Delay(10);
}
else
{
// ClearDisMemo();
ClearLocation(Seg_A,6);
ClearLocation(Seg_B,6);
ClearLocation(Seg_C,6);
ClearLocation(Seg_D,6);
ClearLocation(Seg_E,6);
ClearLocation(Seg_F,6);
ClearLocation(Seg_A,7);
ClearLocation(Seg_B,7);
ClearLocation(Seg_D,7);
ClearLocation(Seg_E,7);
Delay(10);
EJECT=1;
PLPS=0;
PRE=0;
NEXT=0;
Display_Flag('T');
Delay(10);
}
break;
case 0x11:
if (PLPS)
{
PLPS=0;
Display_Flag('P');
EJECT=0;
PRE=0;
NEXT=0;
ClearLocation(Seg_D,6);
Delay(10);
}
else
{
PLPS=1;
Display_Flag('S');
ClearLocation(Seg_C,6);
Delay(10);
}
break;
case 0x21:
if (PRE)
{
ClearLocation(Seg_A,7);
Delay(10);
}
Display_Flag('B');
Delay(10);
ClearLocation(Seg_C,6);
Delay(10);
ClearLocation(Seg_D,6);
Delay(10);
PLPS=1;
PRE=0;
NEXT=1;
break;
case 0x41:
if (NEXT)
{
ClearLocation(Seg_B,7);
Delay(10);
}
Display_Flag('M');
Delay(10);
ClearLocation(Seg_C,6);
Delay(10);
ClearLocation(Seg_D,6);
Delay(10);
PLPS=1;
NEXT=0;
PRE=1;
break;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -