Autor Tema: problema con LCD DMC16204  (Leído 1368 veces)

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

Desconectado diego_castano00

  • PIC10
  • *
  • Mensajes: 30
problema con LCD DMC16204
« en: 30 de Enero de 2006, 17:37:00 »
Hola, estoy relizando un proyecto y tengo el problemita con una lcd  (2X16 con back light) uso para programacion lenguaje assembler (MPLAB 7.21), uso el pic 16F877a-1/p  (:sabes que significa ese 1 en el pic) y  el software es el siguiente (esta al final):

El problema creo yo que no es con el software ya que los tiempos (delays) se ajustan con los exigidos por el fabricante (optrex) y en la simulacion sale realmente bien (PIC SIMULATOR IDE -simulador-) el problema que se presenta es el siguiente

trato de mostrar el siguiente mensaje "MOVIMIENTOPASIVO"
                                                             "     CONTINUO          "

Pero cuando quemo en el pic a veces me sale sombreada toda la primera fila o me sale el mensaje mas o menos de esta forma  "MOVIMIENTOPASIVO"
                                                                        "MXSRCONTINUOTRU"

Se ve como si el mensaje se moviera u oscilara es como un tablero electronico que cambia de mensajes, si me pueden ayudar se los agradezco.

diego_castano00@yahoo.com; como ayuda doy informacion a quien me pueda colabora mas a fondo.

;************** Comandos para manejo del LCD *************
         LIST      P=16F877A
         INCLUDE      <P16F877A.INC>
         
         

STATUS       EQU       0X03          ;Dirección del registro STATUS.
LCD_E       EQU       2             ;Bit del puerto A para control de E.
LCD_RW       EQU       1             ;Bit del puerto A para control de R/W.
LCD_RS       EQU       0             ;Bit del puerto A para control de RS.
RETARDO1    EQU       0X0D          ;Constante del temporizador 1
RETARDO2    EQU       0X00          ;Constante del temporizador 2         
         
         
         
         ORG          0X0C          ;Inicio de los registros de Uso general
CONT1       RES          1          ;Reserva un Byte para la Variable CONT1
CONT2       RES          1          ;Reserva un Byte para la Variable CONT2         
   
   ORG       0X00
   BSF       STATUS,5       ;Cambio al banco 1
   MOVLW      0X06
        MOVWF      ADCON1   
   MOVLW       B"00000000"
   MOVWF       TRISA          ;Configura todo el puerto A como salida.
   MOVLW       B"00000000"
   MOVWF       TRISD          ;;Configura todo el puerto B como salida
   MOVLW       0xC7       ;dato de configuración para el timer0
   MOVWF       OPTION_REG    ;modo temporizador, preescalador 1/256 asignado a timer0
   BCF       STATUS,5       ;Cambio al banco 0
         

INICIO         
   CALL       TEMPO2         
   MOVLW      B"00110000"  
   CALL      LCDI
   MOVLW       B"00111000"
   CALL       LCDI
   MOVLW       B"00001110"
   CALL       LCDI
   MOVLW       B"00000110"
   CALL       LCDI
         
            
   MOVLW       "M"          
   CALL      LCDC          
   .
                .
                .
   CALL      INFINITO
         
INFINITO         
   GOTO      INFINITO

LCDI
   BCF       PORTA,LCD_RW   ;Coloca "0" en el Pin RW.
   BCF       PORTA,LCD_RS   ;Coloca "0" en el Pin RS.
   BSF       PORTA,LCD_E      ;Coloca "1" en el Pin E
   MOVWF       PORTD          ;Coloca el contenido de "W" en el bus de datos del modulo                               ;LCD.
   BCF       PORTA,LCD_E    ;Coloca "0" en el Pin E
   CALL       TEMPO1          ;Llamada de una subrutina de tiempo de 40 micro segundos.
   RETURN                   ;Finaliza la Rutina de tiempo.

LCDC
   BCF         PORTA,LCD_RW   ;Coloca "0" en el Pin RW.
   BSF       PORTA,LCD_RS   ;Coloca "1" en el Pin RS.
   BSF         PORTA,LCD_E    ;Coloca "1" en el Pin E
   MOVWF       PORTD          ;Coloca el contenido de "W" en elbus de datos del modulo LCD.
   BCF       PORTA,LCD_E    ;Coloca "0" en el Pin E
   CALL      TEMPO1         ;Llamada de una subrutina de tiempo de 40 micro segundos.
   RETURN                   ;Finaliza la Rutina de tiempo.


TEMPO1    
   MOVLW       RETARDO1
   MOVWF       CONT1
CICLOT1   
   NOP
   DECFSZ       CONT1,1
   GOTO       CICLOT1
   RETURN
   
TEMPO2
        MOVLW       RETARDO2
   MOVWF       CONT2
CICLOT2
   CALL       TEMPO1
   DECFSZ       CONT2,1
   GOTO       CICLOT2
   RETURN
   END

Desconectado diego_castano00

  • PIC10
  • *
  • Mensajes: 30
RE: problema con LCD DMC16204
« Respuesta #1 en: 27 de Febrero de 2006, 16:12:00 »
Hola veo que no interesa mi tema " tal vez por que no he sido especifico"
la LCD es OPTREX pero trabaja con un controlador hitachi STANDAR (44780a)
me han dicho que psa esto porque no direcciono la DDRAM de la LCD

ahhhh
inicio, LCDI,LCDC son etiquetas
chaoLlorica


 

anything