Hola valdorre nuevamente!!! Mira me interesaria hacerle unos cambios a la fuente, pero es que no entiendo mucho assembles, sino que me manejo mas con basic, totalmente al revez que vos
Lo que queria hacer era sacar la rutina de memoria, porque no me interesa tener ese boton, estuve viendo el codigo fuente, y pensaba eliminar directamente las rutinas estas, dime si estoy en lo equivocado, te repito que de assembler se muy poco, casi nada.
Pensaba eliminar
#DEFINE MEMORY REG_MULTI,2 ; Bandera para variar las memorias
#DEFINE B_MEMO PORTA,4 ; Boton cambio de memorias
INC_MEMO
; BSF EEPR ; activa bandera para grabar eeprom
BSF MEMO2
INCF MEMORIAS,F
MOVLW 06H
SUBWF MEMORIAS,W
BTFSS STATUS,C
RETURN
MOVLW 1H
MOVWF MEMORIAS
RETURN
DEC_MEMO
; BSF EEPR ; activa bandera para grabar eeprom
BSF MEMO2
DECFSZ MEMORIAS,F
GOTO $+2
GOTO AASS
MOVLW 0FFH
SUBWF MEMORIAS,W
BTFSS STATUS,C
GOTO $+3
AASS MOVLW 05H
MOVWF MEMORIAS
RETURN
TECLA_E CLRWDT
BTFSS B_ENC ;Bototn Encoder
GOTO $-2
BCF MEMORY
BTFSC ENCOD
GOTO $+3
BSF ENCOD
GOTO TOTON
BCF ENCOD
GOTO TOTON
TECLA_M:
CLRWDT
BTFSS B_MEMO
GOTO $-2
BSF MEMORY
BCF VOLT
BCF AMPER
BCF ENCOD
GOTO TOTON
TECLA_A:
CLRWDT
BTFSS B_AMPER
GOTO $-2
BCF MEMO2 ;bandera que muestra numero de memoria
BCF MEMORY ;
BCF VOLT
BSF AMPER
BCF ENCOD
GOTO TOTON
TECLA_V:
CLRWDT
BTFSS B_VOLT
GOTO $-2
BCF MEMO2 ;bandera que muestra numero de memoria
BCF MEMORY
BSF VOLT
BCF AMPER
BCF ENCOD
TOTON BSF LUZ_LCD ; Prende luz de lcd
MOVLW .229
MOVWF CONTOT0
MOVLW .20 ;10 SEG
MOVWF CONTOT1
MOVLW 05H
MOVWF CONTOT2
CLRWDT
RETURN
Despues sacar esto que es la rutina de muestra en el LCD
MEMORYAS
MOVLW B'11000000' ;Posiciona 0 de la segunda linea
CALL CONTROL
MOVLW B'00001111' ;ACTIVA CURSOR
CALL CONTROL
MOVLW ' ' ;espacio en blanco
CALL DATO
CALL RETARDO
MOVLW 'M'
call DATO
CALL RETARDO
MOVLW ':'
CALL DATO
CALL RETARDO
MOVLW ' '
BTFSS MEMO2
GOTO MEMM
CALL PREPROG
MOVF MEMORIAS,W
ADDLW 30H
MEMM CALL DATO
CALL RETARDO
MOVLW B'11000111' ; Posicion 7
CALL CONTROL
MOVLW ' ' ;ESPACIO EN BLANCO
BTFSC MEMORY
MOVLW B'01111111' ; O FLECHA <-
CALL DATO
CALL RETARDO
MOVLW 0CH ;DESACTIVA CURSOR
CALL CONTROL
CALL RETARDO
Y modificarlo para usar un LCD de 16x1
LCD_SETUP
MOVLW 02H ; 4 BIT
CALL CONTROL
CALL RETARDO
MOVLW 28H ; 4 BIT 1 LINEAS (aqui pongo 1 LINEA)
CALL CONTROL
CALL RETARDO
MOVLW 0CH ; ACTIVA DISPLAY
CALL CONTROL
CALL RETARDO
MOVLW 06H ; SIN ROTACION
CALL CONTROL
CALL RETARDO
Dime si estoy bien, o si estoy haciendo cualquier cosa, ya te digo toco de oido, pero muy de oido assembler.
Un saludo!