• Sábado 21 de Diciembre de 2024, 08:45

Autor Tema:  LCD 320x240 con driver RA8835  (Leído 3701 veces)

isaichaos

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
LCD 320x240 con driver RA8835
« en: Martes 28 de Diciembre de 2010, 20:50 »
0
Hola soy nuevo en el foro y quisiera que alguien me pueda ayudar a programar un LCD de 320x240 pixelesl LCD cuenta con un driver que es el RA8835.

isaichaos

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: LCD 320x240 con driver RA8835
« Respuesta #1 en: Martes 28 de Diciembre de 2010, 20:58 »
0
El programa lo estoy haciendo en ensamblador y esto es lo que he programado del LCD basandome en el data sheet del ra8835 el cual no lo puedo poner aqui por que no me lo permiten, pero aqui dejo el programa.

__CONFIG _WDT_OFF&_PWRTE_ON&_XT_OSC&_LVP_OFF&_CP_OFF
;JUNXLAN_HUANG LCD MODULE JM320240E-5
LIST p=16F877A
INCLUDE <P16F877A.INC>

#DEFINE     PAGE0   BCF H'03',5;STATUS bit 5
#DEFINE     PAGE1   BSF H'03',5;STATUS bit 5
             
INTCON     EQU H'0B'       ;page 0, 1,   2, 3             
TEMPA     EQU H'25'       ; temporal store
CLKCNT     EQU H'26'       ; counter for PAUSE val
           
cont1    EQU 0x44
cont2    EQU 0x45

   ORG 0X20

     BCF STATUS,RP0    ; ACCESO AL BANCO 0 PARA LIMPIAR INFORMACION DE PUERTOS  
     BCF STATUS,RP1    
     CLRF PORTA       
     CLRF PORTB
     MOVLW B'00001111'
     MOVWF PORTC
     CLRF PORTD
     CLRF PORTE
     PAGE1             ; ACCESO AL BANCO 1 PARA CONFIGURACION     
     MOVLW B'00001000'
     MOVWF TRISA
     MOVLW B'11110000' ;CD /CE /RD /WR COMO PUERTO DE COMANDOS SALIDA DE DATOS  
     MOVWF TRISC
       MOVLW B'00000000' ;PUERTO D COMO BUS DE SALIDA DE DATOS
     MOVWF TRISD
     PAGE0           ;BANCO 0  PARA MANIPULACION DE PUERTOS

PANTALLA1
   CALL SETUP
   CALL RETARDO
    CALL ESCRIBIR_PANTALLA

   MOVLW 0X20   ; ' '   
   CALL ENVIAR_DP
   MOVLW 0X52   ; 'R'
   CALL ENVIAR_DP
   MOVLW 0X41   ; 'A'
   CALL ENVIAR_DP
   MOVLW 0X49   ; 'I'
   CALL ENVIAR_DP
   MOVLW 0X4F   ; 'O'
   CALL ENVIAR_DP

GOTO PANTALLA1


;******************************escribir en la pantalla de memoria********

ESCRIBIR_PANTALLA      ;PUEDEN ESCRIBIRSE HASTA 16 PARAMETROS

   MOVLW 0X42
   CALL ENVIAR_COMANDO

RETURN

;******************conjunto de la dirección del movimiento del cursor************************

CURSOR_AUTOMATICO   

   MOVLW 0X4C      ; MUEVE CURSOR HACIA LA IZQUIERDA AUTOMATICAMENTE   
   CALL ENVIAR_COMANDO
                ; 0X4C MOVER CURSOR A LA DERECHA
               ; 0X4E MOVER CURSOR HACIA ARRIBA
RETURN            ; 0X4F MOVER CURSOR HACIA ABAJO

;***********habilitar y deshabilitar la visualización y la pantalla parpadea*****************

PANTALLA_ON

   MOVLW 0X59      ;PANTALLA ENCENDIDA
   CALL ENVIAR_COMANDO

RETURN

;***************************establecer el tipo de cursor*************************************

TIPO_DE_CURSOR

   MOVLW 0X5D      ;ESTABLECE TIPO DE CURSOR
   CALL ENVIAR_COMANDO

   MOVLW 0X04      ;TAMAÑO DE CURSOR EN X 5 PIXELES
   CALL ENVIAR_DP
   MOVLW 0X86       ;TAMAÑO DE CURSOR EN Y 7 PIXELES
   CALL ENVIAR_DP   ;CURSOR BLOQUEADO

RETURN

;******************************establecer la dirección del cursor*******************************

DIRECCION_CURSOR

   MOVLW 0X46
   CALL ENVIAR_COMANDO

   MOVLW 0X00       ; ESCRIBIR DIRECCION DE MEMORIA DE DISPLAY EN 0X00
   CALL ENVIAR_DP
   
   MOVLW 0X00       ;PARAMETRO 2
   CALL ENVIAR_DP

RETURN

PANTALLA_OFF

   MOVLW 0X58        ;PANTALLA APAGADA
   CALL ENVIAR_COMANDO

   MOVLW 0X56         ;BLOQUE PANTALLA 1 2Hz, BLOEQUE PANTALLA 2 ON
   CALL ENVIAR_DP     ;BLOQUE PANTALLA 3 ON


RETURN

;********************Establezca el formato de visualización de superposición********************

FORMATO_VISUALIZACION

   MOVLW 0X5B
   CALL ENVIAR_COMANDO

   MOVLW 0X01       ; VISUALIZACION TIPO TEXTO  TRES CAPAS DE COMPOSICION
   CALL ENVIAR_DP   


RETURN

;******************conjunto de desplazamiento horizontal***************************************

DESPLAZAMIENTO_HORIZONTAL

   MOVLW 0X5A
   CALL ENVIAR_COMANDO

   MOVLW 0X00         ;PARAMETRO 1
   CALL ENVIAR_DP     ;VARIACION HORIZONTAL DE 0

RETURN

;************conjunto de visualización regiones dirección de inicio y la pantalla*********

VISUALIZAR_INICIO_PANTALLA

   MOVLW 0X44      ;VISUALIZACION DE LA DIRECCION DE INICIO DE PANTALLA
   CALL ENVIAR_COMANDO
   
   MOVLW 0X00 ; PARAMETRO 1
   CALL ENVIAR_DP      ;DIRECCION DE INICIO DE LA PRIMERA PANTALLA        
   
   MOVLW 0X00 ; PARAMETRO 2
   CALL ENVIAR_DP      ;COLOCAR EN 0000H  
   
   MOVLW 0XF0 ; PARAMETRO 3
   CALL ENVIAR_DP      ;240 LINEAS EN EL PRIMER BLOQUE
   
   MOVLW 0X80 ; PARAMETRO 4
   CALL ENVIAR_DP      ;DIRECCION DE INICIO DE LA SEGUNDA PANTALLA
   
   MOVLW 0X25 ; PARAMETRO 5
   CALL ENVIAR_DP      ;COLOCAR EN 1000H
   
   MOVLW 0XF0 ; PARAMETRO 6
   CALL ENVIAR_DP      ;240 LINEAS EN LA SEGUNDA PANTALLA
   
   MOVLW 0X00 ; PARAMETRO 7
   CALL ENVIAR_DP      ;DIRECCION DE INICIO DE LA TERCERA PANTALLA
   
   MOVLW 0X4B ; PARAMETRO 8
   CALL ENVIAR_DP      ;COLOCAR 4B00H
   
   MOVLW 0X00 ; PARAMETRO 9
   CALL ENVIAR_DP      ;DIRECCION DE INICIO DE LA CUARTA PANTALLA
   
   MOVLW 0X00 ; PARAMETRO 10
   CALL ENVIAR_DP      ;COLOCAR 0000H
      
RETURN


INICIALIZA_LCD   
   
   MOVLW 0X40         ;CARGAMOS CON 40 AL PUERTO D PARA INICIALIZAR LCD
   CALL ENVIAR_COMANDO
   
   MOVLW 0X30 ;PARAMETRO 1,(0 0 IV 1 W/S M2 M1 M0) CG ROM INTERNA, CG RAM 32 CARACTERES MAXIMO, CONTROLADOR PARA DOBLE PANEL
   CALL ENVIAR_DP       ;SALA SUPERIOR EN LÍNEA DE CORRECCIÓN, UN PANEL,CARACTER DE 8 PIXELES
                 ;D6 CORRECCION, CG ROM INTERNA
   MOVLW 0X87 ; PARAMETRO 2
   CALL ENVIAR_DP        ;FX 8 PIXELES DOBLE PANEL
                 
   MOVLW 0X07 ; PARAMETRO 3
   CALL ENVIAR_DP        ;FY 16 PIXELES
   
   MOVLW 0X27 ; PARAMETRO 4
   CALL ENVIAR_DP        ;39  CARACTERES POR LINEA 312 PIXELES TOTALES
   
   MOVLW 0X2F  ;PARAMETRO 5
   CALL ENVIAR_DP        ;47 DIRECCIONES POR LINEA
   
   MOVLW 0XEF ;PARAMETRO 6
   CALL ENVIAR_DP        ;239 LINEAS
   
   MOVLW 0X28 ;PARAMETRO 7
   CALL ENVIAR_DP        ;TAMAÑO HORIZONTAL DE 40 DIRECCIONES
   
   MOVLW 0X00 ;PARAMETRO 8
   CALL ENVIAR_DP

