Autor Tema: Problemas al Simular Rotación ISIS 7.6 SP4  (Leído 2384 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Bonsanto

  • PIC10
  • *
  • Mensajes: 3
Problemas al Simular Rotación ISIS 7.6 SP4
« en: 09 de Junio de 2010, 18:31:46 »
Hola, creo este tema para discutir un problema que tengo con el Proteus ISIS al tratar de simular un programa muy sencillo (El cual me funciona bien en la vida real pero no en el simulador).

Aquí Escribo el .ASM

Código: [Seleccionar]
LIST P=16F84

#INCLUDE "P16F84.INC"
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC

COUNT_1 EQU 0C
COUNT_2 EQU 0D
PIC84 EQU 03FF
CARRY   EQU 00
SALIDA EQU 0E

INIT ORG 00H
MOVLW 00H
BSF STATUS,RP0
MOVWF TRISB
MOVLW 0FFH
MOVWF TRISA
BCF STATUS,RP0
MOVLW 04H
MOVWF COUNT_1
MOVWF COUNT_2
MOVLW 01
MOVWF SALIDA

MOVF SALIDA, 1
MOVWF PORTB
MOVLW 02H
RLF W,0
CALL DELAY
MAIN BTFSS PORTA, 0
CALL UP
BTFSS PORTA, 1
CALL DOWN
CALL DELAY
CLRWDT
GOTO MAIN

UP BCF STATUS,0
RLF PORTB,0
BTFSS STATUS,0
RETURN
RLF PORTB
RETURN

DOWN BCF STATUS,0
RRF PORTB,0
BTFSS STATUS,0
RETURN
RRF PORTB
RETURN

DELAY DECFSZ COUNT_1,1
GOTO DELAY
MOVLW 04H
MOVWF COUNT_1
DECFSZ COUNT_2,1
GOTO DELAY
MOVLW 04H
MOVWF COUNT_1
MOVWF COUNT_2
RETURN
ORG PIC84
GOTO INIT
END

Se supone que este programa que debe correr en P16F84A debe hacer mover el encendido de los leds de un lado al otro (de los leds coenctados al puerto B), que dependerá de cual botón se presiona (coenctados al puerto A), pero yo no entiendo porqu eno funciona. Aparentemente revisando el RLF y RRF no funciona al tratar de ejecutar estas instrucciones, sencillamente lo que hace es poner el registro a rotar en 0 y no entiendo por que :'(, no se si será la version de Proteus que Uso si estará dañada, porque el programa me corre en la vida real :(.