?? key.c
字號:
//在LPC2148中BP8--BP3對應與P0.10-P0.15
//其為低電平有效
//在IO初始化時,“0”代表輸入,“1”代表輸出
/* BP6 BP7 BP8
BP3 BP4 BP5
對應的按鍵編號:
1 2 3
4 5 6
*/
#include"lpc214x.h"
#include"PCF8833.H"
#include "head.h"
INT16U file_num0=0;
INT16U file_id=0;
void delay0()
{
int a0,b;
for(a0=1;a0<20000;a0++)
for(b=1;b<50;b++)
;
}
INT8U key_scan()
{
int a=0;
INT8U key=0;
a=IO0PIN;
a=a&0X0000FC00;
a=a>>10;
switch(a)
{
case 0x3e: key=3; //對應于BP8
break;
case 0x3d: key=2; //對應于BP7
break;
case 0x3b: key=1; //對應于BP6
break;
case 0x37: key=6; //對應于BP5
break;
case 0x2f: key=5; //對應于BP4
break;
case 0x1f: key=4; //對應于BP3
break;
default: key=0;
break;
}
return(key);
}
void clear_sign(INT16U file_id)
{
INT8U y;
if(file_id<8)
{
y=file_id*16;
PutGBstring(120,y," ",0xf800,0xffff);
}
else PutGBstring(120,112," ",0xf800,0xffff);
}
void LIST_key_dispose(INT8U key,INT16U file_num,INT8U *Buffer)
{
INT8U y=file_id*16;
if(file_num0!=0)
{
if(file_num!=file_num0)
file_num=file_num0;
}
switch(key)
{
case 2: clear_sign(file_id);
delay0(); //此處是為了防止按鍵反應太靈敏而設
file_id=file_id-1;
if(file_id>=file_num)
file_id=file_num-1;
LIST_dispose(file_id);
break;
case 5: clear_sign(file_id);
delay0();
file_id=file_id+1;
if(file_id==file_num)
file_id=0;
LIST_dispose(file_id);
break;
case 3:PutGBstring(120,y," ",0xf800,0xffff);
delay0();
file_num0=read_file(file_id,Buffer);
file_id=0;
break;
case 6: file_num0=SD_List(folder_father,Buffer);
file_id=0;
break;
default: break;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -