Esempio n. 1
0
void Pulse_E(void){
  GPIO_HIGH(CTRL_PORT, CTRL_E);	//E=1
	//Delay(EXT_LCD_DELAY);
	GLCD_Delay(300);
  GPIO_LOW(CTRL_PORT, CTRL_E);	//E=0
	//Delay(EXT_LCD_DELAY);
	GLCD_Delay(300);
}
Esempio n. 2
0
File: lcd.c Progetto: maxk9/etro_new
void GLCD_Reset(void)
{
    GPIO_WriteHigh(GPIOC, KS0108_RES);
    GLCD_Delay();
    GPIO_WriteLow(GPIOC, KS0108_RES);
    GLCD_Delay();
    GPIO_WriteHigh(GPIOC, KS0108_RES);
    
    while(GLCD_ReadStatus(0)&DISPLAY_STATUS_BUSY);
}
Esempio n. 3
0
uint8_t GetByte(void){
  GPIO_InitTypeDef GPIO_InitStructure;
	uint8_t byte_state;
	uint8_t res_byte;
	
	GPIO_HIGH(CTRL_PORT, CTRL_RS);	//RS=1
	GPIO_HIGH(CTRL_PORT, CTRL_RW);	//RW=1

	GLCD_Delay(100);
	
  GPIO_InitStructure.GPIO_Pin = DATA_PIN0 | DATA_PIN1 | DATA_PIN2 | DATA_PIN3 | DATA_PIN4 | DATA_PIN5 | DATA_PIN6 | DATA_PIN7;  
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
  GPIO_Init( DATA_PORT, &GPIO_InitStructure);
	

 	GPIO_HIGH(CTRL_PORT, CTRL_E);	//E=1
	GLCD_Delay(100);
	
	byte_state = GPIO_ReadInputDataBit(DATA_PORT, DATA_PIN0);
	res_byte = byte_state;
	byte_state = GPIO_ReadInputDataBit(DATA_PORT, DATA_PIN1);
	res_byte += byte_state*0x02;
	byte_state = GPIO_ReadInputDataBit(DATA_PORT, DATA_PIN2);
	res_byte += byte_state*0x04;
	byte_state = GPIO_ReadInputDataBit(DATA_PORT, DATA_PIN3);
	res_byte += byte_state*0x08;
	byte_state = GPIO_ReadInputDataBit(DATA_PORT, DATA_PIN4);
	res_byte += byte_state*0x10;
	byte_state = GPIO_ReadInputDataBit(DATA_PORT, DATA_PIN5);
	res_byte += byte_state*0x20;
	byte_state = GPIO_ReadInputDataBit(DATA_PORT, DATA_PIN6);
	res_byte += byte_state*0x40;
	byte_state = GPIO_ReadInputDataBit(DATA_PORT, DATA_PIN7);
	res_byte += byte_state*0x80;
 	GPIO_LOW(CTRL_PORT, CTRL_E);	//E=0

	DelayBusy();
	
	
	return res_byte;
}
Esempio n. 4
0
File: lcd.c Progetto: maxk9/etro_new
//-------------------------------------------------------------------------------------------------
// Read Status byte from specified controller (0-2)
//-------------------------------------------------------------------------------------------------
unsigned char GLCD_ReadStatus(unsigned char controller)
{
    unsigned char status;

//    GPIO_StructInit(&GPIO_InitStructure);
//    GPIO_InitStructure.GPIO_Pin = 0xFF ;
//    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
//    GPIO_Init(KS0108_PORT, &GPIO_InitStructure);
    GPIO_Init(KS0108_PORT,GPIO_PIN_ALL,GPIO_MODE_IN_PU_NO_IT);
    
    GPIO_WriteHigh(GPIOC, KS0108_RW);
    GPIO_WriteLow(GPIOC, KS0108_RS);
    GLCD_EnableController(controller);
    GLCD_Delay();
    GPIO_WriteHigh(GPIOC, KS0108_EN);
    GLCD_Delay();
    status = ((GPIO_ReadInputData(KS0108_PORT) ) & 0xFF);
    GPIO_WriteLow(GPIOC, KS0108_EN);
    GLCD_DisableController(controller);
    return status;
}
Esempio n. 5
0
//-------------------------------------------------------------------------------------------------
// Write command to specified controller
//-------------------------------------------------------------------------------------------------
void GLCD_WriteCommand(unsigned char commandToWrite, unsigned char controller)
{
while(GLCD_ReadStatus(controller)&DISPLAY_STATUS_BUSY);
KS0108_DATA_DIR = 0xFF;
KS0108_CTRL_PORT &= ~(KS0108_RW | KS0108_RS);
GLCD_EnableController(controller);
KS0108_DATA_PORT = commandToWrite;
KS0108_CTRL_PORT |= KS0108_EN;
GLCD_Delay();
KS0108_CTRL_PORT &= ~KS0108_EN;
GLCD_DisableController(controller);
}
Esempio n. 6
0
File: lcd.c Progetto: maxk9/etro_new
//-------------------------------------------------------------------------------------------------
// Write data to current position
//-------------------------------------------------------------------------------------------------
void GLCD_WriteData(unsigned char dataToWrite)
{
    while(GLCD_ReadStatus(screen_x / 64)&DISPLAY_STATUS_BUSY);
       
//    GPIO_StructInit(&GPIO_InitStructure);
//    GPIO_InitStructure.GPIO_Pin = (0xFF );
//    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
//    GPIO_Init(KS0108_PORT, &GPIO_InitStructure);
    
    GPIO_Init(KS0108_PORT,GPIO_PIN_ALL,GPIO_MODE_OUT_PP_LOW_FAST);

    GPIO_WriteLow(GPIOC, KS0108_RW);
    GLCD_Delay();
    GPIO_WriteHigh(GPIOC, KS0108_RS);
    GLCD_Delay();

	GPIO_Write(KS0108_PORT, (GPIO_Pin_TypeDef)(dataToWrite ));
    GLCD_Delay();
	
    GLCD_EnableController(screen_x / 64);
    GLCD_Delay();
    GPIO_WriteHigh(GPIOC, KS0108_EN);
    GLCD_Delay();
    GPIO_WriteLow(GPIOC, KS0108_EN);
    GLCD_Delay();
    GLCD_DisableController(screen_x / 64);
    screen_x++;
}
Esempio n. 7
0
File: lcd.c Progetto: maxk9/etro_new
//-------------------------------------------------------------------------------------------------
// Write command to specified controller
//-------------------------------------------------------------------------------------------------
void GLCD_WriteCommand(unsigned char commandToWrite, unsigned char controller)
{
    while(GLCD_ReadStatus(controller)&DISPLAY_STATUS_BUSY);
//    GPIO_StructInit(&GPIO_InitStructure);
//    GPIO_InitStructure.GPIO_Pin  = (0xFF );
//    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
//    GPIO_Init(KS0108_PORT, &GPIO_InitStructure);

    GPIO_Init(KS0108_PORT,GPIO_PIN_ALL,GPIO_MODE_OUT_PP_LOW_FAST);
    
    GPIO_WriteLow(GPIOC, (GPIO_Pin_TypeDef)(KS0108_RS | KS0108_RW));
    GLCD_Delay();
    GLCD_EnableController(controller);
    GLCD_Delay();
	GPIO_Write(KS0108_PORT, (GPIO_Pin_TypeDef)(commandToWrite ));
    GLCD_Delay();
    GPIO_WriteHigh(GPIOC, KS0108_EN);
    GLCD_Delay();
    GPIO_WriteLow(GPIOC, KS0108_EN);
    GLCD_Delay();
    GLCD_DisableController(controller);
}
Esempio n. 8
0
//-------------------------------------------------------------------------------------------------
// Read Status from specified controller (0-2)
//-------------------------------------------------------------------------------------------------
unsigned char GLCD_ReadStatus(unsigned char controller)
{
unsigned char status;
KS0108_DATA_DIR = 0x00;
KS0108_CTRL_PORT |= KS0108_RW;
KS0108_CTRL_PORT &= ~KS0108_RS;
GLCD_EnableController(controller);
KS0108_CTRL_PORT |= KS0108_EN;
GLCD_Delay();
status = KS0108_DATA_PIN;
KS0108_CTRL_PORT &= ~KS0108_EN;
GLCD_DisableController(controller);
return status;
}
Esempio n. 9
0
//-------------------------------------------------------------------------------------------------
// Write data to current position
//-------------------------------------------------------------------------------------------------
void GLCD_WriteData(unsigned char dataToWrite)
{
while(GLCD_ReadStatus(screen_x / 64)&DISPLAY_STATUS_BUSY);
KS0108_DATA_DIR = 0xFF;
KS0108_CTRL_PORT &= ~KS0108_RW;
KS0108_CTRL_PORT |= KS0108_RS;
KS0108_DATA_PORT = dataToWrite;
GLCD_EnableController(screen_x / 64);
KS0108_CTRL_PORT |= KS0108_EN;
GLCD_Delay();
KS0108_CTRL_PORT &= ~KS0108_EN;
GLCD_DisableController(screen_x / 64);
screen_x++;
}
Esempio n. 10
0
//-------------------------------------------------------------------------------------------------
// Read data from current position
//-------------------------------------------------------------------------------------------------
unsigned char GLCD_ReadData(void)
{
unsigned char data;
while(GLCD_ReadStatus(screen_x / 64)&DISPLAY_STATUS_BUSY);
KS0108_DATA_DIR = 0x00;
KS0108_CTRL_PORT |= (KS0108_RW | KS0108_RS);
GLCD_EnableController(screen_x / 64);
//GLCD_Delay();
KS0108_CTRL_PORT |= KS0108_EN;
GLCD_Delay();
data = KS0108_DATA_PIN;
KS0108_CTRL_PORT &= ~KS0108_EN;
GLCD_DisableController(screen_x / 64);
screen_x++;
return data;
}