pic 16f84

Introducción

Ya hemos mencionado que el microcontrolador no es como cualquier otro circuito integrado. Cuando salgan de la producción de la mayoría de los circuitos integrados están listos para ser incorporado en los dispositivos que no es el caso con microcontroladores. Con el fin de «hacer» microcontrolador para realizar una tarea, tenemos que decirle exactamente lo que debe hacer, o en otras palabras, tenemos que escribir el programa microcontrolador ejecutará. Vamos a describir en este tutorial las instrucciones que componen el ensamblador, o de nivel inferior programa de  para microcontroladores PIC.

Conjunto de instrucciones en PIC16xxx microcontrolador familia

Juego completo que incluye 35 instrucciones que se recogen en el siguiente cuadro. Una de las razones de tal número reducido de instrucciones radica fundamentalmente en el hecho de que estamos hablando de un microcontrolador RISC cuyas instrucciones están bien optimizado teniendo en cuenta la velocidad de trabajo, la sencillez y la arquitectura de código compacto.

La transferencia de datos

Transferencia de datos a un microcontrolador se realiza entre el trabajo (W) y un registro «f'» registro que representa a cualquier lugar en la RAM interna (independientemente de si esas son especiales o registros de propósito general). En primer lugar tres instrucciones (ver en el cuadro siguiente) para proporcionar una constante está escrito en registro W (MOVLW es corta para mover a Literal W), y para los datos a ser copiados de registro W en RAM y los datos de RAM para ser copiada en W registro (o en la misma ubicación de memoria RAM, al punto que sólo el estado de cambios de Z). La instrucción CLRF escribe constante 0 en f’ registro, y escribe CLRW constante 0 en registro W. instrucción SWAPF intercambios lugares de los 4 bits nibbles campo dentro de un registro.

Aritmética y la lógica

De todas las operaciones aritméticas, como la mayoría de PIC microcontroladores apoya y sólo resta otra parte. Banderas C, DC y Z se establecen en función de un resultado de adición o substracción, pero con una excepción: desde la substracción se realiza como adición de un valor negativo, C bandera es inversa a raíz de una sustracción. En otras palabras, se trata de establecer si la operación es posible, y si reinicio mayor número se restará de una más pequeña.

Logica unidad de PIC tiene capacidad de realizar operaciones AND, OR, XOR, complementando (COMF) y la rotación (RLF y RRF). Las instrucciones que gire el registro contenido mover bits dentro de un registro a través del  C de un espacio hacia la izquierda (hacia el bit 7), o hacia la derecha (hacia el bit 0). Bit que «sale» de un registro que está escrito en el  C, y el valor de C bandera está escrito en un poco sobre el «lado opuesto» del registro.

Bit operaciones

Instrucciones BCF BSF y hacer la limpieza o el establecimiento de un bit en cualquier lugar de la memoria. Aunque esto parece una operación sencilla, se ejecuta en la CPU de modo que primero lee el byte en su conjunto, los cambios un poco en él y, a continuación, escribe en todo el byte en el mismo lugar.

Dirección de un programa (saltos & retardos)

 Instrucciones GOTO, CALL y RETURN se ejecutan de la misma manera que en todos los demás microcontroladores, sólo pila es independiente de RAM interna y se limita a ocho niveles.
‘RETLW k’ instrucción es idéntica a la instrucción RETURN, salvo que antes de regresar de un subprograma de una constante definida por la instrucción de operandos está escrito en W registro. Esta instrucción nos permite diseñar fácilmente el aspecto de las tablas (list). Mayormente utilizamos los datos de la determinación de nuestra posición en la tabla añadiendo a la dirección en la que comienza la tabla y, a continuación, leemos que los datos de ubicación (que se encuentra normalmente en la memoria del programa).

El cuadro puede ser formado como un subprograma que consiste en una serie de ‘RETLW k’ instrucciones, donde «k» constantes.

 

ain

 

Lookup

 

 

 

 

 

 

Molov 2

Call lookup

Addwf PCL,f

Retlw k

