holas, deberias subir el programa para echarle un ojo. de todas formas por ej si tienes una rutina en la direccion
org 0x900 por ej MENSAJE
y el pc se encuentra en otra página, pones:
pagesel MENSAJE
call MENSAJE
para lectura de tablas con saltos de pagina tienes ejemplos en el foro
un saludo
que tal amigo gracias por contestar. si de esa forma lo estoy haciendo pero sigo teniendo los mismos problemas.
parte de inico del programa de essta forma comienza y asi gui sucesivamente.
LIST P=16F887
INCLUDE <P16F887.INC>
__CONFIG _CONFIG1, _INTOSC & _WDT_OFF & _PWRTE_OFF & _MCLRE_ON & _CP_OFF & _CPD_OFF & _BOR_OFF & _IESO_ON & _FCMEN_ON & _LVP_ON
__CONFIG _CONFIG2, _WRT_OFF & _BOR40V
;ERRORLEVEL -306 ; esto te elimina todos los warnings generados del tipo 306
ERRORLEVEL -302 ;
TRISC equ 0x87
TRISD equ 0x88
PORTC equ 0x07
PORTD equ 0x08
STATUS equ 0x03
PCLATH equ 0x0A
F equ 1
W equ 0
CONT1 equ 0x21
CONT2 equ 0x22
CUENTA1 equ 0x23
CUENTA2 equ 0x24
VUELTA1 equ 0x25
CUENTA11 equ 0x26
CUENTA22 equ 0x27
ORG 0x00
GOTO INICIO
ORG 0x05
RETARDO MOVLW 0xDF
MOVWF CUENTA1
ACA1 MOVLW 0x03
MOVWF CUENTA2
ACA DECFSZ CUENTA2,F
GOTO ACA
DECFSZ CUENTA1,F
GOTO ACA1
RETURN
RETA2 MOVLW 0xFF
MOVWF CONT1
AJA1 MOVLW 0xFF
MOVWF CONT2
AJA DECFSZ CONT2,F
GOTO AJA
DECFSZ CONT1,F
GOTO AJA1
RETURN
INICIO BSF STATUS,5
CLRF TRISD
CLRF TRISC
BCF STATUS,5
MOVLW 0x1F
MOVWF VUELTA1
INICIO2 CLRF PORTC
CLRF PORTD
CALL RETA2
CALL RETA2
MOVLW b'11111110' ;PONER TIERRA EN ULTIMA COLUMNA...prende primer punto
MOVWF PORTD
MOVLW b'0000001' ;prende la primera fila de arriba hacia abajo
MOVWF PORTC
CALL RETA2
CALL RETA2
T1 MOVLW b'11111110'
MOVWF PORTD
MOVLW b'0000001' ; PRIMER punto
MOVWF PORTC
CALL RETARDO
MOVLW b'11111101' ; ACTIVAR LA COLUMna 2
MOVWF PORTD
MOVLW b'0000001' ; PRENDE EL segundo punto
MOVWF PORTC
CALL RETARDO
DECFSZ VUELTA1,F
GOTO T1
MOVLW 0X1F
MOVWF VUELTA1
T2 MOVLW b'11111110' ; PONER TIERRA A ULTIMA COLUMNA PARA PRENder el primer punto
MOVWF PORTD
MOVLW b'0000001' ;PRENDE el primer punto
MOVWF PORTC
CALL RETARDO
MOVLW b'11111101' ; VOLVER A PRENDER la segunda columna
MOVWF PORTD
MOVLW b'0000001' ;PRENDE El segundo punto
MOVWF PORTC
CALL RETARDO
MOVLW b'11111011' ; ACTIVA la tercer columna
MOVWF PORTD
MOVLW b'0000001' ;activa el tercer punto
MOVWF PORTC
CALL RETARDO
DECFSZ VUELTA1,F
GOTO T2
MOVLW 0X1F
MOVWF VUELTA1
parte donde ya salta a la segunda pagina o pagina1
R2 MOVLW b'10111111' ; ACTIVA EL PALO DE R
MOVWF PORTD
MOVLW b'1111111' ;LO ACTIVA
MOVWF PORTC
PAGESEL RETARDO
CALL RETARDO
MOVLW b'11011111' ; ACTIVA DOS PUNTOS DE R
MOVWF PORTD
MOVLW b'0001001' ;LOS ACTIVA
MOVWF PORTC
PAGESEL RETARDO
CALL RETARDO
MOVLW b'11101111' ; ACTIVA OTROS DOS PUNTOS DE R
MOVWF PORTD
MOVLW b'0011001' ;LOS ACTIVA
MOVWF PORTC
PAGESEL RETARDO
CALL RETARDO
MOVLW b'11110111' ; ACTIVA TRES PUNTOS DE LA R
MOVWF PORTD
MOVLW b'0100110' ;LOS ACTIVA
MOVWF PORTC
PAGESEL RETARDO
CALL RETARDO
MOVLW b'11111011' ; ACTIVA EL ULTIMO PUNTO DE LA R
MOVWF PORTD
MOVLW b'1000000' ;LOS ACTIVA
MOVWF PORTC
PAGESEL RETARDO
CALL RETARDO
MOVLW b'11111110' ; ACTIVA EL PALO DE LA SEGUNDA E
MOVWF PORTD
MOVLW b'1111110' ;LOS ACTIVA
MOVWF PORTC
PAGESEL RETARDO
CALL RETARDO
DECFSZ VUELTA1,F
GOTO R2
MOVLW 0X1F
MOVWF VUELTA
de esta forma lo estoy haciendo pero sigue =.
gracias