Paso 2: Esquemático y código
Los archivos:
flex_lcd_photogate_final.c Controlador HD44780 LCD modificado con las clavijas de LCD como se muestra en el esquema. Simplemente modificar la ubicación en la parte superior de la programa para que coincida con la ubicación de este archivo en tu disco duro.
photogate_final.c El código del programa.
photogate_final.hex El código compilado para el PIC, a la espera de ser programado en él con un USB o un programador serial.
Explicación del código:
El código es bastante simple. El sensor está conectado a un pin de interrupción de hardware. Cuando la unidad se enciende, el registro de interrupción externa está dispuesto a buscar un cambio de bajo a alto. Cuando el sensor recibe la luz, la tensión aumenta hasta que en la lógica de alta gama. Esto dispara la interrupción y la rutina de interrupción permite un temporizador de desbordamiento de 100us. También establece el registro de interrupción externa ahora estar buscando un cambio de alto a bajo.
Mientras que el estado es alto, cada 100us el temporizador incrementa un contador. Cuando ocurre el evento de alta a baja, la rutina de interrupción externa desactiva al temporizador, y valor de la cuenta del temporizador se convierte milisegundos y enviado a la pantalla.