matrix keypad pic mikroc library

  
Inside:
Repository
It initializes a particular port for working with keypad. A global variable keypad Port must be defined before using this function. Port need to be initialized before calling this function. This function reads key when a key is pressed and it returnsnumber corresponding (1 16) to the pressed key. If no key is pressed, it will return 0. When this function is called, it waits until some key is pressed and released.
matrix keypad pic mikroc library - schematic

When released it returns number corresponding (1 16) to the pressed key. If no key is pressed, it will return 0. If more than one key is pressed, the function waits until all pressed keys are released and returns number corresponds to first pressed key. Port need to be initialized before calling this function. Fordemonstrationof the working, here we will use a 4*3 keypad. The pressed key and number of times a particular key is pressed in displayed in LCD Display. unsigned short kp, cnt, oldstate = 0; char txt[6]; // Keypad module connections char keypadPort at PORTC; // End Keypad module connections // LCD module connections sbit LCD_RS at RB1_bit; sbit LCD_EN at RB0_bit; sbit LCD_D4 at RB4_bit; sbit LCD_D5 at RB5_bit; sbit LCD_D6 at RB6_bit; sbit LCD_D7 at RB7_bit; sbit LCD_RS_Direction at TRISB1_bit; sbit LCD_EN_Direction at TRISB0_bit; sbit LCD_D4_Direction at TRISB4_bit; sbit LCD_D5_Direction at TRISB5_bit; sbit LCD_D6_Direction at TRISB6_bit; sbit LCD_D7_Direction at TRISB7_bit; // End LCD module connections void main() { cnt = 0; // Reset counter Keypad_Init(); // Initialize Keypad Lcd_Init(); // Initialize Lcd Lcd_Cmd(_LCD_CLEAR); // Clear display Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off Lcd_Out(1, 1, "1"); Lcd_Out(1, 1, "Key :"); // Write message text on Lcd Lcd_Out(2, 1, "Times:"); do { kp = 0; // Reset key code variable // Wait for key to be pressed and released do //kp = Keypad_Key_Press(); // Store key code in...



Leave Comment

characters left:

New Circuits

.