TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Victor32 en 20 de Mayo de 2006, 17:14:54
-
Que tal amigos !!!
Necesitaba hacerles una pregunta, como puedo mostrar el contenido de un registro ( programado en asm ) para un proyecto que estoy haciendo con un 16F84 y un LCD, es decir mientras que muestro numeros de 0 al 9 todo bien, los voy enviando y listo pero como hago para mandar por ejemplo el 35, tengo que mandar el 3 y luego el 5, ya que tengo que separarlos de alguna manera en registros o en nibbles distintos.
Bueno espero puedan ayudarme.
Gracias y saludos.
Victor.
-
Tu puedes mandar primero las unidades y despues las decenas y te aparecera 35
5 unidades y 3 decenas. el registro que tiene 35 lo debes segmentar en bcd a sea sacar las unidades y decenas.
debes dividir 35 entre 10 para sacar las decenas y te daras 3 decenas y la restantes son unidades. y asi puedes mandar cualquier numero 150...134...58...26.
-
PARA SACAR CUANTAS DECENAS HAY EN UN NUMERO CUALQUIERAS DEBES DIVIDR EL NUMERO ENTRE 10 Y ESA DIVISION SE HACE CON RESTAS SUCESIVAS.
EJ...... 89 TIENE 8 DECENAS Y 9 UNIDADES.
CONT TIENE ALMACENADO 89 Y DEBES SECARLES LAS DECENAS y unidades.
este es el procedimiento
INCREME INCF DECENAS,1
GOTO RE
DECODIFICAR
MOVF CONT,W
MOVWF RESTA
CLRF DECENAS
MOVLW .10
RE SUBWF RESTA,1
BTFSC STATUS,0
GOTO INCREME SI ES POSITIVA LA OPERACION DEBE INCREMEN-
ADDWF RESTA,1 TAR UNA DECENAS.
MOVF RESTA,W SI LA OPERACION ES NEGATIVA ENTONCES
MOVWF UNIDAD RESTA SE PASA PARA UNIDADES.
CALL VISUALIZACION
GOTO CAPTURA
ASI SE DECODIFICA ESE NUMERO.
SACAR LAS DECENAS Y LAS UNIDADES.
DESPUES YA PUEDES VISUALIZAR DECENAS Y UNIDADES .
-
Gracias Microcom !!! , ya lo estoy estoy probando.
Te mando un abrazo.
Victor.
-
puedes buscar en la pagina de pabil y checa el programa que tiene de termometro digital o algo asi
lo que haces es convertir un registro de 8 bits en unidades decenas centenas o que es lo mismo ea BCD y le sumas 0x30 a cada registro unidad decena y centena para convertirlo en ascii y mandarlo al lcd
-
los numeros debes buscarlos en una tabla ascill
o sumarle a cada digito ala unidad 30H o decenas 30H
retlw ''0''
retlw ''1''
retlw ''2''
.....
.
.
.
.
.
.
.
..
.
.
.