cgram

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

cgram

Mensagempor rebelk » 17 Nov 2007 15:12

alguem poderia me ajudar a criar 5 caracter de 5/7 na cgram e depois mostrar na tela , o lcd e´ estes comum alfanumerico ( 16/2 ) , pois eu não estou conseguindo , é em c ccs.
rebelk
Byte
 
Mensagens: 301
Registrado em: 15 Nov 2006 20:16

Mensagempor rebelk » 18 Nov 2007 00:06

consegui !!!!!!!!!!!!!!




#include <16f877.h>
//#include <18F452.h>
#use delay(clock=4000000)
#fuses XT,NOWDT,PUT,NOPROTECT


/*
#define lcd_rs pin_b2 // pino rs do LCD
#define lcd_enable pin_b3 // pino rw do LCD
#define lcd_d4 pin_b4 // pino de dados d4 do LCD
#define lcd_d5 pin_b5 // pino de dados d5 do LCD
#define lcd_d6 pin_b6 // pino de dados d6 do LCD
#define lcd_d7 pin_b7 // pino de dados d7 do LCD
#include <mod_lcd.c> */
#define D pin_b5 // pino enable do LCD
#define CK pin_b4 // pino rs do LCD
#define E pin_b3
#include <lcd_8bits.c>


const byte CARACT[48]={
0b00011111,
0b00010000,
0b00010000,
0b00010000,
0b00010000,
0b00010000,
0b00010000,
0b00011111,

0b00011111,
0b00011000,
0b00011000,
0b00011000,
0b00011000,
0b00011000,
0b00011000,
0b00011111,

0b00011111,
0b00011100,
0b00011100,
0b00011100,
0b00011100,
0b00011100,
0b00011100,
0b00011111,

0b00011111,
0b00011110,
0b00011110,
0b00011110,
0b00011110,
0b00011110,
0b00011110,
0b00011111,

0b00011111,
0b00011111,
0b00011111,
0b00011111,
0b00011111,
0b00011111,
0b00011111,
0b00011111,

0b00011111,
0b00000000,
0b00000000, // desenho do retangulo
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00011111,
};




//*********************************************************************
//********************************************************************
CARREGA_CGRAM()
{
int A=0;




lcd_envia_byte( 0, 0X40 ); // 0=INTRUÇÃO , 1 DADO
for( A=0;A<48;A++)
{
lcd_envia_byte( 1, CARACT[A] );
}

lcd_escreve ('\f'); // apaga o display

// lcd_envia_byte( 0, 0X80 ); // 0=INTRUÇÃO , 1 DADO
}


//*********************************************************************
//********************************************************************
MOSTRA_CGRAM()
{
int A=0;
int B=0;

for( A=0;A<10;A++) // escreve o desenho do retangulo
{
lcd_envia_byte( 0, 0X80+A ); // 0=INTRUÇÃO
lcd_envia_byte( 1, 5);
delay_ms(25);

}
lcd_pos_xy( 11, 1);
lcd_escreve("%");

for( B=0;B<10;B++)
{
for( A=0;A<5;A++)
{
lcd_envia_byte( 0, 0X80+B ); // 0=INTRUÇÃO , 1 DADO
lcd_envia_byte( 1, A); // 1 DADO
delay_ms(200);

}
}


}
//*********************************************************************
//********************************************************************


main()
{


delay_ms(400);
lcd_ini();
lcd_escreve ('\f'); // apaga o display


CARREGA_CGRAM();

while (true)
{

MOSTRA_CGRAM();
lcd_pos_xy( 1, 2);
lcd_escreve("TESTE CGRAM ");
delay_ms(500);
lcd_escreve ('\f'); // apaga o display
delay_ms(200);
}
}
rebelk
Byte
 
Mensagens: 301
Registrado em: 15 Nov 2006 20:16


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x