Autor Tema: como comparo si un numero es correcto o no??  (Leído 1940 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado elloco

  • PIC10
  • *
  • Mensajes: 10
como comparo si un numero es correcto o no??
« en: 19 de Febrero de 2008, 19:13:41 »
he hecho un programa en el que atraves d eun teclado un pic 16f84 y un lcd te visualice el numero pulsado del teclado por el lcd, pero mi duda es que ahora yo como hacerlo, se q es con el bit z pero no se si tengo q llevar al acumulador el 7 y guardarlo y despues preguntar xq hice eso xo no me sale nada me sigue igual. aqui os dejo el programa . Espero qme ayudeis, gracias.

LIST p=16F84A
   RADIX HEX
   INCLUDE<P16F84.INC>

   GUARDA      EQU   0C
   CBLOCK   0x0D
   ENDC

   org                 00h
        goto               INICIO
        org                 05h

   
   

 Mensajes            
   addwf   PCL,F
MENSAJE0            
   DT "Teclee Numero", 0x00
MENSAJE1            
   DT "Numero Correcto", 0x00

MENSAJE5            
   DT "Numero Incorrecto", 0x00
            
 FinMensajes



       



ASCII                 addwf   PCL,F
                        retlw   '0'
                        retlw   '1'
                        retlw   '2'
                        retlw   '3'
                        retlw   '4'
                        retlw   '5'
                        retlw   '6'
                        retlw   '7'
                        retlw   '8'
                        retlw   '9'
                        retlw   'A'
                        retlw   'B'
                        retlw   'C'
                        retlw   'D'
                        retlw   '*'
                        retlw   '#'



        


      INCLUDE <TECLADO.ASM>

INICIO      call                 LCD_Inicializa
               bsf                  STATUS,RP0
               movlw                b'10000111'
               movwf                TMR0_OPT
      clrf           TRISA
               bcf                  STATUS,RP0
                movlw           MENSAJE0
      CALL                LCD_Mensaje
            
      
               

SCAN           call                 KEY_SCAN
                movlw                0x80
                subwf                TECLA,W
                btfsc                STATUS,Z
                goto                 SCAN
      CALL           KEY_OFF
                call                 KEY_HEX
      movf           TECLA,W 
                call                 ASCII
      movwf           GUARDA
      call           LCD_Linea2
           movf           GUARDA,W
      call           LCD_Caracter
      goto           SCAN

      INCLUDE <LCD_4BIT.INC>
      INCLUDE <RETARDOS.INC>
      INCLUDE <LCD_MENS.INC>                          
           

      END


Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: como comparo si un numero es correcto o no??
« Respuesta #1 en: 19 de Febrero de 2008, 20:36:10 »
A ver si entiendo tu duda, quieres ver si por ejemplo una variable es igual a 7 ? y si es igual hacer una cosa y si no, hacer otra?

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado elloco

  • PIC10
  • *
  • Mensajes: 10
Re: como comparo si un numero es correcto o no??
« Respuesta #2 en: 19 de Febrero de 2008, 21:50:09 »
si por ejemplo si no no es igual a7 numero incorrecto y si numero correcto. es decir yo pulso el 7 y se visualiza x el lcd y si es 7 correcto sino no es correcto. no se como podria hacerlo.gracias

Desconectado elloco

  • PIC10
  • *
  • Mensajes: 10
Re: como comparo si un numero es correcto o no??
« Respuesta #3 en: 20 de Febrero de 2008, 17:19:44 »
y esa instruccion si de verdad funciona en q parte del programa se introduce por a mi no me funciona quiza xq no la meti en la parte correspondiente. espero qme ayudeis.

Desconectado PMPIC

  • PIC10
  • *
  • Mensajes: 1
Re: como comparo si un numero es correcto o no??
« Respuesta #4 en: 26 de Febrero de 2008, 21:35:36 »
 bueno os relago la siguiente macro:   si un registrop es igual a otro


IFFIF   MACRO    REG_1 , REG_2 , LBL_NO_SON_IGUALES         ; ¿ REG_1 = REG_2?

          MOVF        REG_1, 0
          XORWF     REG_2, 0
          BTFSS      STATUS, Z
          GOTO       LBL_NO_SON_IGUALES   
          ENDM

;---------------------------------------------------  la macro se llama de la sioguiente manera
; ejemplo :   


;.............................. DECLARO REGISTROS EN MPLAB
 CBLOCK     
   VAR1, VAR2
ENDC
 ;
 :-/
   IFFIF  VAR1, VAR2, SALIDA
       .
       .
       .  ;CODIGO SI SON IGUALES
         

SALIDA:                 ; CODIGO SI SON DIFERENTES