Hi
I have written below program to read push buttons. I have doubt in Button pressed routine about De-bounce time for push button. Does this routine check each button and wait for De-bounce time ? also if do you find any errors let me know ?
I have written below program to read push buttons. I have doubt in Button pressed routine about De-bounce time for push button. Does this routine check each button and wait for De-bounce time ? also if do you find any errors let me know ?
C:
#include <REG51.h> /* Header file for 8051 */
sbit Push_Button1 = P2^0;
sbit Push_Button2 = P2^1;
sbit Push_Button3 = P3^2;
sbit Push_Button4 = P3^3;
#define Push_Button_Not_Pressed (0)
#define Push_Button_Pressed (1)
/* Initialization System */
void Push_Button_Initialization()
{
Push_Button1 = Push_Button_Not_Pressed ;
Push_Button2 = Push_Button_Not_Pressed ;
Push_Button3 = Push_Button_Not_Pressed ;
Push_Button4 = Push_Button_Not_Pressed ;
}
/* De-bounce time period*/
void Delay (unsigned int i)
{
for (i = 0; i < 40000; i++);
{
}
}
/* check any button pressed and return key number */
unsigned char Button_pressed(void)
{
unsigned char Key_Number;
if(!Push_Button1) Key_Number = '1';
if(!Push_Button2) Key_Number = '2';
if(!Push_Button3) Key_Number = '3';
if(!Push_Button4) Key_Number = '4';
Delay (20); /* De-bounce time */
return Key_Number;
}
/* check any button not pressed */
unsigned int Button_not_prssed(void)
{
unsigned int Key_Number = 0;
return Key_Number;
}
Last edited: