manejo de pulsadores
DESCRIPTION
Manejo de pulsador con un microcontroladorTRANSCRIPT
-
CONEXIN DE PULSADORES
La figura muestra la conexin de dos pulsadores conectados al puerto RA0 en 1L y al puerto RA1 en 0 L.
La forma ms simple de censar el estado de un pin es utilizando la instruccin IF-THEN.
Figura. Forma de conectar un pulsador para obtener 1L o 0L.
Las instrucciones para determinar el nivel pin sera:
If porta.0 = 0 Then .
If porta.1 = 1 then .
Se puede detectar los pulsadores utilizando cualquiera de la formatos del IF:
a) IF portb.0 = 0 Then Activar ; Si portb.0 = 0 ejecutar la subrutina Activar. b) IF porta.7 = 1 Then ; si porta.7 = 1 entonces Set de instrucciones ; conjunto de instrucciones a ejecutar si la condicin es verdadero
ENDIF c) IF (portb.1 = 0) and (portb.0 = 1) Then ; Condicin de comparacin lgica Set de instrucciones ; conjunto de instrucciones a ejecutar si la condicin es verdadera
-
ELSE Set de instrucciones ; conjunto de instrucciones a ejecutar si la condicin es falso ENDIF
PROGRAMA 1:
Programa para activar un LED al accionar un pulsador S1 y desactivar el LED al accionar un pulsador S2.
CMCON = 7 ;Digitaliza el puerto A TRISA = 255 ; Define el puerto A como entradas TRISB = 0 ; Define el puerto B como salidas LED VAR PORTB.0 ; LED VARIABLE PUERTO B.0 PULSADOR1 VAR PORTA.0 ; VARIABLE PULSADOR1 PULSADOR2 VAR PORTA.1 ; VARIABLE PULSADOR2 INICIO: IF PULSADOR1 = 0 THEN HIGH LED; SI PULSADOR1 IGUAL 0 ACTIVE LED IF PULSADOR2 = 0 THEN LOW LED ; SI PULSADOR2 IGUAL 0 APAGUE LED GOTO INICIO END
PROGRAMA 2:
-
Programa para activar un LED al accionar el pulsador S1 y el pulsador S2 y desactivar el LED al accionar un pulsador S3. En este caso la operacin lgica AND se utiliza para que cumpla con la relacin y.
CMCON = 7 ; digitaliza el puerto A TRISA = 255 ; define el puerto a como entradas TRISB = 0 ; define el puerto B como salidas LED VAR PORTB.0 ; LED variable puerto b.0 PULSADOR1 VAR PORTA.0 ; variable pulsador1 PULSADOR2 VAR PORTA.1 ; variable pulsador2 PULSADOR3 VAR PORTA.2 ; variable pulsador3
INICIO: IF (PULSADOR1 = 0) AND (PULSADOR2 = 0) THEN HIGH LED ; si pulsador1
igual 0 active LED IF PULSADOR3 = 0 THEN LOW LED ; si pulsador1 igual 1 apague LED GOTO INICIO END