TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: PabloFiscella en 10 de Diciembre de 2003, 12:50:00

Título: Conexionado del hd44780a00
Publicado por: PabloFiscella 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");
   }
}
Título: RE: Conexionado del hd44780a00
Publicado por: pocher 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
Título: RE: Conexionado del hd44780a00
Publicado por: PabloFiscella 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
Título: RE: Conexionado del hd44780a00
Publicado por: pocher 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.
Título: RE: Conexionado del hd44780a00
Publicado por: pikman 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