\section{KEYPAD 4x4} \label{ID_KEYPAD4X4}
Quand on désire connecter un clavier (keypad) de 4x4 avec le port D ou B, il suffit d'ajouter la bibliothèque suivante 

~ ~ ~ ~ pour utiliser le port D
\begin{verbatim}
	#define PORTD_FOR_KEYPAD4X4
	#include <keypad4x4.h>
\end{verbatim}

~ ~ ~ ~ pour utiliser le port B
\begin{verbatim}
	#define PORTB_FOR_KEYPAD4X4
	#include <keypad4x4.h>
\end{verbatim}

\subsection{Diagramme des Broches (Pines)} \label{ID_PINESKEYPAD4X4}
Les claviers KeyPad sont ~un ensemble de boutons poussoirs disposés en forme de matrice de 4 lignes et 4 colonnes, ces dispositifs son utilisés pour introduire une information au microcontrôleur.

\verbatiminput{source/clavier.txt}
\subsection{kbd\_get}
char kbd\_get(void)

Cette fonction n'est pas bloquante et renvoie une variable de type char avec la valeur de la touche appuyée, si on ne trouve pas de touche appuyée ou si on trouve plus d'une touche on renvoie 0 
\subsection{kbd\_getchar}
char kbd\_getchar(void)

Cette fonction est similaire à \hyperref[kbdget]{kbd\_get} mais bloquante elle retourne aussi une variable de type char avec la valeur de la touche appuyée 

\subsection{Exemple de KeyPad4x4}

~ ~ pour compiler vous avez besoin des commandes suivantes : ~

Exemple de compilation : ./compila.sh ej\_keypad4x4 16f877a

ej\_keypad4x4.c
\verbatiminput{source/ej_keypad4x4.c}

\section{KEYPAD 4x4 FLEX}

Quand on désire connecter un clavier (keypad) de 4x4 avec n'importe quel broche (PIN), il suffit d'ajouter la ~bibliothèque suivante 

\begin{verbatim}
	#define ROW0    PIN_C0
	#define ROW1    PIN_C1
	#define ROW2    PIN_C2
	#define ROW3    PIN_C3
	#define COL0    PIN_C4
	#define COL1    PIN_C5
	#define COL2    PIN_C6
	#define COL3    PIN_C7

	#include  <{}keypad4x4flex.h>
\end{verbatim}

\subsection{Diagramme des Broches (Pines)}

~ Les claviers KeyPad sont un ensemble de boutons poussoirs disposés en forme de matrice de 4 lignes et 4 colonnes, ces dispositifs son utilisés pour introduire une information au microcontrôleur.

\verbatiminput{source/clavier.txt}
\subsection{kbd\_get}

char kbd\_get(void)

~ Cette fonction n'est pas bloquante et renvoie une variable de type char avec la valeur de la touche appuyée, si on ne trouve pas de touche appuyée ou si on trouve plus d'une touche on renvoie 0

\subsection{kbd\_getchar}

char kbd\_getchar(void)

~Cette fonction est similaire à \hyperlink{}{kbd\_get} mais bloquante elle retourne aussi une variable de type char avec la valeur de la touche appuyée 

\subsection{Exemple de KeyPad4x4 Flex}

pour compiler vous avez besoin des commandes suivantes :
\begin{verbatim}
 Exemple de compilation : ./compila.sh ej_keypad4x4flex 16f877a
\end{verbatim}
ej\_keypad4x4flex.c 
\verbatiminput{source/ej_keypad4x4.c}
