Está en la página 1de 7

2.

Investigar la sintaxis, uso y un ejemplo para cada una de las siguientes


instrucciones para el microcontrolador PIC16F877A

MOVLW 

Pone el valor Literal en el Registro W


Cuando se habla de Literal, se hace referencia a números, estos pueden ser en
los siguientes formatos:
 Binario  0b’10000100′
 Decimal 132
 Hexadecimal 0x84
Independiente de la base numérica del literal, a nivel de bits, siempre serán
binarios.

Sintaxis: [label] MOVLW k

Ejemplo: MOVLW 0x5A

After instruction: W = 0x5A

Las Instrucciones MOVWF y MOVF pueden mover valores del registro W a


cualquier posición en la RAM al archivo de registro («F«) y viceversa.
Sintaxis: [label] MOVWF f[,a]

Ejemplo:

MOVWF REG, 0

Before Instruction:

W= 0x4F

REG= 0xFF

After Instruction

W= 0x4F

REG= 0x4F

Sintaxis: [label] MOVF f,[d,[a]]

Ejemplo:

MOVF REG, 0, 0

Before Instruction:

W= 0x22

REG= 0xFF

After Instruction

REG= 0x22

W= 0x22
Explique brevemente para qué sirven los siguientes registros en el PIC16F877A

Registro de trabajo W. Este es el registro de trabajo principal, se comporta de


manera similar al acumulador en los microprocesadores. Este registro participa en
la mayoría de las instrucciones. Está directamente relacionado con la Unidad
Aritmética y Lógica ALU

program counter: Por lo general, los dispositivos PIC16F877 tienen un contador de


programa de 13 bits de ancho que es capaz de direccionar un espacio de memoria
de programa de 8K × 14 bits. Esta memoria se utiliza principalmente para
almacenar los programas que se escriben (queman) para que los utilice el PIC.

Registro Status

El registro STATUS contiene: el estado aritmético de datos en el registro W, el


estado RESET, los bits para seleccionar el banco para los datos de la memoria.
4. ¿Qué son el vector de reset y el vector de interrupciones?

El vector de RESET está siempre en la posición 0000h de la memoria de


programa. Cualquier reset (interno o externo) que se genere en un
microcontrolador haráque su contador de programa pase a tener el valor 0000h y
que por tanto el microcontrolador pase a ejecutar la instrucción situada en dicha
posición. El RESET también limpia el contenido del registro PCLATH.

El vector de INTERRUPCION está siempre en la posición 0004hde la memoria de


programa. Cualquier interrupción que se fuerce a un microcontrolador hará que su
contador de programa pase a tener el valor 0004h y que por tanto el
microcontrolador pase a ejecutar la instrucción situada en dicha posición. El salto
a la rutina de interrupción no modifica el contenido del PCLATH, por lo que
cualquier modificación que se realice del PC en la rutina de interrupción debe
realizarse con cuidado de lo que se tiene cargado en el PCLATH

5. Incluya el set de instrucciones para el microcontrolador PIC16F877A


El microcontrolador PIC16F877. (2017). Instituto Tecnico la Falda. Recuperado 19 de agosto de

2023, de

https://latecnicalf.com.ar/descargas/material/electronicadigital/PIC16F877%20apunte.pdf

García, V. (s. f.). Instrucciones PIC – Electrónica Práctica aplicada.

https://www.diarioelectronicohoy.com/blog/instrucciones-pic#:~:text=Las

%20Instrucciones%20MOVWF%20y%20MOVF,%C2%ABF%C2%AB)%20y

%20viceversa.

Memoria de Programa. (2015). Uni Oviedo. Recuperado 19 de agosto de 2023, de

https://www.unioviedo.es/ate/alberto/TEMA2-Memoria.pdf

MOVF (Microchip PIC18F Instruction Set). (s. f.).

http://technology.niagarac.on.ca/staff/mboldin/18F_Instruction_Set/MOVF.html

Principales-registros-Sfr - MIKROE. (s. f.). MIKROE.

https://www.mikroe.com/ebooks/microcontroladores-pic-programacion-en-c-con-

ejemplos/principales-registros-sfr

pwmlabs. (2017, 27 septiembre). Instrucciones básicas en Assembler para programar PICs.

PWMLabs. https://pwmlabs.wordpress.com/2017/09/27/instrucciones-basicas-en-

assembler-para-programar-pics/

Vysakh. (2011). PIC 16F877 – Architecture and Memory Organization. Electronic Circuits and

Diagrams-Electronic Projects and Design. https://www.circuitstoday.com/pic-16f877-

architecture-and-memory-organization

También podría gustarte