예제 #1
0
void main(void)
{
	char msgA[]="I Love 8051";
	char msgB[]="Wow is Great!!!";

	lcdClear();

	lcdWriteCmd(0x0f);		// Display:On, Cursor:On, Blink:On
	lcdWriteCmd(0x38);		// 8-bit, 2 lines, 5x7 font
	lcdWriteCmd(0x06);		// Input mode: Increment, Non-shift

	for (;;)
	{
		lcdClearRow(0);
		lcdSelectRow(0);
		lcdWriteString(msgA);
		lcdClearRow(1);
		lcdSelectRow(1);
		lcdWriteString(msgB);
		delay(DELAYLONG);

		lcdClearRow(0);
		lcdSelectRow(0);
		lcdWriteString(msgB);
		lcdClearRow(1);
		lcdSelectRow(1);
		lcdWriteString(msgA);
		delay(DELAYLONG);
	}

} /* main */
예제 #2
0
void main(void)
{
	char msg[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!', 0 };

	unsigned char	n;

	lcdCleanScreen();
	
	lcdWriteCmd(0x38);
	lcdWriteCmd(0x0F);	
	lcdWriteCmd(0x06);

	for (n=0; msg[n]!=0; n++)
	{
		lcdWriteData( msg[n] );
	}
	

//	lcdWriteData('H');
//	lcdWriteData('e');
//	lcdWriteData('l');
//	lcdWriteData('l');
//	lcdWriteData('o');
//	lcdWriteData(' ');
//	lcdWriteData('W');
//	lcdWriteData('o');
//	lcdWriteData('r');
//	lcdWriteData('l');
//	lcdWriteData('d');
//	lcdWriteData('!');

	for (;;);

}/* main */
예제 #3
0
void main(void)
{
	char msgA[]={0x49, 0x20, 0x4c, 0x6f, 0x76, 0x65, 0x20, 0x38, 0x30, 0x35, 0x31, 0};
	char msgB[]={'I', ' ', 'L', 'o', 'v', 'e', ' ', '8', '0', '5', '1', 0};
	char msgC[]="I love 8051";
	char msgD[]="My name carol";		
	
	unsigned int n;
	
	lcdClear();
	lcdWriteCmd(0x0F);
	lcdWriteCmd(0x38);			 //8 bit,2 lines, 5x7 font;
	lcdWriteCmd(0x06);

	for (n=0; *(msgD+n)!=0; n++)
	{
		lcdWriteData(*(msgD+n));
	}

//	for (n=0; msgD[n]!=0; n++)
//	{
//		lcdWriteData(msgD[n]);
//	}

//	lcdWriteData('I');
//	lcdWriteData(' ');
//	lcdWriteData('L');
//	lcdWriteData('o');
//	lcdWriteData('v');
//	lcdWriteData('e');
//	lcdWriteData(' ');
//	lcdWriteData('8');
//	lcdWriteData('0');
//	lcdWriteData('5');
//	lcdWriteData('1');
//	
//	lcdWriteData(0x7E);
//	lcdWriteData(0xF6);
//	lcdWriteData(0x33);
//	lcdWriteData(0xFA);
//	lcdWriteData(0xFB);
//	
//	lcdWriteData(0x49);
//	lcdWriteData(0x4c);
//	lcdWriteData(0x6f);
//	lcdWriteData(0x76);
//	lcdWriteData(0x65);
//	lcdWriteData(0x20);
//	lcdWriteData(0x38);
//	lcdWriteData(0x30);
//	lcdWriteData(0x35);
//	lcdWriteData(0x31);

	for (;;);

} /* main */
예제 #4
0
void lcdSelectRow(unsigned char row)
{
	if (row == 0)
	{
		lcdWriteCmd(0x80|0x00);
	}
	else if (row == 1)
	{
		lcdWriteCmd(0x80|0x40);
	}
} /* lcdSelectRow */
예제 #5
0
void lcdSelectRow(unsigned char row)	// Row#1:0, Row#2:1
{
    if (row == 0)
    {
        lcdWriteCmd(0x80); 				// Row #1
    }
    else
    {
        lcdWriteCmd(0x80 | 0x40); 		//  Row #2
    }
} /* lcdSelectRow */
예제 #6
0
void lcdSelectRow(unsigned char row) 	// row:0, 1
{					
	if (row == 0)
	{
		lcdWriteCmd(0x80 | 0x00);		// Select address 0, 1st Row
	}
	else
	{
		lcdWriteCmd(0x80 | 0x40);		// Select address 0x40, 2nd row and beyond
	}

} /* lcdSelectRow */
예제 #7
0
void lcdSetDisplay(unsigned char mode)		// 1:Display ON, Cursor ON, Blinking ON
{
	if (mode == 0) 							// 0: Display OFF
	{
		lcdWriteCmd(0x80);
	}
	else
	{
		lcdWriteCmd(0x0f);				 	// DISPLAY ON, Cursor ON, Blinking ON
	}

} /* lcdSetDisplay */
예제 #8
0
void lcdSetDisplay(unsigned char mode)
{
	if (mode == 1)
	{
		lcdWriteCmd(0x0F);
	}
	else
	{
		lcdWriteCmd(0x80);
	}

} /* lcdSetDisplay */
예제 #9
0
void lcdSetDisplay(unsigned char mode)
{
	lcdCurrentModeDisplay = mode;

	lcdWriteCmd(0x08 | lcdCurrentModeDisplay);

} /* lcdSetDisplay */
예제 #10
0
void lcdSetInput(unsigned char mode)
{
	lcdCurrentModeInput = mode;

	lcdWriteCmd(0x04 | lcdCurrentModeInput);

} /* lcdSetInput */
예제 #11
0
void lcdSetInputShiftOn(void)
{
	lcdCurrentModeInput |= LCD_INPUT_SHIFT_ON;

	lcdWriteCmd(0x04 | lcdCurrentModeInput);

} /* lcdSetInputShiftOn */
예제 #12
0
void lcdSetInputShiftOff(void)
{
	lcdCurrentModeInput &= ~LCD_INPUT_SHIFT_ON;

	lcdWriteCmd(0x04 | lcdCurrentModeInput);
		
} /* lcdSetInputShiftOff */
예제 #13
0
void lcdSetInputInc(void)
{
	lcdCurrentModeInput |= LCD_INPUT_INC;

	lcdWriteCmd(0x04 | lcdCurrentModeInput);

} /* lcdSetInputInc */
예제 #14
0
void lcdSetInputDec(void)
{	
	lcdCurrentModeInput &= ~LCD_INPUT_INC;

	lcdWriteCmd(0x04 | lcdCurrentModeInput);

} /*  lcdSetInputDec */
예제 #15
0
void lcdInit(void)
{
	lcdCurrentModeFunction = LCD_STYLE_2LINES;		// 8-bit, 2lines, font:5x7

	lcdWriteCmd(0x30 | lcdCurrentModeFunction);

} /* lcdInit */
예제 #16
0
void main(void)
{
	lcdClearScreen();
	
	lcdWriteCmd(0x06);
	lcdWriteCmd(0x0f);
	lcdWriteCmd(0x38);

	lcdWriteData('L');
	lcdWriteData('e');
	lcdWriteData('o');
	lcdWriteData(' ');
	lcdWriteData('H');
	lcdWriteData('a');

	for (;;);

}
예제 #17
0
void main(void)
{
	char msgA[]="My name Carol";
	char msgB[]="Good Day!";	

	lcdClear();

	lcdWriteCmd(0x0F);
	lcdWriteCmd(0x38);			 //8 bit,2 lines, 5x7 font;
	lcdWriteCmd(0x06);

	lcdWriteString(msgA);
	lcdSelectRow(1);
	lcdWriteString(msgB);

	for (;;);

} /* main */
예제 #18
0
void lcdSelectRow(unsigned char row)					// 0: First Line, 1: Senced Line
{
	unsigned char	n;	

	if (row == 1)		n = 0x40;
	else				n = 0x00;

	lcdWriteCmd(0x80 | n);

}/* lcdSelectRow */
예제 #19
0
 void main(void)
 {
	 lcdClear();
	 lcdWriteCmd(0x0F);
	 lcdWriteCmd(0x38);			 //8 bit,2 lines, 5x7 font;
	 lcdWriteCmd(0x06);
	 lcdWriteData(0x46);
	 lcdWriteData(0x4c);
	 lcdWriteData(0x6f);
	 lcdWriteData(0x76);
	 lcdWriteData(0x65);
	 lcdWriteData(0x20);
	 lcdWriteData(0x38);
	 lcdWriteData(0x30);
	 lcdWriteData(0x35);
	 lcdWriteData(0x31);

	 for (;;);
 }
예제 #20
0
// shiftCursor-> I/D -> 1:Inc, 0:Dec
// shiftString-> S   -> 1:Shift ON, 0:Shift Off	
void lcdSetInputMode(unsigned char shiftCursor, unsigned char shiftString)
{
	unsigned char mode;
	unsigned char cmd;

	mode = (shiftCursor << 1)|(shiftString);
	cmd = 0x04|mode;

	lcdWriteCmd(cmd);

} /* lcdSetInputMode */
예제 #21
0
void main(void)
{
	lcdClear();
	lcdWriteCmd(0x0f);		// Display:On, Cursor:On, Blink:On
	lcdWriteCmd(0x38);		// 8-bit, 2 lines, 5x7 font
	lcdWriteCmd(0x06);		// Input mode: Increment, Non-shift
	lcdWriteData(0x49);		// 'I'
	lcdWriteData(0x20);		// ' '
	lcdWriteData(0x4c);		// 'L'
	lcdWriteData(0x6f);		// 'o'
	lcdWriteData(0x76);		// 'v'
	lcdWriteData(0x65);		// 'e'
	lcdWriteData(0x20);		// ' '
	lcdWriteData(0x38);		// '8'
	lcdWriteData(0x30);		// '0'
	lcdWriteData(0x35);		// '5'
	lcdWriteData(0x31);		// '1'

	for (;;);

} /* main */
예제 #22
0
/*****************************************************
 lcdMakeFont() - Use this to create a new font
 Input:
	c: character code (0 - 7)
	*row: dotmatrix rows (8 rows) from top to bottom
		  valid bits b0 - b4 from right to left
 Output: N/A
 *****************************************************/
void lcdMakeFont(unsigned char c, char *row)
{
	unsigned char	cgAddr;
	unsigned char	n;

	cgAddr = 8*c;

	for (n=0; n<8; n++)
	{
		lcdWriteCmd(0x40 | cgAddr + n);
		lcdWriteData(row[n]);
	}
	
} /* lcdMakeFont */																 
예제 #23
0
void lcdClearRow(unsigned char row)		// row:0, 1
{	
	unsigned int n;

	lcdSelectRow(row);

	for (n=0; n<40; n++) 					// Fill row with SPACEs
	{
		lcdWriteCmd(0x80 | (row*0x40+n));	// Use fill memory is better than auto INC/DEC input mode
		lcdWriteData(' ');
	}

	lcdSelectRow(row);						// CR: Move cursor to beginning of line [Carriage Return]					

} /* lcdClearRow */
예제 #24
0
/***************************************************
 lcdMakeRawFont() - Use this to create a new font
 Input:
	c: character code (0 - 7)
	row0-row7: dotmatrix rows from top to bottom
			   valid bits b0 - b4 from right to left
 Output: N/A
 ***************************************************/
void lcdMakeRawFont(unsigned char c, unsigned char row0,
									 unsigned char row1, 
									 unsigned char row2, 
									 unsigned char row3, 
									 unsigned char row4,
									 unsigned char row5,
									 unsigned char row6,
									 unsigned char row7)
{																 
	unsigned char	cgAddr = 8*c;							   

	lcdWriteCmd(0x40 |  cgAddr);
	lcdWriteData(row0);

	lcdWriteCmd(0x40 | (cgAddr+1));
	lcdWriteData(row1);

	lcdWriteCmd(0x40 | (cgAddr+2));
	lcdWriteData(row2);

	lcdWriteCmd(0x40 | (cgAddr+3));
	lcdWriteData(row3);

	lcdWriteCmd(0x40 | (cgAddr+4));
	lcdWriteData(row4);

	lcdWriteCmd(0x40 | (cgAddr+5));
	lcdWriteData(row5);

	lcdWriteCmd(0x40 | (cgAddr+6));
	lcdWriteData(row6);

	lcdWriteCmd(0x40 | (cgAddr+7));
	lcdWriteData(row7);

} /* lcdMakeRawFont */
예제 #25
0
void main (void)
{
	unsigned char n;

	lcdInit();							// Clear Screen, Display ON, Cursor ON, Blinking ON
										// Use 8-bit, 2 Lines, Font 5x7

	lcdSetInput(LCD_MODE_INPUT_INC |
				LCD_MODE_INPUT_SHIFT_OFF);
		
	for (;;)
	{
		for(n=0; n<0xf; n++)
		{
			lcdClearRow(1);
			lcdWriteCmd(0x80 | 0x40 | n);

			lcdWriteString("April");
			delay(10000);
		}
	}

} /* main */
예제 #26
0
void main(void)
{
	char msgA[] = {0x49, 0x20, 0x4C, 0x6F, 0x76, 0x65, 0x20, 0x38, 0x30, 0x35, 0x31, 0};
	
	char msgB[] = {'I', ' ', 'L', 'o', 'v', 'e', ' ', '8', '0', '5', '1', 0};
	
	char msgC[] = "I Love 8051";
	
	char msgD[] = "Hello World!"; 

	lcdClear();
	
	lcdWriteCmd(0x0F);						// Display: ON, Cursor: ON, Blink: ON
	lcdWriteCmd(0x38);						// 8-bit, 2 lines, 5x7 font
	lcdWriteCmd(0x06);						// Input mode: Increment, Non-shift

	lcdWriteString(msgC);
	lcdSelectRow(1);
//	lcdWriteCmd(0x80 | 0x40);
	lcdWriteString(msgD);

//	for (n=0; *(msgD+n)!=0; n++)
//	{
//		lcdWriteData( *(msgD+n) );
//	}

//	for (n=0; msgD[n]!=0; n++)
//	{
//		lcdWriteData( msgD[n] );
//	}

//	for (n=0; n<11; n++)
//	{
//		lcdWriteData( msgB[n] );
//	}

//	lcdWriteData('I');
//	lcdWriteData(' ');
//	lcdWriteData('L');
//	lcdWriteData('o');
//	lcdWriteData('v');
//	lcdWriteData('e');
//	lcdWriteData(' ');
//	lcdWriteData('8');
//	lcdWriteData('0');
//	lcdWriteData('5');
//	lcdWriteData('1');
//
//	lcdWriteData(0x7E);
//	lcdWriteData(0xF6);
//	lcdWriteData('3');
//	lcdWriteData(0xFA);
//	lcdWriteData(0xFB);

//	lcdWriteData(0x49);						// " I "
//	lcdWriteData(0x20);						// "   "
//	lcdWriteData(0x4C);						// " L "
//	lcdWriteData(0x6F);						// " o "
//	lcdWriteData(0x76);						// " v "
//	lcdWriteData(0x65);						// " e "
//	lcdWriteData(0x20);						// "   "
//	lcdWriteData(0x38);						// " 8 "
//	lcdWriteData(0x30);						// " 0 "
//	lcdWriteData(0x35);						// " 5 "
//	lcdWriteData(0x31);						// " 1 "

	for (;;);
}/* main */
예제 #27
0
void lcdClear(void)
{
	lcdWaitUntilReady();
	lcdWriteCmd(0x01); 							// Clear LCD Screen

}/* lcdClear */
예제 #28
0
void lcdClear(void)
{
	 lcdWaitUntilReady();
	 lcdWriteCmd(0x01);			   //clear Lcd screen;
}
예제 #29
0
void lcdClear(void)
{
	lcdWriteCmd(0x01);			   // Clear LCD screen

} /* lcdClear */
예제 #30
0
void lcdClearScreen(void)
{
	lcdWriteCmd(0x1);			// Clear LCD Screen

} /* lcdClear */