IO puertos digitales TRIS, PORT, LAT con pic18F4550

publicado en: Teoria pic18f4550 | 0

ENTRADAS Y SALIDAS DIGITALES CON EL PIC18F4550

DESCRIPCIÓN

Los pines de entradas y salidas presentan las siguientes características en sus puertos IO

  • 3 Registro independientes para Configurar, Escribir y Leer cada PUERTO (TRISx, LATx y PORTx).
  • Selección de resistencia PULL-UP solo para el Puerto B.

En las siguientes imágenes se detallaran los registros involucrados a las Entradas y Salidas de cada PUERTO;

io-puertos-digitales-tris-port-lat-con-pic18f4550-2

A continuación se explicará cómo configurar, escribir o leer un Pin de cada PUERTO;

  • TRISX: Escribiendo en cada bit (“1” lógico = Entrada y “0” lógico = Salida).
  • LATX: Escribiendo en cada bit la salida tendrá un nivel de Voltaje (“1” lógico = 5v | “0” lógico = 0v).
  • PORTX: Este registro es de solo Lectura (5v =”1” lógico | 0v =“0” lógico).
  1. Configuración de los pines IO de un PUERTO

  • TRISA = 0b11111111; Configura todos los pines del Puerto A como Entrada.
  • TRISA = 0b00000000; Configura todos los pines del Puerto A como Salida.
  • TRISA = 0b00001111; Los pines Altos como Salida y el resto como Entrada.
  1. Escritura de pines en un PUERTO

  • LATA = 0b11111111; Todos los pines del Puerto A con una salida de 5v.
  • LATA = 0b00000000; Todos los pines del Puerto A con una salida de 0v.
  • LATA = 0b00001111; Los pines Altos a 0v y los pines Bajos a 5v.
  1. Lectura de un PUERTO

  • Valor = PORTA [ RA0 ] : El estado lógico del pin A0 se escribe en la variable valor
  • Valor = PORTA : El estado lógico del todo el Puerto A se escribe en valor.

Para poder Habilitar la resistencia PULL-UP en un pin determinado, es necesario que dicho pin este configurado como entrada y luego escribir “0” lógico en el bit RBPU del registro INTCON2.

EJEMPLO N°1 – CIRCUITO DE CONEXCIÓN PIC18F4550 + 4 BUTTON + 4 LED

io-puertos-digitales-tris-port-lat-con-pic18f4550-33

 

A continuación se muestra como configurar pines del PORTB y utlizarlo como entradas digitales hacia 4 pulsadores, teniendo en cuenta que deben estar en estado de pull-up a través de resistencia de 10kΩ. También, se configura pines del PORTD como salida digital hacia 4 led para visualizar el estado actual de los pulsadores. A continuación se muestra el código.

Código Principal MAIN

EJEMPLO N°2 – CIRCUITO DE CONEXCIÓN PIC18F4550 + SECUENCIAL DE LUCES DE 8 LED + 4 EFECTOS

io-puertos-digitales-tris-port-lat-con-pic18f4550-4

En este ejemplo se muestra como realizar un secuencial de luces de 8 led con 4 efectos y velocidad programable. Todos los pines de salida digital estarán conectado al PORTD, mientras que, los pines de control de efecto y velocidad estarán conectados a los pines RB7 y RB6 del PORTB respectivamente. Estos pines de control se conectarán hacia pulsadores que tendrán una resistencia PULL-UP interna (habilitado a través del mismo PIC). A continuación se muestra el código.

Código Principal MAIN

Código FUSES

Deja un comentario