📄 readkey.c
字号:
/**************************读取按键函数*********************
*
***********************************************************/
#include "key.h"
#include "port.h"
#include "main.h"
#include "delay1ms.h"
#include "DataType.h"
/*************************按键子程序初始化******************
*设置按键相关的端口为输入端口
***********************************************************/
void readkey_initial(void)
{
PCFG3=0;
PCFG2=0;
PCFG1=1;
PCFG0=1; //AD通道选择(RE0、RE1、RE2数字通道)
Tr_KEY0=1;
Tr_KEY1=1;
Tr_KEY2=1;
Tr_KEY3=1;
}
/*************************读取按键0子函数*******************
*入口:
*出口:按键按下返回TRUE,否则返回FALSE
*占用资源:无
**********************************************************/
bool readkey0(void)
{
uint32 keyPluse; //存储按键按下延时脉冲
if(KEY0==1) //按键未按下
{
return FALSE;
}
else //按键按下
{
delay(100); //按键防抖,延时100ms
//delay(1);
keyPluse=0;
while(KEY0==0) //等待按键抬起
{
keyPluse++; //按键按下脉冲加1
if(keyPluse>=ConKeyPluse)
{
return FALSE;
}
};
return TRUE;
}
}
/*************************读取按键1子函数*******************
*入口:
*出口:按键按下返回TRUE,否则返回FALSE
*占用资源:无
**********************************************************/
bool readkey1(void)
{
uint32 keyPluse; //存储按键按下延时脉冲
if(KEY1==1) //按键未按下
{
return FALSE;
}
else //按键按下
{
delay(100); //按键防抖,延时100ms
//delay(1);
keyPluse=0;
while(KEY1==0) //等待按键抬起
{
keyPluse++; //按键按下脉冲加1
if(keyPluse>=ConKeyPluse)
{
return FALSE;
}
};
return TRUE;
}
}
/*************************读取按键2子函数*******************
*入口:
*出口:按键按下返回TRUE,否则返回FALSE
*占用资源:无
**********************************************************/
bool readkey2(void)
{
uint32 keyPluse; //存储按键按下延时脉冲
if(KEY2==1) //按键未按下
{
return FALSE;
}
else //按键按下
{
delay(100); //按键防抖,延时100ms
//delay(1);
keyPluse=0;
while(KEY2==0) //等待按键抬起
{
keyPluse++; //按键按下脉冲加1
if(keyPluse>=ConKeyPluse)
{
return FALSE;
}
};
return TRUE;
}
}
/*************************读取按键3子函数*******************
*入口:
*出口:按键按下返回TRUE,否则返回FALSE
*占用资源:无
**********************************************************/
bool readkey3(void)
{
uint32 keyPluse; //存储按键按下延时脉冲
if(KEY3==1) //按键未按下
{
return FALSE;
}
else //按键按下
{
delay(100); //按键防抖,延时100ms
//delay(1);
keyPluse=0;
while(KEY3==0) //等待按键抬起
{
keyPluse++; //按键按下脉冲加1
if(keyPluse>=ConKeyPluse)
{
return FALSE;
}
};
return TRUE;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -