按键扫描 stc89c52
大体基于教学视频修改
- #ifndef __KEY_H
- #define __KEY_H
- #define u8 unsigned char
- #define u16 unsigned int
-
- #include <../inc/stc89c52.h>
-
- //------------------------------引脚定义------------------------------
- #define KEY P3 //P30-P33 目前可用
- // 依次定义是key1-key4 p30-P33
- #define KEY1 0 //按键1
- #define KEY2 1 //按键2
- #define KEY3 2 //按键3
- #define KEY4 3 //按键4
-
- //------------------------------变量声明------------------------------
- #define KEY_NOPRESS 0 //按键未按下
- #define KEY_FILCKER 1 //消抖
- #define KEY_PRESS 2 //单击
- #define KEY_PRESSOVER 3 //单击结束
- #define KEY_LONGPRESS 4 //长按3秒
- #define KEY_LONGOVER 5 //长按结束
- #define KEY_RELAX 6 //按键松开
-
-
- //------------------------------函数声明------------------------------
- void KEY_Deal(void); //检查所有的按键状态
- u8 KEY_ReadState(u8 keynum); //读取指定的按键的状态
-
- #endif
-
复制代码
复制代码
|