Esempio n. 1
0
File: LCD.c Progetto: LouizLai/mg
//************************************
// Method:    LCD_BusyWait
// FullName:  LCD_BusyWait
// Access:    public 
// Returns:   void
// Qualifier: funkcija ?aka, dokler ni LCD pripravljen ali dokler ne pote?e timeout. Timeout je odvisen od ure procesorja.
// Parameter: unsigned int timeout
//************************************
void LCD_BusyWait(unsigned int timeout)
{
	for (unsigned int i=0;i<timeout;i++)
	{
		if (!LCD_Busy()) break;
	}	
}
void LCD_Write4Control (unsigned char CMD)
{
	while ((LCD_Busy()&0X80)==0X80);	// Test if LCD busy
	CLEAR_LCD_E;	   		// Disable LCD
	port_lcd&= ~0xF0;			// Load data to port
	port_lcd|=CMD;
	SET_LCD_WRITE ;				// Set LCD to write
	SET_LCD_CMD;                 // Set LCD to command
	_delay_us(5);
	SET_LCD_E;	   				// Write data to LCD
	_delay_us(3);
	CLEAR_LCD_E;
	_delay_us(5);	   			// Disable LCD
	port_lcd&= ~0xF0;
	//delay_ms(2);
}
// ***************************************** //
// *** Write 1/2 byte of data to the LCD *** //
// ***************************************** //
void LCD_Write4Data (unsigned char Data)

{
	while ((LCD_Busy()&0X80)==0X80); 		// Test if LCD Busy
	CLEAR_LCD_E;	   		// Disable LCD
	port_lcd&= ~0xF0;			// Load data to port
	port_lcd|=Data;
	SET_LCD_WRITE ;			// Set LCD to write
	SET_LCD_DATA;                 // Set LCD to command
	_delay_us(5);
	SET_LCD_E;	   		// Write data to LCD
	_delay_us(3);
	CLEAR_LCD_E;
	_delay_us(5);	   		// Disable LCD
	port_lcd&= ~0xF0;
	//delay_ms(1);
	
}
Esempio n. 4
0
// Write a character to the LCD data register
void LCD_Write(char dval)
{
    LCD_Busy();                     // Wait for busy to clear
    _gdm_lcd_data = dval;           // Output character
}
Esempio n. 5
0
// Issue a command to the LCD command register
void LCD_Command(unsigned char cval)
{
    LCD_Busy();                     // Wait for busy to clear
    _gdm_lcd_cmd = cval;            // Ouptut command
}