Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Politecnico CJIC
http://mecatronica.jimdo.com/
TUTORIAL II parte A
OBJETIVOS
MARCO TERICO
Los pines indicados por R ms una letra y un nmero indican pines que pueden
ser usados como pines de I/O, el resto de pines son el oscilador, la
alimentacin y el reset (Master clear). Ntese algunos pines de I/O poseen
varios nombres (Por ejemplo RA0 / AN0) lo que indica que dicho pin puede ser
Politecnico CJIC
http://mecatronica.jimdo.com/
Politecnico CJIC
http://mecatronica.jimdo.com/
usado como puerto de I/O (RA0) o puede ser usado por un perifrico del
microcontrolador (AN0 conversor anlogo digital).
En total el 16F877A tiene cinco puertos denominados como Puerto A al Puerto
E, cada puerto est compuesto por de 3 a 8 pines de I/O de esta forma:
PORT A
PORT B
RA0
RA1
RA2
RA3
RA4
RA5
RB0
RB1
RB2
RB3
RB4
RB5
RB6
RB7
PORT C
PORT D
RC0
RC1
RC2
RC3
RC4
RC5
RC6
RC7
RD0
RD1
RD2
RD3
RD4
RD5
RD6
RD7
PORTE
RE0
RE1
RE2
Ejemplos:
TRISB= 0b10101011;
Ac se est configurando a RB7, RB5, RB3, RB1 y RB0 como entradas
mientras que RB6, RB4 y RB2 sern salidas. El prefijo 0b indica que los datos
que vamos a ingresar al registro estn en binario.
Politecnico CJIC
http://mecatronica.jimdo.com/
Politecnico CJIC
http://mecatronica.jimdo.com/
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, obsrvese
que no se us prefijo y por lo tanto el dato se interpreta como decimal,
recurdese 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). Recurdese 255 = 0xFF.
El compilador tambin nos permite configurar solamente un pin (bit) del registro
TRIS sin modificar el resto del registro de esta forma:
TRISC7=1; Configura el pin RC7 como una entrada, sin modificar la
configuracin del resto de pines del puerto C.
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.
RB7=1;
Igualmente que con los TRIS en los PORT se puede
modificar un bit sin modificar todo el registro, para ello se utiliza el nombre del
pin.
Politecnico CJIC
http://mecatronica.jimdo.com/
Politecnico CJIC
RB6=0;
http://mecatronica.jimdo.com/
PORTB = PORTD;
Suponiendo que PORTD est como entrada y
PORTB est como salida se copiara el PORTD en el PORTB.
A tener en cuenta:
- Para poder usar el puerto A como puerto de I/O se debe deshabilitar el
convertidor anlogo digital que por defecto tiene los pines como
anlogos, para ello se debe agregar esta instruccin: ADCON1=6; mas
detalles veremos cuando usemos el convertidor A/D.
RB6
RB5
RB4
RB3
RB2
RB1
RB0
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0
Y se repita indefinidamente.
A continuacin se ilustra el cdigo en C que efecta dicha secuencia, se indica
con comentario cada lnea:
Politecnico CJIC
http://mecatronica.jimdo.com/
Politecnico CJIC
http://mecatronica.jimdo.com/
while(1)
//Ciclo infinito para repetir la secuencia
{
PORTB=255;
//Primer paso de la secuencia todos prendidos
DelayMs(200);
//Retardo para visualizacin.
PORTB=0;
//Todos apagados
DelayMs(200);
//Retardo para visualizacin.
RB0=1;
RB7=1;
DelayMs(200);
//Retardo para visualizacin.
RB1=1;
RB6=1;
DelayMs(200);
//Retardo para visualizacin.
RB5=1;
RB2=1;
DelayMs(200);
//Retardo para visualizacin.
}
}
while(1)
//Ciclo infinito para repetir la secuencia
{
PORTB=255;
//Primer paso de la secuencia todos prendidos
DelayMs(200);
//Retardo para visualizacin.
PORTB=0; //Todos apagados
DelayMs(200);
//Retardo para visualizacin.
PORTB=0b10000001;
DelayMs(200);
//Retardo para visualizacin.
PORTB=0b11000011;
DelayMs(200);
//Retardo para visualizacin.
PORTB=0b11100111;
DelayMs(200);
//Retardo para visualizacin.
}
}
Politecnico CJIC
http://mecatronica.jimdo.com/
Politecnico CJIC
http://mecatronica.jimdo.com/
LECTURA DE PUERTOS:
Politecnico CJIC
http://mecatronica.jimdo.com/
Politecnico CJIC
http://mecatronica.jimdo.com/
DIAGRAMA DE CONEXIONES:
Politecnico CJIC
http://mecatronica.jimdo.com/