TODOPIC

Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: felolive en 17 de Febrero de 2012, 18:08:26

Título: Funciona en Proteus pero no en Multisim
Publicado por: felolive en 17 de Febrero de 2012, 18:08:26
Por favor amigos del foro ayudenme con este ejercicio... ya lo tengo resuelto.. corre bien en proteus pero en
multisim no me vale...
Se trata de un programa hecho en el 16f84a... que transforma de binario a hexadesimal y lo despliega en un
display aca les dejo el programa....  en asm

;EJER4 : VISUALIZA EL NÚMERO HEXADECIMAL EN DISPLAY AL CONMUTAR ENTRADAS DE SWITCH

         List p=16F84A
         INCLUDE <P16F84A.INC>
         ORG 0                          ; El programa comienza en la dirección 0

AUXILIAR EQU 0X0C

Inicio
         bsf     STATUS,RP0             ; Acceso al Banco 1
         clrf    PORTB                  ; Las líneas del Puerto B se configuran como salida
         movlw   b'00011111'            ; Las 5 líneas del Puerto A se configuran como entrada
         movwf   PORTA             
         clrf    TRISB                  ; Las líneas del Puerto B se configuran como salida
         bcf     STATUS,RP0             ; Acceso al Banco 0
Principal
         movf    PORTA,0
         andlw   b'00001111'            ; Máscara para quedarse con el valor de las
                                        ; entradas correspondientes al nibble bajo
        MOVWF AUXILIAR
        COMF AUXILIAR,W
         ANDLW b'00001111'
        MOVWF AUXILIAR
   
         call    Binario_a_7Segmentos   ; Convierte código binario a a 7 segmentos del display
         movwf   PORTB                  ; Resultado se visualiza por el puerto de salida
         goto    Principal

;Subrutina "Binario_7segemntos" -----------------------------------------------------------

Binario_a_7Segmentos                    ; Tabla para display de 7 segmentos
         addwf   PCL,1
Tabla    retlw   3Fh                    ; El código de 7 segmentos para el "0"
         retlw   06h                    ; El código de 7 segmentos para el "1"
         retlw   5Bh                    ; El código de 7 segmentos para el "2"
         retlw   4Fh                    ; El código de 7 segmentos para el "3"
         retlw   66h                    ; El código de 7 segmentos para el "4"
         retlw   6Dh                    ; El código de 7 segmentos para el "5"
         retlw   7Dh                    ; El código de 7 segmentos para el "6"
         retlw   07h                    ; El código de 7 segmentos para el "7"   
         retlw   7Fh                    ; El código de 7 segmentos para el "8"
         retlw   67h                    ; El código de 7 segmentos para el "9"   
         retlw   77h                    ; El código de 7 segmentos para el "A"
         retlw   7Ch                    ; El código de 7 segmentos para el "B"
         retlw   39h                    ; El código de 7 segmentos para el "C"
         retlw   5Eh                    ; El código de 7 segmentos para el "D"
         retlw   79h                    ; El código de 7 segmentos para el "E"
         retlw   71h                    ; El código de 7 segmentos para el "F"
         
END                            ; Fin del programa

   
Les dejo ademas las simulaciones en proteus y multisim... y compile en MPLAB v8.83 q es la ultima version
por cierto Ocupo Proteus 7.5 y NI Multisim 10
Por descargense y ayudenme verificando donde esta el error para multisim
Título: Re: Funciona en Proteus pero no en Multisim
Publicado por: PalitroqueZ en 18 de Febrero de 2012, 15:36:01
¿y que error te dice el multisim?

Título: Re: Funciona en Proteus pero no en Multisim
Publicado por: felolive en 20 de Febrero de 2012, 16:28:29
la verdad no dice que hay error... pero simplemente no funciona el circuito... no prende el display