Documente Academic
Documente Profesional
Documente Cultură
19/07/12 15:36
microC
Lder en la programacin de microcontroladores PIC
Sguenos en | Inicio | La empresa. Contctanos | Cmo comprar nuestros productos | Ofertas | Recursos | Mapa del sitio |
Extracto del Captulo VIII del libro Cmo programar en lenguaje C los microcontroladores PIC16F88, 16F628A y 16F877A. 2da edicin. Regstrate aqu para descargar una muestra gratis de este libro
Introduccin
En este captulo se har el estudio del teclado matricial 4x4 (figura 8.1), que son los ms utilizados en el desarrollo de proyectos con PICs y que tienen su aplicacin en el ingreso de datos de manera manual por parte del usuario, en aquellos casos en que el empleo de pulsadores simples no es lo ms apropiado, ya sea por la presentacin final del producto o por la restriccin del nmero de lneas de entrada del PIC.
http://www.programarpicenc.com/libro/cap08_teclado_hexadecimal.html
Pgina 1 de 4
Teclado matricial 4x4 (hexadecimal). Cmo programar en lenguaje c los microcontroladores PIC.
19/07/12 15:36
Figura 8.1 Teclado hexadecimal Est constituido por una matriz de pulsadores dispuestos en filas (A,B,C,D) y columnas (1,2,3,4), con la intencin de reducir el nmero de pines necesarios para su conexin. Las 16 teclas necesitan slo 8 pines, en lugar de los 16 que se requeriran para 16 teclas independientes. Su funcionamiento es muy sencillo, cuando se presiona una tecla, se conectan internamente la fila y columna correspondientes; por ejemplo, al presionar la tecla 7 se conectan la fila C y la columna 1. Si no hay ninguna tecla presionada, las filas estn desconectadas de las columnas.
Para poder utilizar estas funciones se tiene que declarar previamente una variable que especifica el puerto que se emplear para la conexin del teclado matricial 4x4, como se observa en los ejemplos de programacin. La conexin a los PICs 16F88, 16F628A y 16F877A se muestra en las figuras 8.2.1, 8.2.2 y 8.2.3 donde se ha empleado el puerto B: las columnas se conectan al nibble bajo, mientras que las filas se conectan al nibble alto del mismo puerto.
http://www.programarpicenc.com/libro/cap08_teclado_hexadecimal.html
Pgina 2 de 4
Teclado matricial 4x4 (hexadecimal). Cmo programar en lenguaje c los microcontroladores PIC.
19/07/12 15:36
//Oscilador interno a 1MHz (TCI=4 us). //Esperar mientras el oscilador est inestable. //Bits AN6:AN0 como E/S digital. //Inicializa el teclado. //Inicializa el LCD.
Pgina 3 de 4
http://www.programarpicenc.com/libro/cap08_teclado_hexadecimal.html
Teclado matricial 4x4 (hexadecimal). Cmo programar en lenguaje c los microcontroladores PIC.
19/07/12 15:36
while (1){ kp=0; do //Espera por una tecla. kp=Keypad_Key_Click(); //Lee el nmero de la tecla y lo guarda en kp. while (!kp); switch (kp){ case 1: kp = 49; break; //49 es el cdigo ASCII del nmero 1. case 2: kp = 50; break; //50 es el cdigo ASCII del nmero 2. case 3: kp = 51; break; //51 es el cdigo ASCII del nmero 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_CP(kp); //Presenta el carcter en el LCD. contador++; //Cuenta el nmero de pulsaciones. if (contador==16){ //Si se han efectuado 16 pulsaciones. contador=0; Delay_1sec(); //Espera 1 s. Lcd_Cmd(_LCD_CLEAR); //Borra la pantalla y retorna el cursor al } //origen. } }
http://www.programarpicenc.com/libro/cap08_teclado_hexadecimal.html
Pgina 4 de 4