📄 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"key.h"
#include"sd.h"
INT16U file_num0=0;
INT16U file_id=0;
extern folder_father;
void delay0()
{
int a0,b;
for(a0=1;a0<20000;a0++)
for(b=1;b<200;b++)
;
}
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);
}
LIST_key_dispose(INT8U key,INT16U file_num,INT32U root_add,INT8U Buffer)
{
INT8U y=file_id*16;
if(file_num0!=0)
{
if(file_num!=file_num0)
file_num=file_num0;
}
switch(key)
{
case 2: PutString(120,y," ",0xf800,0xffff);
IO0SET=0x80000000; //检测按键是否使能,若没使能,检查JP5跳线,将其短接
delay0();
IO0CLR=0x80000000;
file_id=file_id-1;
if(file_id>=file_num)
file_id=file_num-1;
break;
case 5: PutString(120,y," ",0xf800,0xffff);
IO0SET=0x80000000; //检测按键是否使能,若没使能,检查JP5跳线,将其短接
delay0();
IO0CLR=0x80000000;
file_id=file_id+1;
if(file_id==file_num)
file_id=0;
break;
case 3: PutString(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;
}
LIST_dispose(file_id);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -