Control de un teclado matricial 4x4 en CCS con PIC
1. www.novellius.com
Teclado Matricial 4x4
Teclado matricial de membrana adherible de 4x4 caracteres,
ideal para proyectos de microcontrol.
Características
• 16 botones organizados en 4 filas por 4 columnas
• Teclado de membrana adherible
• Voltaje máximo 24 V
• Corriente máxima 30 mA
• Dimensiones del Teclado 70 x 79 mm
• Dimensiones de la membrana 22 x 69 mm
Circuito Esquemático
2 3 A
5 6 B
1
7 8 9 C
* 0 # D
Conexión
4
FILA 1
FILA 2
FILA 3
FILA 4
COL 1
COL 2
COL 3
COL 4
Conecta directamente el teclado al puerto B de la TEMPIC-45 como se muestra a continuación
2. www.novellius.com
Código de Ejemplo para la TEMPIC-45
1. #include <18F4550.h>
2. #fuses HSPLL, PLL5, MCLR
3. #use delay (clock=20MHz)
4. #include <lcd.c>
5. #include “kbd_lib.c”
6. char c;
7. void main() {
8. kbd_init();
9. lcd_init();
10. printf(lcd_putc, “Esperando tecla”);
11. while(1) {
12. c = kbd_getc();
13. if(c != 0) {
14. printf(lcd_putc, “fPresionado. %c”, c);
15. }
16. }
17. }
Código 5
5. #include “kbd_lib.c”
Esta línea incluye la librería modificada para poder conectar el teclado matricial directamente al
puerto B del Microcontrolador. Puedes descargar este archivo desde:
https://www.dropbox.com/s/x3ku38a8klihnm0/kbd_lib.c?dl=0
Código 8
8. kbd_init();
Esta función habilita las resistencias de pull up del puerto B de la TEMPIC-45. Recuerda siempre
invocar esta función antes de intentar leer un caracter del teclado.
Código 12-15
12. c = kbd_getc();
13. if(c != 0) {
14. printf(lcd_putc, “fPresionado. %c”, c);
15. }
La línea 12 almacena el caracter recibido en la variable c, mediante la función kbd_getc(). Debido
que la librería estipula que si la función retorna el número cero no se ha recibido ningún caracter.
Es necesario probar cuando la variable c sea diferente de cero (línea 13), ya que en caso afirmativo
la línea 14 imprime en la pantalla LCD el caracter pulsado
3. www.novellius.com
Escríbenos tus inquietudes y pregunta
contacto@novellius.com
¿Tienes dudas acerca de este ejemplo?
Échale un vistazo a nuestro Curso Intermedio de Microcontroladores, el cual te impartimos a tu
propio ritmo y con instructores calificados.