380 likes | 556 Views
INSTITUTO POLITÉCNICO NACIONAL. CENTRO DE INVESTIGACIÓN EN COMPUTACIÓN. ANÁLISIS DEL FUNCIONAMIENTO. DEL SET DE INSTRUCCIONES DEL PIC 16F84. Ponente. José Luis Oropeza Rodríguez. OBJETIVO.
E N D
INSTITUTO POLITÉCNICO NACIONAL CENTRO DE INVESTIGACIÓN EN COMPUTACIÓN ANÁLISIS DEL FUNCIONAMIENTO DEL SET DE INSTRUCCIONES DEL PIC 16F84 Ponente José Luis Oropeza Rodríguez
OBJETIVO El alumno comprenderá las principales características del PIC16F84, comprendiendo su uso y los elementos que los conforman.
PLANTEAMIENTO DEL PROBLEMA Como sucede con cada nuevo dispositivo, uno de los puntos primarios es entender el conjunto de instrucciones que permitirán desarrollar aplicaciones haciendo uso del mismo. El presente trabajo aborda a tales instrucciones y hace hincapié en la forma en la cual debe ser llevada a cabo la implantación de las mismas. Considerando en cada momento que los resultados obtenidos tras la ejecución de cada instrucción es de vital importancia para los fines de su entendimiento.
JUSTIFICACIÓN El estudio del set de instrucciones del PIC16F84 permitirá coordinar los elementos a nivel software con el hardware que constituye al dispositivo. Se considera que el entendimiento de cada una de las instrucciones permitirá desarrollar aplicaciones objetivas y con alto grado de confiabilidad.
MICROCONTROLADORES Un microcontrolador es un circuito integrado programable que contiene todos los componentes necesarios para controlar el funcionamiento de una tarea determinada, como el control de una lavadora, un teclado de un ordenador, una impresora, un sistema de alarma, entre otras. Para esto, el microcontrolador utiliza muy pocos componentes asociados.
CARACTERÍSTICAS DE PROCESADORES 16F84, 16F88, 16F628 y 16F877
PUERTOS DE ENTRADA SALIDA • El PIC16F84 tiene dos puertos: • El puerto A con 5 líneas, terminales RA0 a RA4 • El puerto B con 8 líneas, terminales RB0 a RB7 • Cada línea puede ser configurada como entrada o como salida, independientemente unas de otras, según se programe. • Las líneas son capaces de entregar niveles TTL cuando la tensión de alimentación aplicada en VDD es de 5V. La máxima capacidad de corriente de cada una de ellas es: • 25 mA, cuando la terminal está a nivel bajo, es decir, cuando consume corriente (modo sink). Sin embargo, la suma de las intensidades por las 5 líneas del puerto A no puede exceder de 80 mA, ni la suma de las 8 líneas del puerto B puede exceder de 150 mA. • 20 mA, cuando la terminal está a nivel alto, es decir, cuando proporciona corriente (modo source). Sin embargo, la suma de las intensidades por las 5 líneas del Puerto A no puede exceder de 50 mA, ni la suma de las 8 líneas del Puerto B puede exceder de 100 mA.
OSCILADOR Todo microcontrolador requiere de un circuito que le indique la velocidad de trabajo, es el llamado oscilador o reloj. Éste genera una onda cuadrada de alta frecuencia que se utiliza como señal para sincronizar todas las operaciones del sistema. Este circuito es muy simple pero de vital importancia para el buen funcionamiento de dicho sistema. Por lo regular sólo se requiere un componente de cuarzo externo o una red RC. Algunos microcontroladores permiten el uso de 5 osciladores para definir la frecuencia de operación. El PIC16FX puede ser operado en cuatro diferentes modos de oscilador. El usuario puede programar 2 bits de configuración (FOSC1 y FOSC0) para seleccionar cualquiera de estos modos: LP Cristal para baja frecuencia y bajo consumo de potencia XT Cristal Resonador, de cuarzo HS Cristal Resonador de alta velocidad RC Oscilador de Cristal / Resonadores cerámicos EXTERNA Cuando se aplica una señal de reloj externa
CONFIGURACIÓN DEL OSCILADOR HS, XT y LP Los osciladores HS y LP hacen uso de un cristal o resonador de alta velocidad, para el caso de HS (High Speed Crystal/Resonator) que trabaja a una frecuencia de entre 4 MHz y 20 MHz para el PIC 16F84A. El oscilador de cristal de cuarzo o resonador cerámico de baja potencia LP (Low Power Crystal) es un oscilador de bajo consumo. Su cristal o resonador está diseñado para trabajar con frecuencias comprendidas entre 32 kHz y 200 kHz. La configuración del oscilador para LP, XT o HS es la que se muestra a continuación.
RESET (MCLR) El denotado RESET de un microprocesador provoca la reinicialización de su funcionamiento, un “comienzo a funcionar desde cero”. En ese estado, la mayoría de los dispositivos internos del microcontrolador toman un estado conocido. En los microcontroladores se requiere una terminal de reset para reiniciar el funcionamiento del sistema cuando sea necesario. La terminal de reset en los PIC se denomina MCLR (Master Clear) y produce un reset cuando se le aplica un nivel lógico bajo. Para tener control sobre el reset del sistema, se puede conectar un pulsador y conseguir un reset manual llevando momentáneamente la terminal MCLR a tierra cada vez que se presiona el pulsador. El reset permanecerá mientras se tenga presionado dicho pulsador y no comenzará la secuencia de arranque hasta que no se libere, suministrando así un nivel lógico de “1” a la terminal MCLR. El valor de R oscila entre 10 a 100ohms.
RESET (MCLR) Este PIC también permite el llamado Power-On Reset (POR), que proporciona un reset al microcontrolador en el momento de conectar la fuente de alimentación. El PIC dispone de un temporizador llamado Reset PWRT (Power-up Timer), que proporciona un retardo de 72 ms., desde el momento de la conexión a la alimentación; un reset se mantiene durante este tiempo, garantizando que el polo positivo alcance un nivel aceptable de alimentación para un arranque correcto del sistema. Para utilizar este tipo de reset, se tiene que conectar la terminal de MCLR al positivo de la alimentación. Además se tiene que programar de esa manera durante el tiempo de grabación. Con esto se evita utilizar la red de RC.
OSCILADORES DEL PIC16F8X El PIC16F8X tiene un temporizador Watchdog que puede ser activado por medio de bits de configuración. Este funciona si su propio oscilador RC. Existen dos temporizadores que ofrecen retardos en modo de activación. Uno de ellos es el OST (Temporizador de arranque del oscilador), diseñado para conservar al chip en modo de reset mientras que el oscilador del cristal es estable. El otro es el PWRT (Temporizador de arranque), el cual provee un retardo mezclado de 72 msegs (nominal) solamnte en modo de encendido. • Interrupciones • Temperizador Watchdog • SLEEP • Código de protección • Localidades ID • Programación serial del circuito
OSCILADORES DEL PIC16F8X El modo de SLEEP ofrece un bajo consumo de corriente. El usuario puede salir del modo de RESET por medio de un reset externo, El temporizdor Watchdog o através de una interrupción. El oscilador RC ahorra costos del sistema mientras que la opción de cristal LP ahorra potencia. Un conjunto de configuración de bits son usados para seleccionar las diferentes opciones. Los bits de configuración pueden ser programados leídos como “0” o desprogramados (leídos como “1”) para seleccionar varios dispositivos de configuración. Estos bits on mapeados en la dirección 2007h Esta dirección pertenece al espacio de memoria de programa y pertenece a el espacio de memoria de configuración y prueba especial (2000h-3FFFh). Este espacio puede solamente ser accesada durante la programación.
RELOJES DEL PIC El PIC16FX puede ser operado en cuatro diferentes modos de oscilador. El usuario puede programar 2 bits de configuración (FOSC1 y FOSC0) para seleccionar cualquiera de estos modos: LP Cristal de baja potencia XT Cristal Resonador HS Cristal Resonador de alta velocidad RC Oscilador de Cristal / Resonadores cerámicos
RELOJES DEL PIC El PIC16FX puede ser operado en cuatro diferentes modos de oscilador. El usuario puede programar 2 bits de configuración (FOSC1 y FOSC0) para seleccionar cualquiera de estos modos
CONDICIONES DE RESET PARA EL CONTADOR DE PROGRAMA Y EL REGISTRO DE ESTATUS
ETAPA DE DESPERTAR DE UNA INTERRUPCIÓN DE UNA INSTRUCCIÓN SLEEP
PARTE EXPERIMENTAL Realice cuando mennos dos ejemplos de cada una de las instrucciones del PIC16F8a comentando lo que pretende realizar con cada instrucción y los resultados obtenidos antes y después de la ejecución de la instrucción. Realice un conjunto de programas que permitan establecer el uso del microcontrolador 16F84, haciendo uso de las instrucciones de gestión de puertos. Realice un conjunto de programas para el PIC 16F84 que permita la gestión del reloj interno del mismo.
CONCLUSIONES El advenimiento de la electrónica digital ha dado como resultado el florecer de nuevas tecnologías. El PIC analizado a lo largo de la presente posee características dentro de las que destacan: En este apartado se presentaron las 35 instrucciones que competen al PIC16F84, desglozando el comportamiento de las mismas en diferentes instancias de ejecución. La repercusión de cada uno de estas instrucciones sobre los registros internos y los elementos de salidad del microcontrolador fueron analizados. El set de instrucciones es reducido e implica la gestión de los registros completos o bien de bits individuales de los mismos.
REFERENCIAS BIBLIOGRÁFICAS [1] Manual de operación del PIC16F84 de Microchip