SlideShare a Scribd company logo
1 of 2
Download to read offline
#define lcd_seg_lin 0x40 // Endereço da segunda linha na RAM do LCD
void lcd_envia_nibble( char dado )
{
if(dado&0x01)lcd_d4=liga;
else lcd_d4=desliga;
if(dado&0x02)lcd_d5=liga;
else lcd_d5=desliga;
if(dado&0x04)lcd_d6=liga;
else lcd_d6=desliga;
if(dado&0x08)lcd_d7=liga;
else lcd_d7=desliga;
delay_10us(10);//delay_us(20);//5=100us delay_80us();//80us
lcd_en=liga;
delay_10us(10);//delay_us(20);//5=100us delay_80us();//80us
lcd_en=desliga;
}
////////////////////////////////////////////////////////////////////////////
void lcd_envia_byte( char endereco, char dado )
{
lcd_rs=desliga;
delay_10us(10);//delay_us(25);//5=100us delay_100us();
if(endereco)lcd_rs=liga;
else lcd_rs=desliga;
delay_10us(10);//delay_us(25);//5=100us delay_100us();
lcd_en=desliga;
lcd_envia_nibble(dado >> 4);
lcd_envia_nibble(dado & 0x0f);
}
////////////////////////////////////////////////////////////////////////////
void lcd_ini()
{
char conta;
/*
lcd_d0=desliga;
lcd_d1=desliga;
lcd_d2=desliga;
// lcd_d3=desliga;
*/
lcd_d4=desliga;
lcd_d5=desliga;
lcd_d6=desliga;
lcd_d7=desliga;
lcd_rs=desliga;
// lcd_rw=desliga;
lcd_en=desliga;
delay_ms(15);//75=15ms delay_15ms();
for(conta=1;conta<=3;++conta)
{
lcd_envia_nibble(0x03);
delay_ms(5);//25=5ms//delay=5ms
}
lcd_envia_nibble(0x02);
lcd_envia_byte(0,0x28);
lcd_envia_byte(0,0b00001100);
lcd_envia_byte(0,1);
lcd_envia_byte(0,6);
delay_ms(2);//10=2ms delay_2ms();
}
////////////////////////////////////////////////////////////////////////////
void lcd_pos_xy( char x, char y)
{
char endereco;
if(y!=1)
endereco = lcd_seg_lin;
else
endereco = 0;
endereco += x-1;
lcd_envia_byte(0,0x80|endereco);
}
////////////////////////////////////////////////////////////////////////////
void lcd_escreve( char c)
{
switch (c)
{
case 'f' : lcd_envia_byte(0,1);
delay_ms(2);//10=2ms delay_2ms();
break;
case 'n' :
case 'r' : lcd_pos_xy(1,2);
break;
case 'b' : lcd_envia_byte(0,0x10);
break;
default : lcd_envia_byte(1,c);
break;
}
}
////////////////////////////////////////////////////////////////////////////
void lcd_escreve_duas_linhas()
{
lcd_escreve('f');
for(conta=0;conta<16;conta++)lcd_escreve(stri1[conta]);
lcd_escreve('n');
for(conta=0;conta<16;conta++)lcd_escreve(stri2[conta]);
}
////////////////////////////////////////////////////////////////////////////
void lcd_escreve_uma_linha()
{
lcd_escreve('f');
for(conta=0;conta<16;conta++)lcd_escreve(stri1[conta]);
}
Observação: Autoria Engenheiro Rodrigo Lacerda Taschetto.

More Related Content

Viewers also liked

What are the new challenges of marketing? Hec jan 2013
What are the new challenges of marketing? Hec jan 2013What are the new challenges of marketing? Hec jan 2013
What are the new challenges of marketing? Hec jan 2013Pascale Dubouis Patat
 
VR White Paper email version
VR White Paper email versionVR White Paper email version
VR White Paper email versionLiz Humphries
 
b36843f0-3c09-452e-8d5f-8603ed6944fd
b36843f0-3c09-452e-8d5f-8603ed6944fdb36843f0-3c09-452e-8d5f-8603ed6944fd
b36843f0-3c09-452e-8d5f-8603ed6944fdGiovani Herom Santos
 

Viewers also liked (6)

NEW RESUME 2016
NEW RESUME 2016NEW RESUME 2016
NEW RESUME 2016
 
What are the new challenges of marketing? Hec jan 2013
What are the new challenges of marketing? Hec jan 2013What are the new challenges of marketing? Hec jan 2013
What are the new challenges of marketing? Hec jan 2013
 
VR White Paper email version
VR White Paper email versionVR White Paper email version
VR White Paper email version
 
b36843f0-3c09-452e-8d5f-8603ed6944fd
b36843f0-3c09-452e-8d5f-8603ed6944fdb36843f0-3c09-452e-8d5f-8603ed6944fd
b36843f0-3c09-452e-8d5f-8603ed6944fd
 
Snow white
Snow whiteSnow white
Snow white
 
La chaux de-fonds
La chaux de-fondsLa chaux de-fonds
La chaux de-fonds
 

More from Simuladorgeradoreolico (20)

Programa Simulador de Gerador Eólico
Programa Simulador de Gerador EólicoPrograma Simulador de Gerador Eólico
Programa Simulador de Gerador Eólico
 
Programa Simulador de Gerador Eólico
Programa Simulador de Gerador EólicoPrograma Simulador de Gerador Eólico
Programa Simulador de Gerador Eólico
 
Biblioteca Pinagem
Biblioteca PinagemBiblioteca Pinagem
Biblioteca Pinagem
 
Biblioteca PIC18F452
Biblioteca PIC18F452Biblioteca PIC18F452
Biblioteca PIC18F452
 
Bibliotecas Complementares
Bibliotecas ComplementaresBibliotecas Complementares
Bibliotecas Complementares
 
Biblioteca Atraso
Biblioteca AtrasoBiblioteca Atraso
Biblioteca Atraso
 
Grupo 1 - Velocidades
Grupo 1 - VelocidadesGrupo 1 - Velocidades
Grupo 1 - Velocidades
 
Grupo 2 - Velocidades
Grupo 2 - VelocidadesGrupo 2 - Velocidades
Grupo 2 - Velocidades
 
Grupo 3 - Velocidades
Grupo 3 - VelocidadesGrupo 3 - Velocidades
Grupo 3 - Velocidades
 
Grupo 4 - Velocidades
Grupo 4 - VelocidadesGrupo 4 - Velocidades
Grupo 4 - Velocidades
 
Programa simulador de gerador eólico
Programa simulador de gerador eólicoPrograma simulador de gerador eólico
Programa simulador de gerador eólico
 
Bibliotecas complementares
Bibliotecas complementaresBibliotecas complementares
Bibliotecas complementares
 
PIC18F452
PIC18F452PIC18F452
PIC18F452
 
LCD
LCDLCD
LCD
 
Pinagem
PinagemPinagem
Pinagem
 
Atraso
AtrasoAtraso
Atraso
 
ANEXO A - Grupo 4
ANEXO A - Grupo 4ANEXO A - Grupo 4
ANEXO A - Grupo 4
 
ANEXO A - Grupo 3
ANEXO A - Grupo 3ANEXO A - Grupo 3
ANEXO A - Grupo 3
 
ANEXO A - Grupo 1
ANEXO A - Grupo 1ANEXO A - Grupo 1
ANEXO A - Grupo 1
 
ANEXO A - Grupo 2
ANEXO A - Grupo 2ANEXO A - Grupo 2
ANEXO A - Grupo 2
 

Biblioteca LCD

  • 1. #define lcd_seg_lin 0x40 // Endereço da segunda linha na RAM do LCD void lcd_envia_nibble( char dado ) { if(dado&0x01)lcd_d4=liga; else lcd_d4=desliga; if(dado&0x02)lcd_d5=liga; else lcd_d5=desliga; if(dado&0x04)lcd_d6=liga; else lcd_d6=desliga; if(dado&0x08)lcd_d7=liga; else lcd_d7=desliga; delay_10us(10);//delay_us(20);//5=100us delay_80us();//80us lcd_en=liga; delay_10us(10);//delay_us(20);//5=100us delay_80us();//80us lcd_en=desliga; } //////////////////////////////////////////////////////////////////////////// void lcd_envia_byte( char endereco, char dado ) { lcd_rs=desliga; delay_10us(10);//delay_us(25);//5=100us delay_100us(); if(endereco)lcd_rs=liga; else lcd_rs=desliga; delay_10us(10);//delay_us(25);//5=100us delay_100us(); lcd_en=desliga; lcd_envia_nibble(dado >> 4); lcd_envia_nibble(dado & 0x0f); } //////////////////////////////////////////////////////////////////////////// void lcd_ini() { char conta; /* lcd_d0=desliga; lcd_d1=desliga; lcd_d2=desliga; // lcd_d3=desliga; */ lcd_d4=desliga; lcd_d5=desliga; lcd_d6=desliga; lcd_d7=desliga; lcd_rs=desliga; // lcd_rw=desliga; lcd_en=desliga; delay_ms(15);//75=15ms delay_15ms(); for(conta=1;conta<=3;++conta) { lcd_envia_nibble(0x03); delay_ms(5);//25=5ms//delay=5ms } lcd_envia_nibble(0x02);
  • 2. lcd_envia_byte(0,0x28); lcd_envia_byte(0,0b00001100); lcd_envia_byte(0,1); lcd_envia_byte(0,6); delay_ms(2);//10=2ms delay_2ms(); } //////////////////////////////////////////////////////////////////////////// void lcd_pos_xy( char x, char y) { char endereco; if(y!=1) endereco = lcd_seg_lin; else endereco = 0; endereco += x-1; lcd_envia_byte(0,0x80|endereco); } //////////////////////////////////////////////////////////////////////////// void lcd_escreve( char c) { switch (c) { case 'f' : lcd_envia_byte(0,1); delay_ms(2);//10=2ms delay_2ms(); break; case 'n' : case 'r' : lcd_pos_xy(1,2); break; case 'b' : lcd_envia_byte(0,0x10); break; default : lcd_envia_byte(1,c); break; } } //////////////////////////////////////////////////////////////////////////// void lcd_escreve_duas_linhas() { lcd_escreve('f'); for(conta=0;conta<16;conta++)lcd_escreve(stri1[conta]); lcd_escreve('n'); for(conta=0;conta<16;conta++)lcd_escreve(stri2[conta]); } //////////////////////////////////////////////////////////////////////////// void lcd_escreve_uma_linha() { lcd_escreve('f'); for(conta=0;conta<16;conta++)lcd_escreve(stri1[conta]); } Observação: Autoria Engenheiro Rodrigo Lacerda Taschetto.