Menu Principal:
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).