Tecla Doo

Embed Size (px)

Citation preview

LAB. DE MICROPROCESADORES IAUX. DAVID QUISPE APAZAUSO DEL TECLADO DE LA PC (PS2 O DIN)Los compiladores MikroC y MicroBasic, posee una librera especializada en el uso de los teclados. La lectura de estos teclados se hace por medio de un protocolo serial que la librera ya tiene implementada. Los teclados cuentan con un terminal PS2 o DIN, en los cuales se pueden identificar 4 pines fundamentales, el Vcc o poder, el Gnd o referencia, un pin de datos seriales, y un pin de reloj.

La implementacin de este tipo de teclados se hace por medio de dos funciones contenidas en la librera PS2, de MikroC PRO: 1) Ps2_Config() Est funcin debe ser invocada en la configuracin del PIC, dentro de la funcin main, la funcin configura e inicializa el teclado para poder ser ledo en funcin de los pines que sean definidos con anterioridad como pin de reloj y pin de datos. 2) Ps2_Key_Read(value, special, pressed) Est funcin cuenta con un parmetro de salida que retorna 1, cuando una tecla es leda con xito, y retorna 0, cuando no se detecta ninguna tecla pulsada. Esta es la funcin mas importante, la cual presenta tres parmetros (los cuales deben declararse de tipo unsigned short en C y byte en Basic): value, este es un apuntador a una variable en la cual se guarda el valor de la tecla pulsada en cdigo ASCII o el valor de una tecla especial. pressed, si una tecla cualquiera es pulsada o soltada, el valor retornado en pressed es 1 si la tecla fue pulsada, o es 0 si la tecla fue soltada. special, es un apuntador a una variable (de tipo unsigned short en C y byte en Basic) que especifica si la tecla que se est pulsando es de origen especial como: F1, F2, ESC, ENTER, etc. Si el valor retornado es 0 el cdigo consignado en value es un carcter ASCII. Si retorna un 1, significa que el valor codificado en value, no es un cdigo ASCII, si no un cdigo asignado a la tecla especial que est regido por la siguiente tabla:

Pasos para realizar el cdigoSe declara los bits que se empleara en el teclado ps2, en este ejemplo se empleara el puerto C:En Mikro C:

En Mikro Basic:

En el cdigo, empleamos la funcin Ps2_Key_Read para leer la tecla pulsada (Antes debe declararse las tres variables que usa como parmetro e inicializarlas en 0). Se puede emplear un while para que el programa espere a que se presione una tecla para proseguir luego con el cdigo.En Mikro C:

En Mikro Basic:

Luego segn los requerimiento se puede emplear los tres parmetros (en este caso Tecla, Especial, Pulsada_soltada) y evaluarlos para realizar cualquier accin.

Ejemplo de prueba:El siguiente ejemplo se muestra en el display LCD el estado actual del teclado (pulsado o soltado) y si esta pulsada una tecla, muestra que tecla esta pulsada (ASCII o tecla especial).

En Mikro C:

En MikroBasic

Ejemplo n2 : Empleando el circuito anterior, Se introduce una clave mediante el teclado, (la clave es micro2013) , luego se presiona ENTER y en el LCD muestra si la clave es correcta o incorrecta. (En lenguaje C)

EN LABORATORIO DE AUXILIATURA:MODIFICAR EL CODIGO ANTERIOR Y CAMBIAR LA CLAVE. NO ES POSIBLE SIMULAR EN PROTEUS ASI QUE LA PRUEBA SERA MEDIANTE UN TECLADO REAL. SI DECEAN CONOCER EL VALOR ASCII DE LOS CARACTERES, SE PUEDE EMPLEAR LA HERRAMIENTA DE MIKROC: