Autor Tema: Conexionado del hd44780a00  (Leído 2585 veces)

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

Desconectado PabloFiscella

  • PIC16
  • ***
  • Mensajes: 154
Conexionado del hd44780a00
« en: 10 de Diciembre de 2003, 12:50:00 »
Hola a todos:

Tengo un LCD hd44780a00 y no encuentro el datasheet.
Por lo que estuve viendo supestamente las 14 patas se conectan de la sig. forma a un 16f874
LCD  PIC

14     0  Puerto B
13     1
7       8
6       4   Puerto A
5       3
4       2
2 Positivo
1 Masa

Segun el sig codigo que saque del foro. (Esto es correcto?)
Por lo menos deberia parmadear al iniciar el display, no??

Espero alguien pueda ayudarme.
Como siempre saludos y gracias.
Pablo

/*-------------------------------------------*
 |  LCD2.C                                   |
 |  Autor: Pedro M. Jimenez                  |
 |  (c) Microsystems Engineering (Bilbao)    |
*-------------------------------------------*/

// Funciones para la gestion del display LCD de la MicroPIC Trainer.

//  lcd_init()   Debe ser llamada antes que las otras funciones.
//
//  lcd_putc(c)  Visualiza c en la siguiente posición del display.
//               Caracteres especiales de control:
//                      f  Borrar display
//                      
  Saltar a la segunda linea
//                        Retroceder una posición.
//
//  lcd_gotoxy(x,y) Selecciona la nueva posicion de escritura en el display.
//                  (la esquina superior izquierda es 1,1)
//
//  lcd_getc(x,y)   Devuelve el caracter de la posicion x,y del display.

#include <16f874.h>
#use delay (clock=4000000)

#bit  lcd_enable = 5.2
#bit  lcd_rw     = 5.1
#bit  lcd_rs     = 5.0
#byte lcd_a = 5
#byte lcd_b = 6

#define LCD_LINEA2 0x40    // Direccion de memoria para la segunda linea
#define LCD_DATO    1
#define LCD_COMANDO 0

#define LCD_CLEAR        0x01
#define LCD_HOME    0x02

#define LCD_DISPLAY_OFF  0x08
#define LCD_DISPLAY_ON   0x0C
#define LCD_CURSOR_ON    0x0E
#define LCD_CURSOR_BLINK 0x0F

#define LCD_CURSOR_SHIFT_RIGHT  0x10
#define LCD_CURSOR_SHIFT_LEFT   0x14
#define LCD_DISPLAY_SHIFT_RIGHT 0x18
#define LCD_DISPLAY_SHIFT_LEFT  0x1C

void lcd_enviar(int dir, int valor)
{
  set_tris_a(0x00);
  set_tris_b(0x00);

  lcd_rs = 0;
  while( bit_test(lcd_leer(),7) );
  lcd_rs = dir;
  delay_cycles(1);

  lcd_rw = 0;
  delay_cycles(1);
  lcd_enable = 0;
  lcd_b = valor;
  delay_cycles(1);
  lcd_enable = 1;
  delay_us(2);
  lcd_enable = 0;
  delay_us(40);
}


void lcd_init()
{
  int i;

  set_tris_a(0x18);
  set_tris_b(0x00);

  lcd_enable = 0;
  lcd_rw = 0;
  lcd_rs = 0;
  delay_ms(15);

  for(i=0; i<3; i++)
  {
    lcd_enviar(LCD_COMANDO,0x38);
    delay_ms(5);
  }
  lcd_enviar(LCD_COMANDO,LCD_DISPLAY_ON);
  lcd_enviar(LCD_COMANDO,0x06);
  lcd_enviar(LCD_COMANDO,LCD_CLEAR);
  lcd_enviar(LCD_COMANDO,LCD_HOME);
}

void lcd_putc( char c) {
   switch (c) {
     case "f"   : lcd_enviar(LCD_COMANDO,0x01);
                   delay_ms(2);
                   break;
     case "
"   : lcd_gotoxy(1,2);               break;
     case ""   : lcd_enviar(LCD_COMANDO,0x10);  break;
     default     : lcd_enviar(LCD_DATO,c);        break;
   }
}


void main(void) {
   lcd_init();
   for(;{
   lcd_putc("A");
   }
}

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2568
RE: Conexionado del hd44780a00
« Respuesta #1 en: 10 de Diciembre de 2003, 23:09:00 »
En el subforo, ejemplos para simular tienes tres ejemplos sencillos para LCD:

- Control de LCD en C con 8 bits
- Control de LCD en C con 4 bits
- Control de LCD en ensamblador con 8 bits

Pruébalos y ya dirás.

Un saludo

Desconectado PabloFiscella

  • PIC16
  • ***
  • Mensajes: 154
RE: Conexionado del hd44780a00
« Respuesta #2 en: 12 de Diciembre de 2003, 08:34:00 »
Hola Pocher:

En que subforo?
El ejemplo que esta en el msg. anterior esta sacador de PicBasic creo. Pero el problema es que no se si esta bien el conexionado.

Saludos.
Pablo

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2568
RE: Conexionado del hd44780a00
« Respuesta #3 en: 12 de Diciembre de 2003, 09:55:00 »
El subforo es el de:  Simuladores - Ejemplos para simular

Está en la página principal del FORO.

En esos ejemplos tienes el código, el dibujo con el conexionado y la correspondiente simulación en PROTEUS.

Los ejemplos estan comprobados también físicamente.

Pruébalo y ya dirás.

Desconectado pikman

  • Moderador Local
  • PIC24F
  • *****
  • Mensajes: 678
RE: Conexionado del hd44780a00
« Respuesta #4 en: 12 de Diciembre de 2003, 18:38:00 »
Dejo el datasheet del HD44780 en el almacen de archivos,



http://miarroba.com/foros/ver.php?foroid=132071&temaid=1307783

saludos

Ariel/PIkman
saludos
PikMan


 

anything