Documente Academic
Documente Profesional
Documente Cultură
SESIÓN 2
INTRODUCCIÓN AL MICROCONTROLADOR
PIC16F877A
2.3.3 Stack
Es una memoria interna dedicada a guardar las direcciones de retorno
de subrutinas e interrupciones. Tiene una estructura LIFO (Last In First Out),
lo que significa que el último dato que se guarda es el primero que sale (ver
Figura 2.9).
El stack o pila tiene 8 niveles con una longitud de 13 bits cada uno, la única
forma de cargar la pila es a través de la instrucción CALL o por una interrupción, lo
cual hará que se cargue el contenido de (PC+1) en la pila. Para recuperar un valor de
la pila hay que ejecutar la instrucción RETURN, RETLW o RETFIE.
2.4 Oscilador
Los PIC de rango medio permiten hasta 8 diferentes modos para el oscilador.
El usuario puede seleccionar uno de estos 8 modos, programando 2 bits de
configuración del dispositivo denominados: FOSC1 y FOSC0, ubicados en un registro
especial de configuración en la localidad 2007H de la memoria de programa. La
palabra de configuración se muestra en la Figura 2.10. Los modos de operación para
el oscilador se muestran en la Figura 2.11.
2.5 Puertos
Los pines de entrada/salida del PIC16F877A están organizados en cinco
puertos, el puerto A con 6 líneas, el puerto B con 8 líneas, el puerto C con 8
líneas, el puerto D con 8 líneas y el puerto E con 3 líneas. El pin de cada puerto
puede ser configurado como entrada o salida configurando el registro TRIS
correspondiente (TRISA, TRISB, TRISC, TRISD y TRISE). Los pines del puerto
A y del puerto E son especiales ya que pueden ser configurados como pines
analógicos o digitales.
El PUERTO A es un puerto de 8 bits. Todos los pines, excepto RA5,
pueden ser configurados como entrada o salida. El pin RA4 esta multiplexado
con la entrada de reloj T0CKI, como salida se comporta como colector abierto
por lo que debe llevar una resistencia pull-up a Vdd. El pin RA5 es un
disparador Schmitt que puede ser configurado solo como entrada ya que no
cuenta con controladores de salida, según la configuración puede ser usado
como pin de reset además este pin se usa para entrar en el modo de
programación cuando se aplica una tensión igual a Vpp (13,4V mínimo).
Los demás pines del puerto sin son líneas de entrada trabajan como un
disparador de Schmitt Trigger y como salida con lógica CMOS. Los pines RA0-RA3
sirven de entrada para los comparadores analógicos y por defecto vienen asociados a
ellos, así que para usarlos como I/O digital deben ser previamente configurados. Los
pines RA6 y RA7 cuando no se usan para la entrada externa de reloj y salida de
oscilador dependiendo de su configuración.