Interfacing of Keypad with PIC Microcontroller

Today, I am going to share a very basic tutorial on PIC Microcontroller, which is Interfacing of Keypad with PIC ...

keypad with pic, keypad with pic microcontroller, pic with keypad, pic microcontroller with keypadHello everyone, I hope you all are doing great. Today, I am going to share a very basic tutorial on PIC Microcontroller, which is Interfacing of Keypad with PIC Microcontroller. I have designed this simulation of Keypad with PIC Microcontroller in Proteus ISIS and the simulation along with code is given below for download. But I would suggest you to read it first and then design it on your own so that you learn most out of it.In today's tutorial, I am not gonna discuss the details of How keypad works because I have discussed it in detail in my old tutorial Interfacing of Keypad with Arduino so if you don't have much idea about working of keypad then I would recommend you to read that tutorial first, before proceeding with today's tutorial. I have also interface this Keypad with 8051 Microcontroller, so today we are gonna interface this keypad with PIC Microcontroller. I have written programming code for this project in MikroC Pro For PIC. So, let's get started with Interfacing of Keypad with PIC Microcontroller:

Interfacing of Keypad with PIC Microcontroller

  • First of all, you can download the Simulation for this project along with programming code by clicking the below button:

[dt_button link="https://www.theengineeringprojects.com/PICProjects/Keypad with PIC Microcontroller.rar" target_blank="false" button_alignment="default" animation="fadeIn" size="medium" style="default" bg_color_style="default" bg_hover_color_style="default" text_color_style="default" text_hover_color_style="default" icon="fa fa-chevron-circle-right" icon_align="left"]Download Code & Simulation[/dt_button]

  • Now, let's design it step by step.
  • I have used LCD Library for Proteus so download it first and then run this simulation.
  • First of all, design a simple simulation in Proteus software as shown in below figure:
keypad with pic, keypad with pic microcontroller, pic with keypad, pic microcontroller with keypad
  • Now paste the below programming code in MikroC Pro For PIC.
  • In this Programming code, the key pressed on keypad will be displayed on the LCD.
  • So, when you press any button on the keypad, it will appear on the LCD.
  • Here's the code which you need to use in MikroC Pro For PIC:
unsigned short kp, cnt, oldstate = 0;
char txt[6];

char  keypadPort at PORTD;

sbit LCD_RS at RB0_bit;
sbit LCD_EN at RB1_bit;
sbit LCD_D4 at RB2_bit;
sbit LCD_D5 at RB3_bit;
sbit LCD_D6 at RB4_bit;
sbit LCD_D7 at RB5_bit;

sbit LCD_RS_Direction at TRISB0_bit;
sbit LCD_EN_Direction at TRISB1_bit;
sbit LCD_D4_Direction at TRISB2_bit;
sbit LCD_D5_Direction at TRISB3_bit;
sbit LCD_D6_Direction at TRISB4_bit;
sbit LCD_D7_Direction at TRISB5_bit;


void main() {
  cnt = 0;
  Keypad_Init();
  Lcd_Init();
  Lcd_Cmd(_LCD_CLEAR);
  Lcd_Cmd(_LCD_CURSOR_OFF);
  Lcd_Out(3, 2, "The Engineering");
  Lcd_Out(4, 5, "Projects");
   Lcd_Out(1, 1, "Key Pressed:");

  do {
    kp = 0;
    do
      kp = Keypad_Key_Click();
    while (!kp);
    
    switch (kp) {
      case 10: kp = 42; break;  // '*'
      case 11: kp = 48; break;  // '0'
      case 12: kp = 35; break;  // '#'
      case  1: kp = 49; break; // 1
      case  2: kp = 50; break; // 2
      case  3: kp = 51; break; // 3
      case  4: kp = 65; break; // A
      case  5: kp = 52; break; // 4
      case  6: kp = 53; break; // 5
      case  7: kp = 54; break; // 6
      case  8: kp = 66; break; // B
      case  9: kp = 55; break; // 7
      case 10: kp = 56; break; // 8
      case 11: kp = 57; break; // 9
      case 12: kp = 67; break; // C
      case 13: kp = 42; break; // *
      case 14: kp = 48; break; // 0
      case 15: kp = 35; break; // #
      case 16: kp = 68; break; // D

    }

    Lcd_Chr(1, 14, kp);
  } while (1);
}
  • Now get your hex file and upload it in your Proteus Simulation.
  • Run your simulation and if everything goes fine then you will get results as shown in below figure:
keypad with pic, keypad with pic microcontroller, pic with keypad, pic microcontroller with keypad
  • So, in the above figure, I have pressed button 5 on the keypad and it is shown on the LCD.
  • Here's the video demonstration which will help you better in understanding this project:
So, that's how we can interface our Keypad with PIC Microcontroller. If you got into any trouble following this tutorial then ask your problems in the comments and I will help you out. That's all for today, I hope you guys can now interface keypad with PIC Microcontroller easily. :)

Leave a Reply

Leave a Reply


Comments on ‘’Interfacing of Keypad with PIC Microcontroller‘’ ( 3 )

  1. I followed the this tutorial. I noticed that the screen, the microcontroller and the button are not connected. So will it work like that?

    1. Hi,

      These are connector Pins, and they have same name on both ends. It’s like a wireless connection in Proteus 😛 just to make simulation clear.

      Thanks.

  2. hello sir,
    Thank you for shearing this project, I am new in coding i try to make a code lock system by your concept but i am facing some problem in keypad program. can you please shear a keypad_Key_Click() code.

    Thank You