Problema al modificar un asm

Hola!
Tengo un problema al modificar un .asm
Actualmente, el programa esta funcionando perfectamente.
Este muestra en un display lo siguiente: "TEMPERATURA: XXX".
Yo quiero Que en lugar de que use tres caracteres para mostrar la temperatura actual, reducirlo a dos, sacarle los dos puntos y agregarle un °C . Resumiendo,

Si antes decia "TEMPERATURA: 058"
Yo quisiera que diga "TEMPERATURA 58°C"

La pregunta es: ¿Como deberia modificar el programa para lograrlo?
( adjunto asm)

Muchas Gracias!
 

Adjuntos

  • Termo.rar
    1.9 KB · Visitas: 14
Hola
Deverias de modificar la tabla asi
LADR_0x006E
ADDWF PCL,F ; !!Program-Counter-Modification
RETLW 0x54 ; b'01010100' d'084' "T"
RETLW 0x45 ; b'01000101' d'069' "E"
RETLW 0x4D ; b'01001101' d'077' "M"
RETLW 0x50 ; b'01010000' d'080' "P"
RETLW 0x45 ; b'01000101' d'069' "E"
RETLW 0x52 ; b'01010010' d'082' "R"
RETLW 0x41 ; b'01000001' d'065' "A"
RETLW 0x54 ; b'01010100' d'084' "T"
RETLW 0x55 ; b'01010101' d'085' "U"
RETLW 0x52 ; b'01010010' d'082' "R"
RETLW 0x41 ; b'01000001' d'065' "A"
RETLW 0x20 ; b'00100000' d'032' " "
RETLW 0x20 ; b'00100000' d'032' " "
RETLW 0x20 ; b'00100000' d'032' " "
RETLW 0:LOL:F ; b'11011111' d'223' "º"
RETLW 0x43 ; b'01000011' d'067' "C"
Espero ser de ayuda un saludo
 
Hola Juan47, ademas de la modificacion que ofreces no hay que olvidar que es necesario desplazar una posicion a la izq. la variable a representar, pues sino puede solaparse con el texto fijo y perder el/los caracter/es "°C". Ademas eliminar un digito a la misma.-
 
Última edición:
Muchas gracias a ambos por responder!
Precisamente es sobre lo que comenta Gudino sobre lo que necesito instrucciones. Serias tan amable de decirme como hacer lo que describis?
Muchas gracias!
 
Hola
Tienes toda la razon en tu apreciacion Gudino Roberto duberlin, lo que realice era lo mas facil

Simulando el programa he llegado a la siguiente conclusion

; RAM-Variable
LRAM_0x20 equ 0x20 ;3 digito
LRAM_0x21 equ 0x21 ;2 digito
LRAM_0x22 equ 0x22 ;1 digito
LRAM_0x23 equ 0x23 ;Temporizacion display
LRAM_0x24 equ 0x24 ;Temporizacion display
LRAM_0x25 equ 0x25
LRAM_0x26 equ 0x26
LRAM_0x27 equ 0x27
LRAM_0x28 equ 0x28 ;Dato de adresh

Podrias enseñarnos el esquema 10595?
Asi se podria saber con mas rapidez cual activa el Enable, asi como dato/comando, etc

Pienso que el que posiciona el cursor para mostrar la variable es la siguiente instruccion

LADR_0x0048
BTFSC ADCON0,2 ; !!Bank!! ADCON0 - ADCON1 - Unimplemented - Unimplemented
GOTO LADR_0x0048
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVF ADRESH,W ; !!Bank!! ADRESH - ADRESL - Unimplemented - Unimplemented
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVWF LRAM_0x28
BCF STATUS,C
BTFSC ADRESH,0 ; !!Bank!! ADRESH - ADRESL - Unimplemented - Unimplemented
BSF STATUS,C
RRF LRAM_0x28,F
MOVF LRAM_0x26,W
ADDLW 0x01 ; b'00000001' d'001'
SUBWF LRAM_0x28,W
BTFSS STATUS,C
BSF PORTC,4 ; !!Bank!! PORTC - TRISC - Unimplemented - Unimplemented
MOVF LRAM_0x27,W
SUBWF LRAM_0x28,W
BTFSC STATUS,C
BCF PORTC,4 ; !!Bank!! PORTC - TRISC - Unimplemented - Unimplemented
MOVF LRAM_0x28,W
CALL LADR_0x00CF
MOVLW 0x8D ; b'10001101' d'141'
CALL LADR_0x00C2

Un saludo
 
hola

Gracias por lo que me pertoca, pero solo intento ayudar y aprender

El aporte del esquema es util para comprender mejor el programa y saber mejor la configuracion del pic

Un saludo
 
Atrás
Arriba