Retlw k1

Retlw k1

        

         

         

Retlw kn

Escribimos la posición de un miembro de nuestra mesa en el registro W, y el uso de la instrucción CALL que llamar a un subprograma que crea la tabla. Primera línea subprograma ADDWF PCL, f añade la posición de un registro W miembro de la dirección a partir de nuestra instrucion, que se encuentra en PCL registro, por lo que obtener la dirección real de datos en la memoria del programa. Cuando regresan después de un subprograma que tendremos en el registro W al contenido de una tabla dirigida miembro. En un ejemplo anterior, constante ‘k2’ será en W registro después de un retorno de un subprograma.

RETFIE (Retorno de la Interrupción – Activar la Interrupción) es una vuelta de interrumpir la rutina y se diferencia de sólo una vuelta en el sentido de que se ajusta automáticamente a GIE (Global Interrupción Habilitar) bits. Tras una interrupción, este bit es automáticamente limpiado. Como interrumpir comienza, sólo el valor del contador de programa se pone en la parte superior de una chimenea. No almacenamiento automático de registro de valores y la situación se presta. Saltos condicionales se sintetizan en dos instrucciones: BTFSC y BTFSS. Dependiendo un poco en ‘f’ registro que se está poniendo a prueba, las instrucciones saltar o no saltar en los próximos programa de instrucción.

Periodo de ejecución de instrucciones.

Todas las instrucciones se ejecutan en un ciclo condicional salvo rama instrucciones si la condición es verdadera, o si el contenido del contador de programa se cambió por algunos instrucción. En ese caso, la ejecución requiere de dos ciclos de instrucción, y el segundo ciclo se ejecuta como un NOP (no operación). Cuatro relojes oscilador forman un ciclo de instrucción. Si está usando un oscilador con frecuencia 4MHz, el tiempo normal de la ejecución de una instrucción es de 1 ? s, y en caso de ramificación condicional, período de ejecución es de 2 ? s.

Lista de palabras

f           cualquier ubicación de memoria en un microcontrolador
W        registro de obra
b          posición poco a ‘f’ registro
d          destino poco
label    de grupo de ocho caracteres que marca el inicio de una parte del programa
TOS     parte superior de la pila
[]         Opción
       Posición dentro de poco registro

* 1 Si el puerto de E / S está operando fuente, a condición de microcontrolador pins se lee
* 2 Si esta instrucción se ejecuta en TMR registro y si d = 1, asignado a prescaler del temporizador que automáticamente se borrará
* 3 Si la PC se modificó, o resultado de la prueba = 1, la instrucción fue ejecutado en dos ciclos.

Ya estamos a la parte más interesante e importante del manejo de un microcontrolador(pero primero debemos de tener nuestro grabador): las instrucciones. Nuestro microcontrolador, como ya sabemos, pertenece a la gama media y es de tipo RISC; esto quiere decir que tiene un juego de instrucciones reducido, en concreto de 35. Estas 35 instrucciones o nemónicos (en inglés mnemonics y a su vez proveniente del juego de palabras: Nem On Icks) serán la base de funcionamiento del PIC. Al igual que los bits de los registros, será imposible aprendernos todas y a la vez su funcionamiento, pero a la hora de codificar nuestros programas deberemos tenerlas en cuenta.

Las instrucciones fundamentalmente se dividen en tres tipos. Esta división viene dada por el tipo de datos con los que trabajan:

 

         Instrucciones orientadas a los bytes (byte-oriented operations)

         Instrucciones orientadas a los bits (bit-oriented operations)

     –         Operaciones con literales y de control (literal and control operations)

Esta entrada fue publicada en INTRODUCCION A LOS MICROCONTROLADORES. Guarda el enlace permanente.

2 respuestas a pic 16f84

  1. mrkcc dijo:

    mira solo tienes que conocer algo de electronica y las 36 intruciones de este pic.

  2. omar dijo:

    como le ago para aprender bien todas las instrucciones para progamar pic son dificiles y no se me quedan

Los comentarios están cerrados.