Comparar los BMS Vs BMS en port B

Disculpen soy nuevo en esto de mplab.

Estoy programando en el pic 16f84 y me dejaron hacer un comparador:

comprar portb los 4 Bist Mas significativos con los 4 menos significativos

Y dar un resultado en port A

Si los BMS son mayores se prenden los pares
Si los BMS son menores se prenden los nones
Si los BMS son iguales se prende solo del port A el bms

Espero alguien pueda ayudarme
 
No está tan complicado

- Lees PortB haces AND con 0F y almacenas como num1
- Lees PortB haces AND con f0, haces swap y almacenas como num2
- Ccargas W con num1 y lo restas de num2, y checas el acarreo y/o la bandera de zero para definir
-etc..

Postea tu avance!
 
Ésto te puede servir :

Código:
;Assembly code for PIC 16F84

;CPU configuration
;     (it's a 16F84,XT oscillator,     watchdog timer off, power-up timer on)

    include <p16f84.inc>
    __config _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF

;Declare variables at memory locations


J    equ    H'4F'    ; J = address hex 4F
K    equ    H'4E'    ; K = address hex 4E


;============ Program =============
    org    0x00


init
; -------------- ports initialization   
   
    bsf    STATUS,RP0        ;select bank 1
    movlw    B'00011000'    ;Set RA<2:0> as outputs, RA<3:4> as input
    movwf    TRISA       
   
    movlw    B'00000001'    ;Set RB<7:1> as outputs, RB0 as input           
    movwf    TRISB   

    bcf    STATUS,RP0        ;select bank 0

En la hoja de datos hay mucha información, te recomiendo que la descargues del sitio de microchip
 
Atrás
Arriba