⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keypad.h

📁 dsPIC30F4011 + 4*4 metrix Keypad(flexible pin I/O) + Timer0 service >> MPLAB Project files &
💻 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 + -