RETURN


ENVIAR_DP

   MOVWF TEMPA        ;MUEVE LA PALABRA DE COMANDO A TEMPA
   CALL CHECK3     ;ESPERA PARA VER SI EL COMANDO SER PROCESADO
   MOVF TEMPA,W     ;MUEVE TEMPA A W
   MOVWF PORTD        ;SALIDA DE DATOS AL PUERTO D
   NOP
   MOVLW B'00000010'  ;SE CONFIGURA PARA PODER ENVIAR PARAMETROS DE CONFIGURACION
   MOVWF PORTC        ;ENVIO DE DATOS
   NOP
   MOVLW B'00001111'
   MOVWF PORTC   

RETURN

ENVIAR_COMANDO

   MOVWF TEMPA        ;MUEVE LA PALABRA DE COMANDO A TEMPA
   CALL CHECK3     ;ESPERA PARA VER SI EL COMANDO SER PROCESADO
   MOVF TEMPA,W     ;MUEVE TEMPA A W
   MOVWF PORTD        ;SALIDA DE DATOS AL PUERTO D
   NOP
   MOVLW B'00001010' ;CD H /CE L /RD H /WR L SE ACTIVA MODO COMANDO
   MOVWF PORTC
   NOP
   MOVLW B'00001111'
   MOVWF PORTC   

RETURN


CHECK3     PAGE1         ; CONFIGURACION DEL PUERTO D PARA RECIBIR DATOS
     MOVLW   B'11111111'   ;
     MOVWF   TRISD       ; TODOS LOS PINES DEL PUERTO D COMO ENTRADA DE DATOS
     PAGE0             ; BANCO 0 PARA MANIPULACION DE PUERTOS
     MOVLW   B'00000001' ; 0 0 0 1   ACTIVA LECTURA DE DE BANDERA
     MOVWF   PORTC       ; WR ALTO
     NOP
     MOVLW B'00001111'
     MOVWF PORTC          
     CK3 BTFSS   PORTD,6   ; EL BIT 6 DEL PUERTO D TIENE 1?
     GOTO CK3          ; no
     PAGE1             ; BANCO 1 CONFIGURACION DE PUERTOS
     CLRF TRISD       ; SE CONFIGURA EL PUERTO D COMO SALIDA DE DATOS
     PAGE0             ; BANCO 0 PARA MANIPULACION DE PUERTOS
     RETURN



RETARDO MOVLW    0XF0
      MOVWF    cont1
Rep1   MOVLW    0XF0
      MOVWF    cont2
Rep2   DECFSZ    cont2,1
      GOTO    Rep2
      DECFSZ    cont1,1
      GOTO    Rep1
RETURN

SETUP

   MOVLW B'00001111'
   MOVWF PORTC
   CALL INICIALIZA_LCD            ;SISTEM SET
   CALL VISUALIZAR_INICIO_PANTALLA   ;SCROLL
   CALL DESPLAZAMIENTO_HORIZONTAL   ;HDOT SCR
   CALL FORMATO_VISUALIZACION      ;OVLAY
   CALL PANTALLA_OFF            ;DISPLAY OFF

   CALL DIRECCION_CURSOR         ;CSRW
   CALL TIPO_DE_CURSOR            ;CSRFORM
   CALL PANTALLA_ON            ;DISPLAY ON
   CALL CURSOR_AUTOMATICO         ;CSR DIR

RETURN

END

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: LCD 320x240 con driver RA8835
« Respuesta #2 en: Viernes 31 de Diciembre de 2010, 01:43 »
0
Bueno, amigo, pero sigues sin contarnos qué problema tienes con tu programa  :P

isaichaos

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: LCD 320x240 con driver RA8835
« Respuesta #3 en: Viernes 31 de Diciembre de 2010, 06:50 »
0
A bueno el problema es que no se bien como se debe de hacer la correcta inicializacion de un LCD grafico y como no he tenido nada de experiencia con esos, el problema es que cuando conecto mi LCD a mi pic "16F877A" el LCD no muestra los caracteres que le escribo y no se si alguien de aqui tenga experiencia con este tipo de LCD para que me pueda dar algun tip para poder modificar mi programacion.