We strongly encourage users to use Package manager for sharing their code on Libstock website, because it boosts your efficiency and leaves the end user with no room for error. [more info]
Rating:
Author: Ebrahim Rahmanian
Last Updated: 2018-12-19
Package Version: 1.0.0.0
Category: Other Codes
Downloaded: 163 times
Not followed.
License: MIT license
All in One_Button and keypad1*1 ... 9*9key Lib
Do you want to subscribe in order to receive notifications regarding "All in One_85Function_Button and keypad1*1 ... 9*9key Lib" changes.
Do you want to unsubscribe in order to stop receiving notifications regarding "All in One_85Function_Button and keypad1*1 ... 9*9key Lib" changes.
Do you want to report abuse regarding "All in One_85Function_Button and keypad1*1 ... 9*9key Lib".
DOWNLOAD LINK | RELATED COMPILER | CONTAINS |
---|---|---|
1545173598_all_in_one_butto_mikroc_avr.rar [2.53MB] | mikroC PRO for AVR |
|
//+===============================================================================+
//|1.add "ButtonAndKeypad.h","ButtonAndKeypad.c","Delay.c","Delay.h" to Project |
//|2.include "ButtonAndKeypad.h" in project |
//|3.Enjoy! |
//|============================================================================== |
//|Simple lib for Button and Keypad. |
//|Ver : 940616_1 (2015/9/7) |
//|Ebrahim Rahmanian www.Mikroc.ir |
//+===============================================================================+
//=={1}==========================================================={
//1)This function Detect Button state
//2)*Pinx_for_Ex_PINC is Pinx Register Address{For Ex) &PINC}; PinNum_0to7 is Pin Number of port(0...7); Detect_0Low1HighState is detect mode _
////_ if Detect_0Low1HighState=0 function try detect logical zero State of Button, else if Detect_0Low1HighState=1 function try detect logical one State of Button. _
////_ Debounce_ms_0to5000 is a debounce period in milliseconds(0....5000)(25ms Is Normally value).
//3)if return value is 1 ==> Detect! ; return value is 0 ==> Not Detect! ; return value is 2 ==> input Parameter Is Not Valid
//4)ex)if button connect to C.0 :
////char Return_value;
////DDRC &= 0b11111110; //c.0 config input
////PORTC |= 0b1; //c.0 Active internal Pullup
////Return_value=Button_1Detect0NotDetect2ParameterIsNotValid(&PINC,0,0,25);
char Button_1Detect0NotDetect2ParameterIsNotValid(char *Pinx_for_Ex_PINC,char PinNum_0to7,char Detect_0Low1HighState,unsigned Debounce_ms_0to5000);
//=={1}===========================================================}
//=={2}==========================================================={
//1)This function Detect Button state
//2)*Pinx_for_Ex_PINC is Pinx Register Address{For Ex) &PINC}; PinNum_0to7 is Pin Number of port(0...7); Detect_0Low1High2FallingEdge3RisingEdge is detect mode _
////_ if Detect_0Low1High2FallingEdge3RisingEdge=0 function try detect logical zero State of Button,
////_ if Detect_0Low1High2FallingEdge3RisingEdge=1 function try detect logical one State of Button,
////_ if Detect_0Low1High2FallingEdge3RisingEdge=2 function try detect Falling Edge of Button,
////_ if Detect_0Low1High2FallingEdge3RisingEdge=3 function try detect RisingEdge of Button,
////_ Debounce_ms_0to5000 is a debounce period in milliseconds(0....5000)(25ms Is Normally value).
////_ CheckStateCount_1to4294967295 is count of try detect State.
//3)if return value is 1 ==> Detect! ; return value is 0 ==> Not Detect! ; return value is 2 ==> input Parameter Is Not Valid
//4)ex)if button connect to C.0 :
////char Return_value;
////DDRC &= 0b11111110; //c.0 config input
////PORTC |= 0b1; //c.0 Active internal Pullup
////Return_value=Button_1Detect0NotDetect2ParameterIsNotValid(&PINC,0,0,25,10000);
char ButtonAdvance_1Detect0NotDetect2ParameterIsNotValid(char *Pinx_for_Ex_PINC,char PinNum_0to7,char Detect_0Low1High2FallingEdge3RisingEdge,unsigned Debounce_ms_0to5000,unsigned long CheckStateCount_1to4294967295);
//=={2}===========================================================}
//=={3}==========================================================={
//1)This function Detect key_Down in keypad 1*1 (1Columns,1Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX PinNum_0to7.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRC,0,25, 0);
char KeyPadColumn1Row1_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={3}===========================================================}
//=={4}==========================================================={
//1)This function Detect key_Down in keypad 1*2 (1Columns,2Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRC,0,&DDRC,1,25, 0);
char KeyPadColumn1Row2_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={4}===========================================================}
//=={5}==========================================================={
//1)This function Detect key_Down in keypad 1*3 (1Columns,3Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRC,0,&DDRC,1,&DDRC,2,25, 0);
char KeyPadColumn1Row3_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={5}===========================================================}
//=={6}==========================================================={
//1)This function Detect key_Down in keypad 1*4 (1Columns,4Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,25, 0);
char KeyPadColumn1Row4_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={6}===========================================================}
//=={7}==========================================================={
//1)This function Detect key_Down in keypad 1*5 (1Columns,5Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,25, 0);
char KeyPadColumn1Row5_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={7}===========================================================}
//=={8}==========================================================={
//1)This function Detect key_Down in keypad 1*6 (1Columns,6Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,25, 0);
char KeyPadColumn1Row6_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={8}===========================================================}
//=={9}==========================================================={
//1)This function Detect key_Down in keypad 1*7 (1Columns,7Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,25, 0);
char KeyPadColumn1Row7_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={9}===========================================================}
//=={10}==========================================================={
//1)This function Detect key_Down in keypad 1*8 (1Columns,8Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,&DDRC,7,25, 0);
char KeyPadColumn1Row8_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,
char *Row8_DDRX_ForExample_DDRC,char Row8_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={10}===========================================================}
//=={11}==========================================================={
//1)This function Detect key_Down in keypad 1*9 (1Columns,9Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,&DDRC,7,&DDRC,8,25, 0);
char KeyPadColumn1Row9_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,
char *Row8_DDRX_ForExample_DDRC,char Row8_PinNum_0to7,
char *Row9_DDRX_ForExample_DDRC,char Row9_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={11}===========================================================}
//=={12}==========================================================={
//1)This function Detect key_Down in keypad 2*1 (2Columns,1Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRC,0,25, 0);
char KeyPadColumn2Row1_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={12}===========================================================}
//=={13}==========================================================={
//1)This function Detect key_Down in keypad 2*2 (2Columns,2Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRC,0,&DDRC,1,25, 0);
char KeyPadColumn2Row2_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={13}===========================================================}
//=={14}==========================================================={
//1)This function Detect key_Down in keypad 2*3 (2Columns,3Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRC,0,&DDRC,1,&DDRC,2,25, 0);
char KeyPadColumn2Row3_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={14}===========================================================}
//=={15}==========================================================={
//1)This function Detect key_Down in keypad 2*4 (2Columns,4Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,25, 0);
char KeyPadColumn2Row4_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={15}===========================================================}
//=={16}==========================================================={
//1)This function Detect key_Down in keypad 2*5 (2Columns,5Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,25, 0);
char KeyPadColumn2Row5_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={16}===========================================================}
//=={17}==========================================================={
//1)This function Detect key_Down in keypad 2*6 (2Columns,6Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,25, 0);
char KeyPadColumn2Row6_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={17}===========================================================}
//=={18}==========================================================={
//1)This function Detect key_Down in keypad 2*7 (2Columns,7Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,25, 0);
char KeyPadColumn2Row7_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={18}===========================================================}
//=={19}==========================================================={
//1)This function Detect key_Down in keypad 2*8 (2Columns,8Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,&DDRC,7,25, 0);
char KeyPadColumn2Row8_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,
char *Row8_DDRX_ForExample_DDRC,char Row8_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={19}===========================================================}
//=={20}==========================================================={
//1)This function Detect key_Down in keypad 2*9 (2Columns,9Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,&DDRC,7,&DDRC,8,25, 0);
char KeyPadColumn2Row9_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,
char *Row8_DDRX_ForExample_DDRC,char Row8_PinNum_0to7,
char *Row9_DDRX_ForExample_DDRC,char Row9_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={20}===========================================================}
//=={21}==========================================================={
//1)This function Detect key_Down in keypad 3*1 (3Columns,1Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRC,0,25, 0);
char KeyPadColumn3Row1_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={21}===========================================================}
//=={22}==========================================================={
//1)This function Detect key_Down in keypad 3*2 (3Columns,2Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRC,0,&DDRC,1,25, 0);
char KeyPadColumn3Row2_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={22}===========================================================}
//=={23}==========================================================={
//1)This function Detect key_Down in keypad 3*3 (3Columns,3Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRC,0,&DDRC,1,&DDRC,2,25, 0);
char KeyPadColumn3Row3_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={23}===========================================================}
//=={24}==========================================================={
//1)This function Detect key_Down in keypad 3*4 (3Columns,4Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,25, 0);
char KeyPadColumn3Row4_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={24}===========================================================}
//=={25}==========================================================={
//1)This function Detect key_Down in keypad 3*5 (3Columns,5Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,25, 0);
char KeyPadColumn3Row5_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={25}===========================================================}
//=={26}==========================================================={
//1)This function Detect key_Down in keypad 3*6 (3Columns,6Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,25, 0);
char KeyPadColumn3Row6_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={26}===========================================================}
//=={27}==========================================================={
//1)This function Detect key_Down in keypad 3*7 (3Columns,7Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,25, 0);
char KeyPadColumn3Row7_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={27}===========================================================}
//=={28}==========================================================={
//1)This function Detect key_Down in keypad 3*8 (3Columns,8Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,&DDRC,7,25, 0);
char KeyPadColumn3Row8_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,
char *Row8_DDRX_ForExample_DDRC,char Row8_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={28}===========================================================}
//=={29}==========================================================={
//1)This function Detect key_Down in keypad 3*9 (3Columns,9Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,&DDRC,7,&DDRC,8,25, 0);
char KeyPadColumn3Row9_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,
char *Row8_DDRX_ForExample_DDRC,char Row8_PinNum_0to7,
char *Row9_DDRX_ForExample_DDRC,char Row9_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={29}===========================================================}
//=={30}==========================================================={
//1)This function Detect key_Down in keypad 4*1 (4Columns,1Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRC,0,25, 0);
char KeyPadColumn4Row1_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={30}===========================================================}
//=={31}==========================================================={
//1)This function Detect key_Down in keypad 4*2 (4Columns,2Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRC,0,&DDRC,1,25, 0);
char KeyPadColumn4Row2_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={31}===========================================================}
//=={32}==========================================================={
//1)This function Detect key_Down in keypad 4*3 (4Columns,3Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRC,0,&DDRC,1,&DDRC,2,25, 0);
char KeyPadColumn4Row3_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={32}===========================================================}
//=={33}==========================================================={
//1)This function Detect key_Down in keypad 4*4 (4Columns,4Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,25, 0);
char KeyPadColumn4Row4_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={33}===========================================================}
//=={34}==========================================================={
//1)This function Detect key_Down in keypad 4*5 (4Columns,5Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,25, 0);
char KeyPadColumn4Row5_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={34}===========================================================}
//=={35}==========================================================={
//1)This function Detect key_Down in keypad 4*6 (4Columns,6Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,25, 0);
char KeyPadColumn4Row6_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={35}===========================================================}
//=={36}==========================================================={
//1)This function Detect key_Down in keypad 4*7 (4Columns,7Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,25, 0);
char KeyPadColumn4Row7_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={36}===========================================================}
//=={37}==========================================================={
//1)This function Detect key_Down in keypad 4*8 (4Columns,8Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,&DDRC,7,25, 0);
char KeyPadColumn4Row8_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,
char *Row8_DDRX_ForExample_DDRC,char Row8_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={37}===========================================================}
//=={38}==========================================================={
//1)This function Detect key_Down in keypad 4*9 (4Columns,9Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,&DDRC,7,&DDRC,8,25, 0);
char KeyPadColumn4Row9_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,
char *Row8_DDRX_ForExample_DDRC,char Row8_PinNum_0to7,
char *Row9_DDRX_ForExample_DDRC,char Row9_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={38}===========================================================}
//=={39}==========================================================={
//1)This function Detect key_Down in keypad 5*1 (5Columns,1Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRC,0,25, 0);
char KeyPadColumn5Row1_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={39}===========================================================}
//=={40}==========================================================={
//1)This function Detect key_Down in keypad 5*2 (5Columns,2Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRC,0,&DDRC,1,25, 0);
char KeyPadColumn5Row2_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={40}===========================================================}
//=={41}==========================================================={
//1)This function Detect key_Down in keypad 5*3 (5Columns,3Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRC,0,&DDRC,1,&DDRC,2,25, 0);
char KeyPadColumn5Row3_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={41}===========================================================}
//=={42}==========================================================={
//1)This function Detect key_Down in keypad 5*4 (5Columns,4Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,25, 0);
char KeyPadColumn5Row4_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={42}===========================================================}
//=={43}==========================================================={
//1)This function Detect key_Down in keypad 5*5 (5Columns,5Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,25, 0);
char KeyPadColumn5Row5_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={43}===========================================================}
//=={44}==========================================================={
//1)This function Detect key_Down in keypad 5*6 (5Columns,6Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,25, 0);
char KeyPadColumn5Row6_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={44}===========================================================}
//=={45}==========================================================={
//1)This function Detect key_Down in keypad 5*7 (5Columns,7Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,25, 0);
char KeyPadColumn5Row7_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={45}===========================================================}
//=={46}==========================================================={
//1)This function Detect key_Down in keypad 5*8 (5Columns,8Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,&DDRC,7,25, 0);
char KeyPadColumn5Row8_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,
char *Row8_DDRX_ForExample_DDRC,char Row8_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={46}===========================================================}
//=={47}==========================================================={
//1)This function Detect key_Down in keypad 5*9 (5Columns,9Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,&DDRC,7,&DDRC,8,25, 0);
char KeyPadColumn5Row9_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,
char *Row8_DDRX_ForExample_DDRC,char Row8_PinNum_0to7,
char *Row9_DDRX_ForExample_DDRC,char Row9_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={47}===========================================================}
//=={48}==========================================================={
//1)This function Detect key_Down in keypad 6*1 (6Columns,1Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRC,0,25, 0);
char KeyPadColumn6Row1_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={48}===========================================================}
//=={49}==========================================================={
//1)This function Detect key_Down in keypad 6*2 (6Columns,2Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRC,0,&DDRC,1,25, 0);
char KeyPadColumn6Row2_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={49}===========================================================}
//=={50}==========================================================={
//1)This function Detect key_Down in keypad 6*3 (6Columns,3Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRC,0,&DDRC,1,&DDRC,2,25, 0);
char KeyPadColumn6Row3_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={50}===========================================================}
//=={51}==========================================================={
//1)This function Detect key_Down in keypad 6*4 (6Columns,4Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,25, 0);
char KeyPadColumn6Row4_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={51}===========================================================}
//=={52}==========================================================={
//1)This function Detect key_Down in keypad 6*5 (6Columns,5Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,25, 0);
char KeyPadColumn6Row5_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={52}===========================================================}
//=={53}==========================================================={
//1)This function Detect key_Down in keypad 6*6 (6Columns,6Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,25, 0);
char KeyPadColumn6Row6_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={53}===========================================================}
//=={54}==========================================================={
//1)This function Detect key_Down in keypad 6*7 (6Columns,7Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,25, 0);
char KeyPadColumn6Row7_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={54}===========================================================}
//=={55}==========================================================={
//1)This function Detect key_Down in keypad 6*8 (6Columns,8Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,&DDRC,7,25, 0);
char KeyPadColumn6Row8_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,
char *Row8_DDRX_ForExample_DDRC,char Row8_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={55}===========================================================}
//=={56}==========================================================={
//1)This function Detect key_Down in keypad 6*9 (6Columns,9Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,&DDRC,7,&DDRC,8,25, 0);
char KeyPadColumn6Row9_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,
char *Row8_DDRX_ForExample_DDRC,char Row8_PinNum_0to7,
char *Row9_DDRX_ForExample_DDRC,char Row9_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={56}===========================================================}
//=={57}==========================================================={
//1)This function Detect key_Down in keypad 7*1 (7Columns,1Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRC,0,25, 0);
char KeyPadColumn7Row1_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={57}===========================================================}
//=={58}==========================================================={
//1)This function Detect key_Down in keypad 7*2 (7Columns,2Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRC,0,&DDRC,1,25, 0);
char KeyPadColumn7Row2_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={58}===========================================================}
//=={59}==========================================================={
//1)This function Detect key_Down in keypad 7*3 (7Columns,3Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRC,0,&DDRC,1,&DDRC,2,25, 0);
char KeyPadColumn7Row3_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={59}===========================================================}
//=={60}==========================================================={
//1)This function Detect key_Down in keypad 7*4 (7Columns,4Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,25, 0);
char KeyPadColumn7Row4_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={60}===========================================================}
//=={61}==========================================================={
//1)This function Detect key_Down in keypad 7*5 (7Columns,5Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,25, 0);
char KeyPadColumn7Row5_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={61}===========================================================}
//=={62}==========================================================={
//1)This function Detect key_Down in keypad 7*6 (7Columns,6Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,25, 0);
char KeyPadColumn7Row6_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={62}===========================================================}
//=={63}==========================================================={
//1)This function Detect key_Down in keypad 7*7 (7Columns,7Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,25, 0);
char KeyPadColumn7Row7_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={63}===========================================================}
//=={64}==========================================================={
//1)This function Detect key_Down in keypad 7*8 (7Columns,8Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,&DDRC,7,25, 0);
char KeyPadColumn7Row8_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,
char *Row8_DDRX_ForExample_DDRC,char Row8_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={64}===========================================================}
//=={65}==========================================================={
//1)This function Detect key_Down in keypad 7*9 (7Columns,9Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,&DDRC,7,&DDRC,8,25, 0);
char KeyPadColumn7Row9_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,
char *Row8_DDRX_ForExample_DDRC,char Row8_PinNum_0to7,
char *Row9_DDRX_ForExample_DDRC,char Row9_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={65}===========================================================}
//=={66}==========================================================={
//1)This function Detect key_Down in keypad 8*1 (8Columns,1Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRD,7,&DDRC,0,25, 0);
char KeyPadColumn8Row1_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Column8_DDRX_ForExample_DDRC,char Column8_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={66}===========================================================}
//=={67}==========================================================={
//1)This function Detect key_Down in keypad 8*2 (8Columns,2Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRD,7,&DDRC,0,&DDRC,1,25, 0);
char KeyPadColumn8Row2_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Column8_DDRX_ForExample_DDRC,char Column8_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={67}===========================================================}
//=={68}==========================================================={
//1)This function Detect key_Down in keypad 8*3 (8Columns,3Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRD,7,&DDRC,0,&DDRC,1,&DDRC,2,25, 0);
char KeyPadColumn8Row3_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Column8_DDRX_ForExample_DDRC,char Column8_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={68}===========================================================}
//=={69}==========================================================={
//1)This function Detect key_Down in keypad 8*4 (8Columns,4Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRD,7,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,25, 0);
char KeyPadColumn8Row4_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Column8_DDRX_ForExample_DDRC,char Column8_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={69}===========================================================}
//=={70}==========================================================={
//1)This function Detect key_Down in keypad 8*5 (8Columns,5Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRD,7,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,25, 0);
char KeyPadColumn8Row5_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Column8_DDRX_ForExample_DDRC,char Column8_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={70}===========================================================}
//=={71}==========================================================={
//1)This function Detect key_Down in keypad 8*6 (8Columns,6Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRD,7,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,25, 0);
char KeyPadColumn8Row6_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Column8_DDRX_ForExample_DDRC,char Column8_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={71}===========================================================}
//=={72}==========================================================={
//1)This function Detect key_Down in keypad 8*7 (8Columns,7Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRD,7,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,25, 0);
char KeyPadColumn8Row7_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Column8_DDRX_ForExample_DDRC,char Column8_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={72}===========================================================}
//=={73}==========================================================={
//1)This function Detect key_Down in keypad 8*8 (8Columns,8Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRD,7,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,&DDRC,7,25, 0);
char KeyPadColumn8Row8_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Column8_DDRX_ForExample_DDRC,char Column8_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,
char *Row8_DDRX_ForExample_DDRC,char Row8_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={73}===========================================================}
//=={74}==========================================================={
//1)This function Detect key_Down in keypad 8*9 (8Columns,9Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRD,7,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,&DDRC,7,&DDRC,8,25, 0);
char KeyPadColumn8Row9_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Column8_DDRX_ForExample_DDRC,char Column8_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,
char *Row8_DDRX_ForExample_DDRC,char Row8_PinNum_0to7,
char *Row9_DDRX_ForExample_DDRC,char Row9_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={74}===========================================================}
//=={75}==========================================================={
//1)This function Detect key_Down in keypad 9*1 (9Columns,1Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRD,7,&DDRD,8,&DDRC,0,25, 0);
char KeyPadColumn9Row1_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Column8_DDRX_ForExample_DDRC,char Column8_PinNum_0to7,
char *Column9_DDRX_ForExample_DDRC,char Column9_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={75}===========================================================}
//=={76}==========================================================={
//1)This function Detect key_Down in keypad 9*2 (9Columns,2Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRD,7,&DDRD,8,&DDRC,0,&DDRC,1,25, 0);
char KeyPadColumn9Row2_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Column8_DDRX_ForExample_DDRC,char Column8_PinNum_0to7,
char *Column9_DDRX_ForExample_DDRC,char Column9_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={76}===========================================================}
//=={77}==========================================================={
//1)This function Detect key_Down in keypad 9*3 (9Columns,3Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRD,7,&DDRD,8,&DDRC,0,&DDRC,1,&DDRC,2,25, 0);
char KeyPadColumn9Row3_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Column8_DDRX_ForExample_DDRC,char Column8_PinNum_0to7,
char *Column9_DDRX_ForExample_DDRC,char Column9_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={77}===========================================================}
//=={78}==========================================================={
//1)This function Detect key_Down in keypad 9*4 (9Columns,4Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRD,7,&DDRD,8,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,25, 0);
char KeyPadColumn9Row4_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Column8_DDRX_ForExample_DDRC,char Column8_PinNum_0to7,
char *Column9_DDRX_ForExample_DDRC,char Column9_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={78}===========================================================}
//=={79}==========================================================={
//1)This function Detect key_Down in keypad 9*5 (9Columns,5Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRD,7,&DDRD,8,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,25, 0);
char KeyPadColumn9Row5_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Column8_DDRX_ForExample_DDRC,char Column8_PinNum_0to7,
char *Column9_DDRX_ForExample_DDRC,char Column9_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={79}===========================================================}
//=={80}==========================================================={
//1)This function Detect key_Down in keypad 9*6 (9Columns,6Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRD,7,&DDRD,8,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,25, 0);
char KeyPadColumn9Row6_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Column8_DDRX_ForExample_DDRC,char Column8_PinNum_0to7,
char *Column9_DDRX_ForExample_DDRC,char Column9_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={80}===========================================================}
//=={81}==========================================================={
//1)This function Detect key_Down in keypad 9*7 (9Columns,7Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRD,7,&DDRD,8,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,25, 0);
char KeyPadColumn9Row7_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Column8_DDRX_ForExample_DDRC,char Column8_PinNum_0to7,
char *Column9_DDRX_ForExample_DDRC,char Column9_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={81}===========================================================}
//=={82}==========================================================={
//1)This function Detect key_Down in keypad 9*8 (9Columns,8Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRD,7,&DDRD,8,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,&DDRC,7,25, 0);
char KeyPadColumn9Row8_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Column8_DDRX_ForExample_DDRC,char Column8_PinNum_0to7,
char *Column9_DDRX_ForExample_DDRC,char Column9_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,
char *Row8_DDRX_ForExample_DDRC,char Row8_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={82}===========================================================}
//=={83}==========================================================={
//1)This function Detect key_Down in keypad 9*9 (9Columns,9Rows)
// 2)*ColumnX_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//3)ColumnX_PinNum_0to7 Is ColumnX Pin Number of port.
//4)*Row1_DDRX_ForExample_DDRC Is ColumnX DDR Address.
//5)Row1_PinNum_0to7 ColumnX Pin Number of port.
//6)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//7)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//8)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//9)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//10)this function automatically config Microcontroller DDR Register ,for keypad.
//11)You can connect the Pins of keypad to different pins of Microcontroller.
//12)Order of priority for scanKey_down:
////1.Number less of Columns 2.Number less of Rows
//13)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
// 14)Function Call example :
//// Suppose!)
////if ColumnX Connected To D.X ; RowsY Connected To C.Y ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn1Row1_GetKey(&DDRD,0,&DDRD,1,&DDRD,2,&DDRD,3,&DDRD,4,&DDRD,5,&DDRD,6,&DDRD,7,&DDRD,8,&DDRC,0,&DDRC,1,&DDRC,2,&DDRC,3,&DDRC,4,&DDRC,5,&DDRC,6,&DDRC,7,&DDRC,8,25, 0);
char KeyPadColumn9Row9_GetKey(char *Column1_DDRX_ForExample_DDRC,char Column1_PinNum_0to7,
char *Column2_DDRX_ForExample_DDRC,char Column2_PinNum_0to7,
char *Column3_DDRX_ForExample_DDRC,char Column3_PinNum_0to7,
char *Column4_DDRX_ForExample_DDRC,char Column4_PinNum_0to7,
char *Column5_DDRX_ForExample_DDRC,char Column5_PinNum_0to7,
char *Column6_DDRX_ForExample_DDRC,char Column6_PinNum_0to7,
char *Column7_DDRX_ForExample_DDRC,char Column7_PinNum_0to7,
char *Column8_DDRX_ForExample_DDRC,char Column8_PinNum_0to7,
char *Column9_DDRX_ForExample_DDRC,char Column9_PinNum_0to7,
char *Row1_DDRX_ForExample_DDRC,char Row1_PinNum_0to7,
char *Row2_DDRX_ForExample_DDRC,char Row2_PinNum_0to7,
char *Row3_DDRX_ForExample_DDRC,char Row3_PinNum_0to7,
char *Row4_DDRX_ForExample_DDRC,char Row4_PinNum_0to7,
char *Row5_DDRX_ForExample_DDRC,char Row5_PinNum_0to7,
char *Row6_DDRX_ForExample_DDRC,char Row6_PinNum_0to7,
char *Row7_DDRX_ForExample_DDRC,char Row7_PinNum_0to7,
char *Row8_DDRX_ForExample_DDRC,char Row8_PinNum_0to7,
char *Row9_DDRX_ForExample_DDRC,char Row9_PinNum_0to7,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={83}===========================================================}
//=={84}==========================================================={
//1)This function Detect key_Down in keypad 4*4 (4Columns,4Row)
//2)*ColumnsAndRows_DDRX Is Columns and Rows DDR Address. DDRX.0...DDRX.3 Connect to Columns and
////DDRX.4....DDRX.7 Connect to Rows.
//3)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//4)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//5)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//6)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//7)this function automatically config Microcontroller DDR Register ,for keypad.
//8)Order of priority for scanKey_down:
////1.No Upper of Columns 2.No Upper of Rows
//9)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
//14)Function Call example :
//// Suppose!)
////if Columns1 Connect to C.0....Columns4 Connect to C.3; Row1 Connect to C.4....Row4 Connect to C.7 ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn4Row4_GetKey(&DDRC,25, 0);
char KeyPadColumn4Row4_GetKey2(char *ColumnsAndRows_DDRX,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={84}===========================================================}
//=={85}==========================================================={
//1)This function Detect key_Down in keypad 3*4 (3Columns,4Row)
//2)*ColumnsAndRows_DDRX Is Columns and Rows DDR Address. DDRX.0...DDRX.2 Connect to Columns and
////DDRX.3....DDRX.6 Connect to Rows.
//3)Debounce_ms Is Detect key down Debounce (25ms Is Normally value).
//4)if PullupMode_0Internal1ExternalInColumn=0 then Pullup Mode Is Internal_Pullup mode _
////_ else PullupMode_0Internal1ExternalInColumn=1 then Pullup Mode Is External_Pullup mode
//5)if VCC of microcontroller Is 5v And External Pullup VCC Is 5v then extrnal pullup resistor in Columns, can be ~10k...15k ohm.
//6)if PullupMode_0Internal1ExternalInColumn=0 ==> Pullup Mode Is Internal_Pullup mode ,Do Not connect external resistance.
//7)this function automatically config Microcontroller DDR Register ,for keypad.
//8)Order of priority for scanKey_down:
////1.No Upper of Columns 2.No Upper of Rows
//9)Return Value:
//// if Not detect KeyDown then return 0
//// else if detect KeyDown then return (Row_Number_of_keypad*10)+Column_Number_of_keypad
//// for ex) if key(Row=1,Column=2) Is down ===>Return 12 or for ex)if key(Row=3,Column=3) Is down ===>Return 33
//14)Function Call example :
//// Suppose!)
////if Columns1 Connect to C.0....Columns3 Connect to C.2; Row1 Connect to C.3....Row4 Connect to C.6 ; Debounce=25ms ; PullupMode=Internal Mode :
////char return_value;
////return_value=KeyPadColumn3Row4_GetKey(&DDRC,25, 0);
char KeyPadColumn3Row4_GetKey2(char *ColumnsAndRows_DDRX,unsigned Debounce_ms,char PullupMode_0Internal1ExternalInColumn);
//=={85}===========================================================}