Tecno Android Phones, Samsung Imei Repair, Huawei Mediapad, Official Firmware/ Flash File, WiFi, Alcatel One, Flash Tool Windows, Android Jelly Bean

Interfacing Keypad with PIC16F877A in C program using MPLAB X

Interfacing Keypad with PIC16F877A in C program using MPLAB X - we say welcome to the blog Tecno Android Phones we provide a lot of latest gadget information that must be very dear for you to miss, now we will discuss first about Interfacing Keypad with PIC16F877A in C program using MPLAB X we have collected a lot of information to make this article to complete for you, Please read:

Articles : Interfacing Keypad with PIC16F877A in C program using MPLAB X
full Link : Interfacing Keypad with PIC16F877A in C program using MPLAB X

You can also see our article on:


Interfacing Keypad with PIC16F877A in C program using MPLAB X

This tutorial will show you how to read a 4x4 keypad input and write to an alphanumeric LCD interfaced to your PIC micro, it's pretty simple and straight forward.

First create a new project and add a c main file like in the  steps for  Blinking a LED using MPLAB X , PIC16F877A
Components
1.PIC16F877A micro controller
2. 4x4 matrix keypad

initial setup
 supply logic 0 (0V or GND) to all 4 keypad row wires or set the row pins as output
 Supply logic 1 (high voltage) to all 4 keypad coloum wires or set coloums  as input


Steps to read a key from the keypad 
1. Find the Row first, by selecting each row
2. scan the colum  which pressed key is
3 Find the key pressed ,the function findKey() is for this


4. If we have at least one key pressed, then return from keypadread()  will be non zero.






PROGRAM 
#######################################################################
    /*
 * File:   main.c
 * Author: Ebin Ephrem
 
 */


#include<htc.h>

#if defined(WDTE_OFF)
__CONFIG(WDTE_OFF & LVP_OFF);
#elif defined (WDTDIS)
__CONFIG(WDTDIS & LVPDIS);
#endif

char findKey(unsigned int a, unsigned int b);
char readKeyboard();

void main()
{  
   TRISB = 0xF0;

unsigned int re;   
 while(1)
    {
        re=0;
        re= readKeyboard();
    }
}
char readKeyboard()

{
 unsigned int i = 0;
 for(i=0;i<4;i++)
 {
  if(i == 0)
  PORTB = 1;
  else if(i == 1)
  PORTB = 2;
  else if(i == 2)
  PORTB = 4;
  else if(i == 3)
  PORTB = 8;

  if(RB4)
    return findKey(i,0);
  if(RB5)
   return findKey(i,1);
  if(RB6)
   return findKey(i,2);
  if(RB7)
   return findKey(i,3);
 }
 return ' ';
}
char findKey(unsigned int a, unsigned int b) //generating key character 
{

 if(b == 0)
 {
   if(a == 3)
    return '3';
   else if(a == 2)
    return '2';
   else if(a == 1)
    return '1';
   else if(a == 0)
    return '0';
 }
 else if(b == 1)
 {
   if(a == 3)
    return '8';
   else if(a == 2)
    return '7';
   else if(a == 1)
    return '6';
   else if(a == 0)
    return '5';
 }
 else if(b == 2)
 {
   if(a == 3)
    return 'b';
   else if(a == 2)
    return '8';
   else if(a == 1)
    return 'A';
   else if(a == 0)
    return '-';
 }
 else if(b == 3)
 {
   if(a == 3)
    return 'C';
   else if(a == 2)
    return 'U';
   else if(a == 1)
    return 'E';
   else if(a == 0)
    return 'F';
  }
}

######################################################################


you can modify the number of colums and rows for 3x4 keypad , and for the other keypads





Articles about Interfacing Keypad with PIC16F877A in C program using MPLAB X finished discussed

We think it is enough information about Interfacing Keypad with PIC16F877A in C program using MPLAB X , hopefully the information we give can give benefit for you,

If you feel the information Interfacing Keypad with PIC16F877A in C program using MPLAB X that we provide can provide benefits for others please share with link https://southernmatron.blogspot.com/2012/09/interfacing-keypad-with-pic16f877a-in-c.html thank you for visiting our blog page and do not forget to visit other pages.

Tag :
Share on Facebook
Share on Twitter
Share on Google+
Tags :

Related : Interfacing Keypad with PIC16F877A in C program using MPLAB X

0 komentar:

Post a Comment