Documentos de Académico
Documentos de Profesional
Documentos de Cultura
B - Manejo de Puertos PDF
B - Manejo de Puertos PDF
com/ 1
TUTORIAL II – parte A
OBJETIVOS
MARCO TEÓRICO
Los pines indicados por R más una letra y un número indican pines que pueden
ser usados como pines de I/O, el resto de pines son el oscilador, la
alimentación y el reset (Master clear). Nótese algunos pines de I/O poseen
varios nombres (Por ejemplo RA0 / AN0) lo que indica que dicho pin puede ser
usado como puerto de I/O (RA0) o puede ser usado por un periférico del
microcontrolador (AN0 conversor análogo digital).
Los TRIS son registros de 8 bits, cada uno de sus bits configura un pin de dicho
puerto. Por ejemplo: en el registro TRISD el bit menos significativo (bit 0)
configura el pin RD0, el bit 7 del registro TRISA configura el pin RA7 y así
sucesivamente.
Un uno en un registro TRIS indica que el pin asociado se comportará como una
entrada y un 0 indica que dicho pin se comportará como una salida.
Ejemplos:
TRISB= 0b10101011;
Acá se está configurando a RB7, RB5, RB3, RB1 y RB0 como entradas
mientras que RB6, RB4 y RB2 serán salidas. El prefijo 0b indica que los datos
que vamos a ingresar al registro están en binario.
TRISD=0b00001111;
Se configuraron como entradas los pines RD0 a RD3 y como salidas los pines
RD4 a RD7.
TRISC=255;
Acá se configura todo el puerto C como entrada en todos sus pines, obsérvese
que no se usó prefijo y por lo tanto el dato se interpreta como decimal,
recuérdese que al convertir decimal a binario tenemos 255 = 0b11111111.
TRISC=0xFF;
Igualmente se configuró el puerto C como entrada todos sus pines, esta ves se
utilizaron datos en formato hexadecimal (prefijo 0x). Recuérdese 255 = 0xFF.
El compilador también nos permite configurar solamente un pin (bit) del registro
TRIS sin modificar el resto del registro de esta forma:
A tener en cuenta:
- Al iniciar o resetear el microcontrolador pone todos los pines como
entradas.
- Al configurar los puertos que manejan menos de 8 bits (PORTA y
PORTE) debe tenerse cuidado, en el 16F877 los bits TRISE3-7 deben
siempre mantenerse en cero.
Para escribir o leer a un puerto se utilizan los registros PORT, igualmente que
los TRIS existe uno para cada puerto y cada bit del registro corresponde a un
pin del puerto.
Ejemplos:
PORTB = 255; Pone todos los pines del puerto B en alto si estos
están como salidas.
A tener en cuenta:
- Para poder usar el puerto A como puerto de I/O se debe deshabilitar el
convertidor análogo digital que por defecto tiene los pines como
análogos, para ello se debe agregar esta instrucción: ADCON1=6; mas
detalles veremos cuando usemos el convertidor A/D.
Para esto colocaremos 8 leds en las salidas del puerto B del microcontrolador
de modo que se enciendan al poner un uno lógico en dichos pines.
Y se repita indefinidamente.
LECTURA DE PUERTOS:
DIAGRAMA DE CONEXIONES: