You are on page 1of 3

Sumador binario de dos números 4bits

Programa
include"p16f877a.inc"
list p=16f877a
errorlevel 1,-302
__Config _XT_OSC &_WDT_OFF
VAR1 EQU 0x20
VAR2 EQU 0x21
VAR3 EQU 0x22
RESUL EQU 0x23
BSF STATUS,5
MOVLW 0x06
MOVWF ADCON1
MOVLW 0xFF
MOVWF TRISB
CLRF TRISD
BCF
STATUS,5
CLRF PORTD
CLRF PORTB
MOVWF VAR1
ANDLW 0x0F
MOVWF VAR2
MOVF VAR1,0
ANDLW 0xF0
MOVWF VAR3
SWAPF VAR3,0
ADDWF VAR2,0
MOVWF RESUL
MOVWF PORTD
GOTO INICIO
END

lo cual no nos sirve si es que queremos sumar dos números de 4 bits. Se carga nuevamente VAR1 al registro w y se realiza un and pero ahora con los niveles altos y se almacena en VAR3. primeramente los datos introducidos en el puerto B se mueven al registro w. el cual posteriormente se envía a una tercera variable en este caso VAR2.Descripción del Programa Para que el programa realice las operación en este caso la suma. Los datos almacenados en la VAR3 quedan almacenados entonces en el nivel alto del puerto B . Simulación Materiales para simulación • • • • 1 2 6 1 PIC16F87A Dip-Switch de cuatro entradas Leds Resistencia de 1k . con la instrucción SWAPF se realiza un cambio de los datos de la VAR3 de un nivel alto a un nivel bajo y los datos se almacenan en w. de dicha variable se realiza un and con los niveles bajos del puerto B y se almacena en el registro w. Finalmente se realiza la suma de VAR2 con w y el resultado de la operación se mueven al puerto B para que así podamos observarlo a través de los leds. los datos almacenados en registro w se mueven a una primera variable en este caso VAR1. por lo tanto.

DSW1 8 7 6 5 2 3 4 5 6 7 8 9 10 1 OSC1/CLKIN OSC2/CLKOUT ON 1 2 3 4 DIPSW_4 U1 13 14 OFF RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RE0/AN5/RD RC1/T1OSI/CCP2 RE1/AN6/WR RC2/CCP1 RE2/AN7/CS RC3/SCK/SCL RC4/SDI/SDA MCLR/Vpp/THV RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30 R1 1k DSW2 8 7 6 5 OFF ON 1 2 3 4 DIPSW_4 D6 LED-BLUE D5 LED-BLUE D4 PIC16F877A LED-BLUE D3 LED-BLUE D2 LED-BLUE D1 LED-BLUE .