buenas tardes noches dias amigos foreros
en esta ocasion traigo un problema con la pantalla 128x64 que usa el controlador KS0108 se controlar la pantalla con la libreria de ccs desde un microcontrolador microchip pero en esta ocasion mi proyecto de la universidad consiste en realizar la inicializacion y posicionar un pixel en una posicion con una fpga comprendo la rutina de inicializacion de la pantalla que existen las llamadas paginas verticales y las dos posiciones horizontales cs1 y cs2 que controlan cada una la mitad de la pantalla como deben especificarse los pines para dicha tarea sin embargo no entiendo como posicionar un pixel en por ejemplo la posicion 1,1 si se la pagina y la posicion en x y el chip cs1 o cs2 segun sea como especifico el pixel dentro de la pagina???
agrego la parte de codigo que no comprendo de ccs espero no violar ninguna regla si algo me corrigen
de antemano gracias
void glcd_pixel(int x, int y, int1 color)
{
BYTE data;
BYTE chip = GLCD_CS1; // Stores which chip to use on the LCD
if(x > 63) // Check for first or second display area
{
x -= 64;
chip = GLCD_CS2;
}
output_low(GLCD_DI); // Set for instruction
bit_clear(x,7); // Clear the MSB. Part of an instruction code
bit_set(x,6); // Set bit 6. Also part of an instruction code
glcd_writeByte(chip, x); // Set the horizontal address
glcd_writeByte(chip, (y/8 & 0b10111111) | 0b10111000); // Set the vertical page address
output_high(GLCD_DI); // Set for data
data = glcd_readByte(chip);
if(color == ON)
bit_set(data, y%8); // Turn the pixel on
else // or
bit_clear(data, y%8); // turn the pixel off
output_low(GLCD_DI); // Set for instruction
glcd_writeByte(chip, x); // Set the horizontal address
output_high(GLCD_DI); // Set for data
glcd_writeByte(chip, data); // Write the pixel data
}
saludos desde colombia