char const CharactersCGRAM[64]={0,0,0,0,0,0,0,0x1F,
0,0,0,0,0,0,0x1F,0x1F,
0,0,0,0,0,0x1F,0x1F,0x1F,
0,0,0,0,0x1F,0x1F,0x1F,0x1F,
0,0,0,0x1F,0x1F,0x1F,0x1F,0x1F,
0,0,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,
0,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,
0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F};
// Guarda en la CGRAM el caracter en el banco seleccionado.-
// <Caracter> es la dirección de la primer fila del caracter a enviar.-
void vLcdWriteCgram(unsigned char Bank,char Character){
unsigned char AddressBank,i;
AddressBank=0x40 + 0x08*Bank;
WriteByteLcd(AddressBank,0);
// Cargamos los 8 registros.-
for(i=0;i<8;i++){
WriteByteLcd(CharactersCGRAM[Character + i],1);
}
WriteByteLcd(0x80,0); // Se da por terminada la escritura.-
}
// Incializa Memoria CGRAM.-
void vLcdInitCgram(void){
unsigned char j;
for(j=0;j<8;j++){
vLcdWriteCgram(j,j*8);
}
}