Buenas, tengo como proyecto utilizando el 16f84a, proyectar un punto en el osciloscopio, este trabajando en X Y para que se vea. Ese punto que proyecto en el osciloscopio tengo que moverlo mediante switches por la pantalla. Aqui esta el pgrama, tiene 1 solo problema que no se porque todavia, pero decrementando los valores en Y no se porque no me toma el valor de la tabla que le tengo ahi. gracias aprecio su ayuda.
LIST p=16f84a
INCLUDE "P16F84A.INC"
COUNT EQU 0X0C
COUNTER EQU 0X0E
ORG 00
GOTO INICIO
ORG 04
ORG 10
INICIO
CLRF COUNT
CLRF COUNTER
BSF STATUS,5
CLRF TRISB
BSF TRISB,0
BSF TRISB,1
BSF TRISB,2
BSF TRISB,3
CLRF TRISA
BCF STATUS,5
CLRF PORTB
CLRF PORTA
MOVLW 0XA0
MOVWF PORTB
IX BTFSS PORTB,0 ;incremento de valores en el plano X
GOTO DX
GOTO INCX
DX BTFSS PORTB,1 ;decremento de valores en el plano X
GOTO IY
GOTO DECX
IY BTFSS PORTB,2 ;incremento de plano Y
GOTO DY
GOTO INCY
DY BTFSS PORTB,3 ;decremento e plano Y
GOTO IX
GOTO DECY
DECX CALL NBITS ;progamacion pa decremento de tabla en X
MOVWF PORTA
GOTO IX
NBITS DECF COUNT
MOVF COUNT,0
RETURN
INCX CALL BITS ;programacion para incremento de la tabla en X
MOVWF PORTA
GOTO IX
BITS INCF COUNT
MOVF COUNT,0
ADDWF PCL,1
TABLA RETLW B'00000000'
TA RETLW B'00000001'
RETLW B'00000010'
RETLW B'00000011'
RETLW B'00000100'
RETLW B'00000101'
RETLW B'00000110'
RETLW B'00000111'
RETLW B'00001000'
RETLW B'00001001'
RETLW B'00001010'
RETLW B'00001011'
RETLW B'00001100'
RETLW B'00001101'
RETLW B'00001110'
RETLW B'00001111'
GOTO TA
DECY CALL NBITSS ;decremento de la tabla en Y
MOVWF PORTB
GOTO IX
NBITSS DECF COUNTER
MOVF COUNTER,0
RETURN
INCY CALL BITSS ;incremento de la tabla en Y
MOVWF PORTB
GOTO IX
BITSS INCF COUNTER
MOVF COUNTER,0
ADDWF PCL,1
TABLA1 RETLW B'00000000'
TA1 RETLW B'00010000'
RETLW B'00100000'
RETLW B'00110000'
RETLW B'01000000'
RETLW B'01010000'
RETLW B'01100000'
RETLW B'01110000'
RETLW B'10000000'
RETLW B'10010000'
RETLW B'10100000'
RETLW B'10110000'
RETLW B'11000000'
RETLW B'11010000'
RETLW B'11100000'
RETLW B'11110000'
GOTO TA1
END
LIST p=16f84a
INCLUDE "P16F84A.INC"
COUNT EQU 0X0C
COUNTER EQU 0X0E
ORG 00
GOTO INICIO
ORG 04
ORG 10
INICIO
CLRF COUNT
CLRF COUNTER
BSF STATUS,5
CLRF TRISB
BSF TRISB,0
BSF TRISB,1
BSF TRISB,2
BSF TRISB,3
CLRF TRISA
BCF STATUS,5
CLRF PORTB
CLRF PORTA
MOVLW 0XA0
MOVWF PORTB
IX BTFSS PORTB,0 ;incremento de valores en el plano X
GOTO DX
GOTO INCX
DX BTFSS PORTB,1 ;decremento de valores en el plano X
GOTO IY
GOTO DECX
IY BTFSS PORTB,2 ;incremento de plano Y
GOTO DY
GOTO INCY
DY BTFSS PORTB,3 ;decremento e plano Y
GOTO IX
GOTO DECY
DECX CALL NBITS ;progamacion pa decremento de tabla en X
MOVWF PORTA
GOTO IX
NBITS DECF COUNT
MOVF COUNT,0
RETURN
INCX CALL BITS ;programacion para incremento de la tabla en X
MOVWF PORTA
GOTO IX
BITS INCF COUNT
MOVF COUNT,0
ADDWF PCL,1
TABLA RETLW B'00000000'
TA RETLW B'00000001'
RETLW B'00000010'
RETLW B'00000011'
RETLW B'00000100'
RETLW B'00000101'
RETLW B'00000110'
RETLW B'00000111'
RETLW B'00001000'
RETLW B'00001001'
RETLW B'00001010'
RETLW B'00001011'
RETLW B'00001100'
RETLW B'00001101'
RETLW B'00001110'
RETLW B'00001111'
GOTO TA
DECY CALL NBITSS ;decremento de la tabla en Y
MOVWF PORTB
GOTO IX
NBITSS DECF COUNTER
MOVF COUNTER,0
RETURN
INCY CALL BITSS ;incremento de la tabla en Y
MOVWF PORTB
GOTO IX
BITSS INCF COUNTER
MOVF COUNTER,0
ADDWF PCL,1
TABLA1 RETLW B'00000000'
TA1 RETLW B'00010000'
RETLW B'00100000'
RETLW B'00110000'
RETLW B'01000000'
RETLW B'01010000'
RETLW B'01100000'
RETLW B'01110000'
RETLW B'10000000'
RETLW B'10010000'
RETLW B'10100000'
RETLW B'10110000'
RETLW B'11000000'
RETLW B'11010000'
RETLW B'11100000'
RETLW B'11110000'
GOTO TA1
END