Está en la página 1de 2

ASIGNATURA: ELECTRNICA APLICADA II

PRUEBA DE AUTOEVALUACIN SEGUNDO PARCIAL


CREAR UNA CARPETA CON EL APELLIDO Y NOMBRE DE CADA UNO Y AH CREAR SU PROYECTO REFERIDO AL DISEO
Y ASIMISMO EN LA MISMA CARPETA VACIAR LA INFORMACION DEL CDIGO FUENTE EN ENSAMBLADOR Y LOS
ARCHIVO COMPILADOS INCLUYENDO EN DE SIMULACIN EN PROTEUS.
Disee un circuito digital con el microcontrolador PIC16F628A que evale la operacin de resta binaria A B en complementos a 2.
Cada nmero programado A y B, de 4 bits cada uno, ser ledo por el puerto B y el resultado de la resta ser enviado al puerto A. El
quinto bit (RA4) del puerto A indicar el signo de la resta. El mdulo equivalente del circuito restador se muestra en la figura 1 y el
circuito fsico en la figura 2. Elabore el diagrama de flujo.

Figura 1.

Figura 2.

____
____

list P=16F628A
#Include P16F628A.INC
equ 0x0_
org 0x00
goto inicio
org 0x05

inicio
bsf STATUS,5
bcf STATUS,5
bucle
end

;Este programa evala la resta binaria en complementos a 2 de dos nmeros de cuatro bits
;Lee del puerto B los ocho bits y ordena en grupos de cuatro bits
;y luego el resultado de la resta copia al puerto A
list p=16f628a
#include p16f628a.inc
num1 equ
0x20
num2 equ
0x21
resul
equ
0x22
org
0x00
inicio bsf
STATUS,5
clrf
TRISA
movlw b'11111111'
movwf TRISB
bcf
STATUS,5
BUCLE movf
PORTB,W
andlw b'00001111'
movwf num1
movf
PORTB,W
andlw b'11110000'
movwf num2
swapf num2,W
movwf num2
comf
num2,W
andlw b'00001111'
movwf num2
ncf
num2,W
addwf num1,W
movwf resul
btfss
resul,4
goto negativo
movf
resul,W
movwf PORTA
goto
BUCLE
negativo comf resul,W
andlw b'00001111'
movwf resul
incf
resul,F
movf
resul,W
movwf PORTA
goto
BUCLE
end

;identificacin del dispositivo


;inclusin de los registros especiales al programa

;origen del programa


;apunta al banco 1
;configura el puerto A como salida
;configura el puerto B
;como entrada
;apunta al banco 0
;copia informacin del puerto B a W
;discrimina los cuatro bits menos significativos
;leidos del puerto B
;copia de W actual a num1
;restablece informacin del puerto B a W
;discrimina los cuatro bits ms significativos MSB
;leidos del puerto B
;copia de W actual a num2
;realiza el intercambio de nibles (4 bits) de num2
;copia los bits intercambiados en W a num2
;complementa a 1 num2
;discrimina el complemento a 1 a 4 bits LSB
;copia el valor discriminado a num2
;incrementa 1 al resultado de num2 (complementa a 2) y guarda en W
;suma num1 a num2 (W) y guarda el resultado en W
;copia el resultado de la suma de W a resul
;inspecciona el carry o acarreo=1(resultado positivo) de la suma en el bit 4 de resul
;resultado negativo bit 4 de resul=0 ir a la linea de negativo
;copia el resultado positivo a W
;y copia de W al puerto A de salida
;retorna a bucle para leer otro dato del puerto B
;complementa a 1 el valor de resul
;discrimina a 4 bits el resultado de resul
;copia de W a resul
;incrementa en 1 el valor de resul (complemento a 2)
;copia el resultado de resul a W
;copia de W al puerto A
;retorna a bucle para leer otro dato del puerto B

También podría gustarte