Вы находитесь на странице: 1из 3

Electronica - Tecnologia - Diseño Digital - Curiosidades - Ciencia

jueves, 6 de marzo de 2014

Sumador en ensamblador PIC16F84A


DESCRIPCIÓN:
Lo que se hace en esta práctica es un sumador. El programa se hizo en
ensamblador con ayuda del software MPLABX para obtener el *.hex. Éste le va a
sumar 15 al dato que se encuentre en el PORTA y se mostrara en el PORTB.

CIRCUITO:

Este es el circuito básico que se usó. En lugar de una barra de LEDs, se usaron
LEDs individuales. El RESET o MCLR va conectado a voltaje. Los pines 15 y 16
van conectados al cristal de cuarzo de 4 MHz, junto con los capacitores 22 pF. Los
pines de RA van conectados a un dipswitch, al cual se conectan resistencias de 10
Kohms. Los pines RB se conectaron a resistencias de 330 Ohms y de ahí a los
LEDs

MATERIAL:
-Microcontrolador PIC16F84A
-8 LEDs
-8 resistores de 330 ohms
-1 dipswitch de 8
-5 resistores de 10 Kohms
-Cristal de cuarzo de 4 MHz
-2 capacitores de 22 pF
-Alambres
-Protoboard
-Fuente y sus cables
CODIGO DEL PROGRAMA:
;---------------------------------------------------------------------------
;Descripcion: Lea un dato por el puerto A PORTA, sumele una constante igual 15.
; Guardelo en una variable, muestrelo en el puerto B PORTB.

;
;Funciona: version 1.0 no
;---------------------------------------------------------------------------
;Configuracion MPLABX
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
LIST P=16F84A
INCLUDE <P16F84A.INC>

K_Const EQU 0x0F ;definiendo una constante


V_Dato EQU 0x0C ;definiendo una variable
;---------------------------------------------------------------------------
;Zona de configuracion del PIC
ORG 0x00
Inicio bsf STATUS,RP0 ;Accesando al banco 1
clrf TRISB ;PORTB como salida
movlw 0xFF ;cargando la cte
movwf TRISA ;puerto A como salida
bcf STATUS,RP0 ;acceso al banco 0
;---------------------------------------------------------------------------
Main movf PORTA,W ;leer el dato
addlw K_Const ;suma el dato mas 15
movwf V_Dato ;guarda el resultado
movwf PORTB ;muestra el resultado
goto Main ;fin del programa y $=salta a el mismo
END
;------------------------------------------------------------------------------------------

TEORÍA SOBRE INSTRUCCIONES DE CARGA:


Las instrucciones de transferencias de datos son típicas de todos los
procesadores su misión es transferir el contenido de un registro fuente (f) a un
registro destino (d) o bien cargar el destino con una constante. En los
microcontroladores PIC todos los datos residen en posiciones de la memoria de
datos en el registro de trabajo W.
En la explicación de estas instrucciones se emplea muchas veces una
nomenclatura especial muy simple basada en paréntesis y flechas. Con los
paréntesis se destaca que se trata del “contenido” de las posiciones de memoria y
la flecha de dirección de la transferencia de los datos.
Hay 5 instrucciones de carga propiamente dichas:
clrw: (clear W) El contenido del registro W se borra, es decir, se carga con
b’00000000’ y el flag z se activa a “1”. Esta instrucción también se podría
considerar como aritmética.
clrf f: (clear f) El contenido del registro ‘f’ se borra, se carga con b’00000000’ y el
flag z se activa con ‘1’. Esta accion tambien se podria considerar como aritmetica.
movlw k: (Move Literal to W) El registro W se carga con el valor de los 8 bits de la
constante ‘k’. Ningun flag del estado del registro de estado es afectado.
movf f,d: (move f) El contenido del registro ’f’ se carga en el registro destino
dependiendo del valor de ‘d’. Si ‘d’ = 0 el destino es el registro W, si ‘d’ = 1 el
destino es el propio registro ‘f’. El flag z del registro STATUS queda afectado: z se
activa a ‘1’ si el resultado de la operación es cero.
movwf f: (Move W to f) Carga el contenido del registro W al registro ‘f’. Ningun flag
del registro de estado es afectado.
Publicado por Ivan Mendoza en 9:42 a. m.
Etiquetas: ENSAMBLADOR, MICROCONTROLADORES, PIC16F84A

No hay comentarios:
Publicar un comentario

Entrada más recienteEntrada antiguaPágina principal


Suscribirse a: Enviar comentarios (Atom)
Archivo del blog

 ► 2015 (3)
 ▼ 2014 (11)
o ► 11/16 - 11/23 (3)
o ► 11/09 - 11/16 (1)
o ► 05/18 - 05/25 (4)
o ► 03/23 - 03/30 (1)
o ▼ 03/02 - 03/09 (2)
 Sumador en ensamblador PIC16F84A
 PIANO DIGITAL CON AT89LP3240/6440

Tema Sencillo. Con la tecnología de Blogger.

Вам также может понравиться