Autor Tema: HOLA a todos  (Leído 1653 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado FCR15

  • PIC10
  • *
  • Mensajes: 4
HOLA a todos
« en: 21 de Julio de 2015, 17:47:46 »
HOLA disculpen podrian ayudarme porfavor esque tengo un problema con un microcontrolador pic16f877A y una pantalla lcd 16x2 lo que pasa es que no me quiere funcionar no me muestra los caracteres, solo pone una linea puros cuadritos y esque tambien le estoy poniendo una señal analogica al pic, esque quiero que la pantalla lcd me muetre la velocidad cuando el usuario mueva un potenciometro y esta es la señal analogica.

aqui esta mi codigo les agrdesco muchisimo su ayuda..

 LIST        p=16F877A
        ;__CONFIG   _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC
        INCLUDE    <P16F877A.INC>
        __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_ON & _CPD_OFF
       
        CICLO1      EQU      0X20
        CICLO2      EQU      0X21
        CICLO3       EQU      0X22
        CICLO4      EQU     0X31
        CICLO5      EQU     0X32
        CICLO6      EQU     0X33
        TEMP      EQU      0X25
        DATO      EQU      0X30

        #DEFINE BANCO0 BCF STATUS,5            ;SE DEFINE LA INSTRUCCIÓN BANCO0
        #DEFINE BANCO1 BSF STATUS,5            ;SE DEFINE LA INSTRUCCIÓN BANCO1
       
        STATUS           EQU    0X03
        PORTD            EQU    0X08
        PORTB            EQU    0X06
        TRISD            EQU    0X88
        TRISB            EQU    0X86
        LCD_LINEA1     EQU    80   
        LCD_LINEA2     EQU    0C0   
        LCD_CLR         EQU    01   
        LCD_CASA     EQU    02   
        LCD_INC         EQU    06   
        LCD_DEC         EQU    04   
        LCD_ON         EQU    0C   
        LCD_OFF         EQU    08   
        CURSOR_ON     EQU    0E   
        CURSOR_OFF     EQU    0C   
        CURSOR_PARP     EQU    0F
        LCD_IZDA     EQU    18   
        LCD_DECHA     EQU    1C   
        CURSOR_IZDA     EQU    10   
        CURSOR_DECHA     EQU    14   
        LCD_FUNCIÓN     EQU    38   
        LCD_CGRAM     EQU    40   
        CBLOCK 0x0D
        ENDC
         
           ORG 0X00                            ;VECTOR DE RESET Ó ENCENDIDO DEL PIC
         GOTO INICIO               ;SALTA A LA ETIQUETA INICIO

            ORG   0X04                            ;VECTOR DE INTERRUPCION
         GOTO INTERRUP               ;SALTA A LA ETIQUETA INTERRUP

   ;ORG 0X10
                             
INICIO   

            CALL   INI_AD
            CALL    INI_PWM
         CALL   SETUPDELAY           ;TIEMPO NECESARIO PARA LA CAPTURA DEL
         CALL   SETUPDELAY          ;VALOR ANALOGICO A CONVERTIR

         ;   BANCO1
      ;   MOVLW    B'0000000'   
         ;MOVWF    TRISB
         ;MOVLW    B'00000001'   
      ;   MOVWF    TRISC
      ;   MOVLW    B'00000000'   
      ;   MOVWF    TRISD
            ;BANCO0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;INICIA PROGRAMA;;;;;;;;;;;;;;;;;;;
        CALL DELAY1SEG
        CALL  DELAY1SEG
        CALL  DELAY1SEG   
        bsf         STATUS,RP0
        movlw        b'00011000'   
        movwf        TRISD       
        clrf        TRISB       
        bcf             STATUS,RP0               
        clrf        PORTD       
        clrf        PORTB
        movlw        LCD_FUNCIÓN   
        call        LCD_COMANDO   
        call        PAUSA_5ms   
        movlw        LCD_FUNCIÓN   
        call        LCD_COMANDO   
        call        PAUSA_5ms   
        movlw        LCD_FUNCIÓN   
        call        LCD_COMANDO   
        call        PAUSA_5ms   
        movlw        LCD_CLR       
        call        LCD_COMANDO   
        movlw        LCD_INC       
        call        LCD_COMANDO   
        movlw        LCD_ON       
        call        LCD_COMANDO           
     
       
        movlw    80
        call    LCD_COMANDO
        movlw    'E'
        call    LCD_CARACTER       
        movlw    'Q'           
        call    LCD_CARACTER       
        movlw    'U'                         
        call    LCD_CARACTER       
        movlw    'S'                     
        calL    LCD_CARACTER
        movlw    ' '                     
        calL    LCD_CARACTER               
        movlw    'S'
        call    LCD_CARACTER       
        movlw    'Y'           
        call    LCD_CARACTER       
        movlw    'S'                         
        call    LCD_CARACTER       
        movlw    'T'                     
        calL    LCD_CARACTER
        movlw    'E'
        call    LCD_CARACTER       
        movlw    'M'           
        call    LCD_CARACTER       
        movlw    'S'                         
        call    LCD_CARACTER       
               
        call DELAY1SEG
        call DELAY1SEG
        movlw    01
        call    LCD_COMANDO
       
        movlw    80
        call    LCD_COMANDO
        movlw    'H'
        call    LCD_CARACTER       
        movlw    'O'           
        call    LCD_CARACTER       
        movlw    'L'                         
        call    LCD_CARACTER       
        movlw    'A'                     
        calL    LCD_CARACTER
        movlw    ' '                     
        calL    LCD_CARACTER               
        movlw    'B'
        call    LCD_CARACTER       
        movlw    'I'           
        call    LCD_CARACTER       
        movlw    'E'                         
        call    LCD_CARACTER       
        movlw    'N'                     
        calL    LCD_CARACTER
        movlw    'V'
        call    LCD_CARACTER       
        movlw    'E'           
        call    LCD_CARACTER       
        movlw    'N'                         
        call    LCD_CARACTER       
        movlw    'I'                     
        calL    LCD_CARACTER
        movlw    'D'                     
        calL    LCD_CARACTER               
        movlw    'O'
        call    LCD_CARACTER
       
       call DELAY1SEG
       call DELAY1SEG
       call DELAY1SEG
       movlw    01
       call    LCD_COMANDO
       
         movlw    80
        call    LCD_COMANDO
         movlw    'A'
        call    LCD_CARACTER       
        movlw    'Q'           
        call    LCD_CARACTER       
        movlw    'U'                         
        call    LCD_CARACTER       
        movlw    'I'                     
        calL    LCD_CARACTER
        movlw    ' '                     
        calL    LCD_CARACTER               
        movlw    'I'
        call    LCD_CARACTER       
        movlw    'D'           
        call    LCD_CARACTER       
        movlw    'I'                         
        call    LCD_CARACTER       
        movlw    'C'                     
        calL    LCD_CARACTER       
        movlw    'A'           
        call    LCD_CARACTER
        movlw    'R'           
        call    LCD_CARACTER
        movlw    'A'           
        call    LCD_CARACTER       
        movlw    ' '           
        call    LCD_CARACTER
        movlw    'L'           
        call    LCD_CARACTER
        movlw    'A'           
        call    LCD_CARACTER
        movlw    0C0
        call    LCD_COMANDO
        movlw    'V'
        call    LCD_CARACTER       
        movlw    'E'           
        call    LCD_CARACTER       
        movlw    'L'                         
        call    LCD_CARACTER       
        movlw    'O'                     
        calL    LCD_CARACTER
        movlw    'C'                     
        calL    LCD_CARACTER               
        movlw    'I'
        call    LCD_CARACTER
        movlw    'D'                         
        call    LCD_CARACTER       
        movlw    'A'                     
        calL    LCD_CARACTER
        movlw    'D'                     
        calL    LCD_CARACTER               
        movlw    ' '
        call    LCD_CARACTER
        movlw    'K'
        call    LCD_CARACTER
        movlw    'M'           
        call    LCD_CARACTER
        movlw    '/'           
        call    LCD_CARACTER
        movlw    'H'           
        call    LCD_CARACTER
        movlw    'R'           
        call    LCD_CARACTER
     
       
       call DELAY1SEG
       call DELAY1SEG
       call DELAY1SEG
       movlw    01
       call    LCD_COMANDO
       
   ATRAS    NOP
            BCF     STATUS,Z
            BSF      ADCON0,GO           ;COMIENZA LA CONVERSION
         CALL   PAUSA
         BCF    STATUS,Z   
         MOVF   DATO,W
         BCF    STATUS,Z
            SUBLW   D'0'            ;RESTARLE 0 A DATO
            BTFSS   STATUS,Z
            GOTO   SIGUE1
            GOTO  VER 
       

VER
                               
        movlw    80
        call    LCD_COMANDO
         movlw    ' '
        call    LCD_CARACTER       
        movlw    ' '           
        call    LCD_CARACTER       
        movlw    ' '                         
        call    LCD_CARACTER       
        movlw    'V'                     
        calL    LCD_CARACTER
        movlw    'E'                     
        calL    LCD_CARACTER               
        movlw    'L'
        call    LCD_CARACTER       
        movlw    'O'           
        call    LCD_CARACTER       
        movlw    'C'                         
        call    LCD_CARACTER       
        movlw    'I'                     
        calL    LCD_CARACTER       
        movlw    'D'           
        call    LCD_CARACTER
        movlw    'A'           
        call    LCD_CARACTER
        movlw    'D'           
        call    LCD_CARACTER       
        movlw    0C0
        call    LCD_COMANDO
        movlw    ' '
        call    LCD_CARACTER       
        movlw    ' '
        call    LCD_CARACTER
        movlw    ' '
        call    LCD_CARACTER
        movlw    '0'
        call    LCD_CARACTER
        movlw    'K'
        call    LCD_CARACTER
        movlw    'M'
        call    LCD_CARACTER
        movlw    '/'
        call    LCD_CARACTER
        movlw    'H'
        call    LCD_CARACTER
        movlw    'r'
        call    LCD_CARACTER                         
        GOTO ATRAS   
       
 SIGUE1      NOP
            BCF     STATUS,Z
            BSF      ADCON0,GO           ;COMIENZA LA CONVERSION
         CALL   PAUSA
         BCF    STATUS,Z   
         MOVF   DATO,W
         BCF    STATUS,Z
            SUBLW   D'42'            ;RESTARLE 42 A DATO
            BTFSS   STATUS,Z
            GOTO   SIGUE2
           
            movlw    80
        call    LCD_COMANDO
         movlw    ' '
        call    LCD_CARACTER       
        movlw    ' '           
        call    LCD_CARACTER       
        movlw    ' '                         
        call    LCD_CARACTER       
        movlw    'V'                     
        calL    LCD_CARACTER
        movlw    'E'                     
        calL    LCD_CARACTER               
        movlw    'L'
        call    LCD_CARACTER       
        movlw    'O'           
        call    LCD_CARACTER       
        movlw    'C'                         
        call    LCD_CARACTER       
        movlw    'I'                     
        calL    LCD_CARACTER       
        movlw    'D'           
        call    LCD_CARACTER
        movlw    'A'           
        call    LCD_CARACTER
        movlw    'D'           
        call    LCD_CARACTER       
        movlw    0C0
        call    LCD_COMANDO
        movlw    ' '
        call    LCD_CARACTER       
        movlw    ' '
        call    LCD_CARACTER
        movlw    ' '
        call    LCD_CARACTER
        movlw    '5'
        call    LCD_CARACTER
        movlw    ' '
        call    LCD_CARACTER
        movlw    'K'
        call    LCD_CARACTER
        movlw    'M'
        call    LCD_CARACTER
        movlw    '/'
        call    LCD_CARACTER
        movlw    'H'
        call    LCD_CARACTER
        movlw    'r'
        call    LCD_CARACTER     
        GOTO ATRAS     
       
 SIGUE2      NOP
            BCF     STATUS,Z
            BSF      ADCON0,GO           ;COMIENZA LA CONVERSION
         CALL   PAUSA
         BCF    STATUS,Z   
         MOVF   DATO,W
         BCF    STATUS,Z
            SUBLW   D'85'            ;RESTARLE 85 A DATO
            BTFSS   STATUS,Z
            GOTO   SIGUE3
          movlw    80
        call    LCD_COMANDO
         movlw    ' '
        call    LCD_CARACTER       
        movlw    ' '           
        call    LCD_CARACTER       
        movlw    ' '                         
        call    LCD_CARACTER       
        movlw    'V'                     
        calL    LCD_CARACTER
        movlw    'E'                     
        calL    LCD_CARACTER               
        movlw    'L'
        call    LCD_CARACTER       
        movlw    'O'           
        call    LCD_CARACTER       
        movlw    'C'                         
        call    LCD_CARACTER       
        movlw    'I'                     
        calL    LCD_CARACTER       
        movlw    'D'           
        call    LCD_CARACTER
        movlw    'A'           
        call    LCD_CARACTER
        movlw    'D'           
        call    LCD_CARACTER       
        movlw    0C0
        call    LCD_COMANDO
        movlw    ' '
        call    LCD_CARACTER       
        movlw    ' '
        call    LCD_CARACTER
        movlw    ' '
        call    LCD_CARACTER
        movlw    '1'
        call    LCD_CARACTER
        movlw    '0'
        call    LCD_CARACTER
        movlw    ' '
        call    LCD_CARACTER
        movlw    'K'
        call    LCD_CARACTER
        movlw    'M'
        call    LCD_CARACTER
        movlw    '/'
        call    LCD_CARACTER
        movlw    'H'
        call    LCD_CARACTER
        movlw    'r'
        call    LCD_CARACTER
        GOTO ATRAS
       
SIGUE3      NOP
            BCF     STATUS,Z
            BSF      ADCON0,GO           ;COMIENZA LA CONVERSION
         CALL   PAUSA
         BCF    STATUS,Z   
         MOVF   DATO,W
         BCF    STATUS,Z
            SUBLW   D'106'            ;RESTARLE 106 A DATO
            BTFSS   STATUS,Z
            GOTO   SIGUE4
           
                  movlw    80
        call    LCD_COMANDO
         movlw    ' '
        call    LCD_CARACTER       
        movlw    ' '           
        call    LCD_CARACTER       
        movlw    ' '                         
        call    LCD_CARACTER       
        movlw    'V'                     
        calL    LCD_CARACTER
        movlw    'E'                     
        calL    LCD_CARACTER               
        movlw    'L'
        call    LCD_CARACTER       
        movlw    'O'           
        call    LCD_CARACTER       
        movlw    'C'                         
        call    LCD_CARACTER       
        movlw    'I'                     
        calL    LCD_CARACTER       
        movlw    'D'           
        call    LCD_CARACTER
        movlw    'A'           
        call    LCD_CARACTER
        movlw    'D'           
        call    LCD_CARACTER       
        movlw    0C0
        call    LCD_COMANDO
        movlw    ' '
        call    LCD_CARACTER       
        movlw    ' '
        call    LCD_CARACTER
        movlw    ' '
        call    LCD_CARACTER
        movlw    '1'
        call    LCD_CARACTER
        movlw    '3'
        call    LCD_CARACTER
        movlw    ' '
        call    LCD_CARACTER
        movlw    'K'
        call    LCD_CARACTER
        movlw    'M'
        call    LCD_CARACTER
        movlw    '/'
        call    LCD_CARACTER
        movlw    'H'
        call    LCD_CARACTER
        movlw    'r'
        call    LCD_CARACTER
        GOTO ATRAS
       
SIGUE4      NOP
            BCF     STATUS,Z
            BSF      ADCON0,GO           ;COMIENZA LA CONVERSION
         CALL   PAUSA
         BCF    STATUS,Z   
         MOVF   DATO,W
         BCF    STATUS,Z
            SUBLW   D'127'            ;RESTARLE 127 A DATO
            BTFSS   STATUS,Z
            GOTO   SIGUE5
           
                 movlw    80
        call    LCD_COMANDO
         movlw    ' '
        call    LCD_CARACTER       
        movlw    ' '           
        call    LCD_CARACTER       
        movlw    ' '                         
        call    LCD_CARACTER       
        movlw    'V'                     
        calL    LCD_CARACTER
        movlw    'E'                     
        calL    LCD_CARACTER               
        movlw    'L'
        call    LCD_CARACTER       
        movlw    'O'           
        call    LCD_CARACTER       
        movlw    'C'                         
        call    LCD_CARACTER       
        movlw    'I'                     
        calL    LCD_CARACTER       
        movlw    'D'           
        call    LCD_CARACTER
        movlw    'A'           
        call    LCD_CARACTER
        movlw    'D'           
        call    LCD_CARACTER       
        movlw    0C0
        call    LCD_COMANDO
        movlw    ' '
        call    LCD_CARACTER       
        movlw    ' '
        call    LCD_CARACTER
        movlw    ' '
        call    LCD_CARACTER
        movlw    '1'
        call    LCD_CARACTER
        movlw    '6'
        call    LCD_CARACTER
        movlw    ' '
        call    LCD_CARACTER
        movlw    'K'
        call    LCD_CARACTER
        movlw    'M'
        call    LCD_CARACTER
        movlw    '/'
        call    LCD_CARACTER
        movlw    'H'
        call    LCD_CARACTER
        movlw    'r'
        call    LCD_CARACTER
        GOTO ATRAS   
       
 SIGUE5      NOP
            BCF     STATUS,Z
            BSF      ADCON0,GO           ;COMIENZA LA CONVERSION
         CALL   PAUSA
         BCF    STATUS,Z   
         MOVF   DATO,W
         BCF    STATUS,Z
            SUBLW   D'149'            ;RESTARLE 149 A DATO
            BTFSS   STATUS,Z
            GOTO   SIGUE6
           
                  movlw    80
        call    LCD_COMANDO
         movlw    ' '
        call    LCD_CARACTER       
        movlw    ' '           
        call    LCD_CARACTER       
        movlw    ' '                         
        call    LCD_CARACTER       
        movlw    'V'                     
        calL    LCD_CARACTER
        movlw    'E'                     
        calL    LCD_CARACTER               
        movlw    'L'
        call    LCD_CARACTER       
        movlw    'O'           
        call    LCD_CARACTER       
        movlw    'C'                         
        call    LCD_CARACTER       
        movlw    'I'                     
        calL    LCD_CARACTER       
        movlw    'D'           
        call    LCD_CARACTER
        movlw    'A'           
        call    LCD_CARACTER
        movlw    'D'           
        call    LCD_CARACTER       
        movlw    0C0
        call    LCD_COMANDO
        movlw    ' '
        call    LCD_CARACTER       
        movlw    ' '
        call    LCD_CARACTER
        movlw    ' '
        call    LCD_CARACTER
        movlw    '1'
        call    LCD_CARACTER
        movlw    '9'
        call    LCD_CARACTER
        movlw    ' '
        call    LCD_CARACTER
        movlw    'K'
        call    LCD_CARACTER
        movlw    'M'
        call    LCD_CARACTER
        movlw    '/'
        call    LCD_CARACTER
        movlw    'H'
        call    LCD_CARACTER
        movlw    'r'
        call    LCD_CARACTER 
        GOTO ATRAS 

SIGUE6      NOP
            BCF     STATUS,Z
            BSF      ADCON0,GO           ;COMIENZA LA CONVERSION
         CALL   PAUSA
         BCF    STATUS,Z   
         MOVF   DATO,W
         BCF    STATUS,Z
            SUBLW   D'170'            ;RESTARLE 170 A DATO
            BTFSS   STATUS,Z
            GOTO   SIGUE7
           
                  movlw    80
        call    LCD_COMANDO
         movlw    ' '
        call    LCD_CARACTER       
        movlw    ' '           
        call    LCD_CARACTER       
        movlw    ' '                         
        call    LCD_CARACTER       
        movlw    'V'                     
        calL    LCD_CARACTER
        movlw    'E'                     
        calL    LCD_CARACTER               
        movlw    'L'
        call    LCD_CARACTER       
        movlw    'O'           
        call    LCD_CARACTER       
        movlw    'C'                         
        call    LCD_CARACTER       
        movlw    'I'                     
        calL    LCD_CARACTER       
        movlw    'D'           
        call    LCD_CARACTER
        movlw    'A'           
        call    LCD_CARACTER
        movlw    'D'           
        call    LCD_CARACTER       
        movlw    0C0
        call    LCD_COMANDO
        movlw    ' '
        call    LCD_CARACTER       
        movlw    ' '
        call    LCD_CARACTER
        movlw    ' '
        call    LCD_CARACTER
        movlw    '2'
        call    LCD_CARACTER
        movlw    '1'
        call    LCD_CARACTER
        movlw    ' '
        call    LCD_CARACTER
        movlw    'K'
        call    LCD_CARACTER
        movlw    'M'
        call    LCD_CARACTER
        movlw    '/'
        call    LCD_CARACTER
        movlw    'H'
        call    LCD_CARACTER
        movlw    'r'
        call    LCD_CARACTER
        GOTO ATRAS
       
SIGUE7      NOP
            BCF     STATUS,Z
            BSF      ADCON0,GO           ;COMIENZA LA CONVERSION
         CALL   PAUSA
         BCF    STATUS,Z   
         MOVF   DATO,W
         BCF    STATUS,Z
            SUBLW   D'191'            ;RESTARLE 191 A DATO
            BTFSS   STATUS,Z
            GOTO   SIGUE8
           
                 movlw    80
        call    LCD_COMANDO
         movlw    ' '
        call    LCD_CARACTER       
        movlw    ' '           
        call    LCD_CARACTER       
        movlw    ' '                         
        call    LCD_CARACTER       
        movlw    'V'                     
        calL    LCD_CARACTER
        movlw    'E'                     
        calL    LCD_CARACTER               
        movlw    'L'
        call    LCD_CARACTER       
        movlw    'O'           
        call    LCD_CARACTER       
        movlw    'C'                         
        call    LCD_CARACTER       
        movlw    'I'                     
        calL    LCD_CARACTER       
        movlw    'D'           
        call    LCD_CARACTER
        movlw    'A'           
        call    LCD_CARACTER
        movlw    'D'           
        call    LCD_CARACTER       
        movlw    0C0
        call    LCD_COMANDO
        movlw    ' '
        call    LCD_CARACTER       
        movlw    ' '
        call    LCD_CARACTER
        movlw    ' '
        call    LCD_CARACTER
        movlw    '2'
        call    LCD_CARACTER
        movlw    '4'
        call    LCD_CARACTER
        movlw    ' '
        call    LCD_CARACTER
        movlw    'K'
        call    LCD_CARACTER
        movlw    'M'
        call    LCD_CARACTER
        movlw    '/'
        call    LCD_CARACTER
        movlw    'H'
        call    LCD_CARACTER
        movlw    'r'
        call    LCD_CARACTER   
        GOTO ATRAS
       
SIGUE8      NOP
            BCF     STATUS,Z
            BSF      ADCON0,GO           ;COMIENZA LA CONVERSION
         CALL   PAUSA
         BCF    STATUS,Z   
         MOVF   DATO,W
         BCF    STATUS,Z
            SUBLW   D'213'            ;RESTARLE 212 A DATO
            BTFSS   STATUS,Z
            GOTO   SIGUE9
           
                 movlw    80
        call    LCD_COMANDO
         movlw    ' '
        call    LCD_CARACTER       
        movlw    ' '           
        call    LCD_CARACTER       
        movlw    ' '                         
        call    LCD_CARACTER       
        movlw    'V'                     
        calL    LCD_CARACTER
        movlw    'E'                     
        calL    LCD_CARACTER               
        movlw    'L'
        call    LCD_CARACTER       
        movlw    'O'           
        call    LCD_CARACTER       
        movlw    'C'                         
        call    LCD_CARACTER       
        movlw    'I'                     
        calL    LCD_CARACTER       
        movlw    'D'           
        call    LCD_CARACTER
        movlw    'A'           
        call    LCD_CARACTER
        movlw    'D'           
        call    LCD_CARACTER       
        movlw    0C0
        call    LCD_COMANDO
        movlw    ' '
        call    LCD_CARACTER       
        movlw    ' '
        call    LCD_CARACTER
        movlw    ' '
        call    LCD_CARACTER
        movlw    '2'
        call    LCD_CARACTER
        movlw    '7'
        call    LCD_CARACTER
        movlw    ' '
        call    LCD_CARACTER
        movlw    'K'
        call    LCD_CARACTER
        movlw    'M'
        call    LCD_CARACTER
        movlw    '/'
        call    LCD_CARACTER
        movlw    'H'
        call    LCD_CARACTER
        movlw    'r'
        call    LCD_CARACTER 
        GOTO ATRAS
       
SIGUE9      NOP
            BCF     STATUS,Z
            BSF      ADCON0,GO           ;COMIENZA LA CONVERSION
         CALL   PAUSA
         BCF    STATUS,Z   
         MOVF   DATO,W
         BCF    STATUS,Z
            SUBLW   D'234'            ;RESTARLE 233 A DATO
            BTFSS   STATUS,Z
            GOTO   SIGUE10
           
                  movlw    80
        call    LCD_COMANDO
         movlw    ' '
        call    LCD_CARACTER       
        movlw    ' '           
        call    LCD_CARACTER       
        movlw    ' '                         
        call    LCD_CARACTER       
        movlw    'V'                     
        calL    LCD_CARACTER
    &

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1093
Re: HOLA a todos
« Respuesta #1 en: 21 de Julio de 2015, 20:57:59 »
Hola FCR15, quizas si pones tu consulta en el subforo de assembler y con un titulo mas aclaratorio te puedan ayudar los colegas que trabajan dicho lenguaje. Yo no te puedo ayudar.

Saludos.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: HOLA a todos
« Respuesta #2 en: 21 de Julio de 2015, 21:59:24 »
Primero que nada ya lo ira a mover algun administrador al foro de ASM, asi que no crees otro tema mas.

Ahora veamos un poquito del programa

Código: ASM
  1. STATUS           EQU    0X03
  2.         PORTD            EQU    0X08
  3.         PORTB            EQU    0X06
  4.         TRISD            EQU    0X88
  5.         TRISB            EQU    0X86

Esto no es necesario, eso ya esta definido en el P16F877A.INC

Hay muchisimas cosas mas que no entiendo por que la estas haciendo asi. Por lo que veo no te alcanzo el foro para todo el codigo, antes de analizar este codigo y ver que esta causando exactametne ese problema, te sugiero que te crees un nuevo proyecto pero que solo escriba un caracter en el LCD, y ahi vamos a ir probando, por que este codigo tiene MUCHISIMAS cosas redundantes y algunas partes mal realizadas. Tanto que no se ni por donde empezar.

Por eso mismo te sugiero que solomamente crees un proyecto para que escriba o un caracter o una frase en el LCD (sin ADC). Para poder ver si es error de tiempos o los comandos del LCD, etc.
« Última modificación: 21 de Julio de 2015, 22:01:30 por KILLERJC »