Prácticas con Microcontrolador


ir a contenido

2 LEDs parpadeando

Prácticas > Práctica 4

MikroBASIC nos da acceso a los registros del PIC, en el programa anterior podemos ver los registros TRISB y PORTB:



program LED_Blink

main:

TRISB = 0 ' Configura los pines de PORTB como salidas
eloop:
PORTB = $FF ' Enciende los diodos en PORTB
Delay_ms(1000) ' Espera 1 segundo
PORTB = 0 ' Apaga los diodos en PORTB
Delay_ms(1000) ' Espera 1 segundo
goto eloop ' Repite el bucle

end.

Para que el PIC pueda trabajar debemos configurar sus puertos segun sea el caso, como entrada o como salida, haciendo antes la acotación que si le asignamos un CERO(0) a un pin éste será SALIDA y si asignamos un UNO (1) éste será ENTRADA.

Esta asignación de pines se hace programando los registros TRISA y TRISB.

TRISA es el registro donde se almacenan los bits que asignan un pin como entrada o salida del PUERTO A. Recordemos que el puerto A sólo tiene 5 pines, por lo tanto un ejemplo de esto sería:

Si TRISA (puerto A) es igual a 00110 entonces esto se leería,

Si TRISB (puerto B) es igual a 00110010, entonces esto se leería,

TRISA ASIGNACION ESTADO
RA0 0 SALIDA
RA1 1 ENTRADA
RA2 1 ENTRADA
RA3 0 SALIDA
RA4 0 SALIDA
TRISA ASIGNACION ESTADO
RB0 0 SALIDA
RB1 1 ENTRADA
RB2 0 SALIDA
RB3 0 SALIDA
RB4 1 ENTRADA
RB5 1 ENTRADA
RB6 0 SALIDA
RB7 0 SALIDA

PORTA y PORTB: Sirven para indicar si un determinado pin del puerto, está a 1 ó a 0.

Podemos leer el valor del puerto: A = PORTB
O, si está configurado como salida escribir el valor que deseemos: PORTB = 0

Podemos acceder a los pines individuales del puerto mediante el prodedimiento:

PORTB.0 =1 ; Escribe un 1 en el bit menos significativo de PORTB

_________________________________________________________________________________




Si al circuito de la práctica anterior, con un led en RB7, le añadimos otro led en RB6, ambos parpadearán a la vez.

Modifica el programa para que se enciendan alternativamente.

O que uno lo haga al doble de velocidad que el otro. (contador en binario).


Prácticas con Microcontrolador PIC 16F84 | miguel.tecno@gmail.com

Regresar a contenido | Regresar al menu principal