Programando PIC con CCS ejercicio 2 (botón) 🕹️
Unos de los dispositivos más sencillo para introducir información, es el botón o pulsador, hay dos forma de conexión de uso común y que también es válida para otros dispositivos como los switches (conmutador), los jumper y otros interruptores
Existe dos forma y depende del estado lógico que queremos en el estado pasivo del botón y cuando lo presionamos, el nombre que se le da es debido a la configuración de la resistencia que usa.
- La configuración resistor PULL DOWN, pasa de un bajo (0 o 0V) a un alto (1 o 5V) cuando es presionado.
- La configuración resitor PULL UP, pasa de un alto (1 o 5V) a un bajo (0 o 0V) cuando es presionado.
Con esta breve explicación vamos manos a la obra con un pequeño ejemplo para cada uno.
1) Configuración con resistor PULL DOWN.
Creamos nuestro proyecto en PIC-C CCS con la siguiente configuración :
- Para un micro-controlador PIC12C509A.
- Una frecuencia de 500 KHz y una configuración oscilador de 4 <= MHz.
El cual le agregamos el siguiente código, para el ejemplo con resistor PULL DOWN:
De todos modos aquí hay información de como realizar el proyecto y enlazarlo con la simulación.
Breve explicación del código:
- En la linea 1 se carga el archivo *.h donde esta algunas configuración.
- Con el while (linea 7) creamos un bucle infinito, entre los corchetes 8 y 13.
- En la linea 9 tenemos una condición si se cumple que el pin GP1 (B1) es bajo (recuerde que la condición ! es igual al NOT lógico) se asigna al puerto GP0 un alto (linea 10) el cual el LED estará apagado.
- De lo contrario (linea 11) no se cumple la condición (linea 9) se asignara (linea 12) un bajo en GP0 (B0) el cual va encender el LED.
- Yo se que al principio la lógica inversa es difícil, pero el código es sencillo para que usted entienda con un poquito de paciencia y compilación en frió.
2) Configuración con resistor PULL UP.
- La creación del proyecto es identifica al anterior, pero con el nombre main2 para el ejemplo 2.
Para la simulación en ISIS Proteus, la configuración del Micro es igual al anterior.
La explicación del código:
- Es prácticamente idéntica al del ejemplo 1.
- En la linea 9 tenemos una condición si se cumple que el pin GP1 (B1) es alto (recuerde la condición !) se asigna al puerto GP0 un alto (linea 10) el cual el LED estará apagado.
- De lo contrario (linea 11) si no se cumple la condición (linea 9) se asignara (linea 12) un bajo en GP0 (B0) el cual va encender el LED.
3) Toggle.
- Para este ejemplo usaremos el mismo diagrama de ISIS Proteus del ejemplo 2 y también la misma configuración del proyecto.
- La función es la siguiente al presionar el botón se encenderá el LED y al presionarlo de nuevo lo apagara.
El código es el siguiente:
Ya queda de parte de lector interpretar el código; el circuito de ISIS Proteus es el siguiente.
Se puede mejorar con un retardo en el código o un circuito anti-rebote en el botón, pero eso es es tema para un próximo articulo :D
Comentarios
Publicar un comentario
🤔 con que esto tenemos...