📄 keypad.h
字号:
#ifndef __KEYPAD_H__
#define __KEYPAD_H__
/*
Row1 ----04 03 02 01
Row2 ----08 07 06 05
Row3 ----12 11 10 09
Row4 ----16 15 14 13
| | | |
Colum4 --| | | |
Colum3 -----| | |
Colum2 --------| |
Colum1 -----------|
Row1 -- RB5 Colum1 -- RD2
Row2 -- RB6 Colum2 -- RD0
Row3 -- RB7 Colum3 -- RB0
Row4 -- RB8 Colum4 -- RB1
*/
#define Data_Row1 LATBbits.LATB5
#define Data_Row2 LATBbits.LATB6
#define Data_Row3 LATBbits.LATB7
#define Data_Row4 LATBbits.LATB8
#define TRIS_Row1 TRISBbits.TRISB5
#define TRIS_Row2 TRISBbits.TRISB6
#define TRIS_Row3 TRISBbits.TRISB7
#define TRIS_Row4 TRISBbits.TRISB8
#define Lat_Colum1 LATDbits.LATD2
#define Lat_Colum2 LATDbits.LATD0
#define Lat_Colum3 LATBbits.LATB0
#define Lat_Colum4 LATBbits.LATB1
#define Data_Colum1 PORTDbits.RD2
#define Data_Colum2 PORTDbits.RD0
#define Data_Colum3 PORTBbits.RB0
#define Data_Colum4 PORTBbits.RB1
#define TRIS_Colum1 TRISDbits.TRISD2
#define TRIS_Colum2 TRISDbits.TRISD0
#define TRIS_Colum3 TRISBbits.TRISB0
#define TRIS_Colum4 TRISBbits.TRISB1
struct keySTATUS
{
unsigned int Tick;
unsigned keyBusy :1;
unsigned keyLeave :1;
unsigned keyPress :1;
unsigned keyFlag :1;
unsigned keyValue :4;
};
extern volatile struct keySTATUS Keypad;
extern void initial_Keypad_port(void);
extern unsigned char scan_Key(void);
unsigned char clear_Status(void);
unsigned char decoder_KeyPAD(unsigned char keyIN);
void row_Write(unsigned char dataOut);
unsigned char colum_Read(void);
extern void Wait_LeaveKeypad(void);
extern unsigned char Task1FlagCheck(unsigned char CheckIN);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -