示例#1
0
void LCD_Control(uint16_t StartX, uint16_t EndX, uint16_t StartY, uint16_t EndY, unsigned char direction)
{
	LCD_WR_CMD_8(0X36);
	
	if((direction == 'L') || (direction == 'l'))
	{
		LCD_WR_Data_8(0x08);
		//初始化屏幕起始坐标
		LCD_WR_CMD_8(0X2A); 
		LCD_WR_Data_8((uint8_t)((239 - EndX) >> 8));
		LCD_WR_Data_8((uint8_t)((239 - EndX) & 0xff));
		
		LCD_WR_Data_8((uint8_t)((239 - StartX) >> 8));
		LCD_WR_Data_8((uint8_t)((239 - StartX) & 0xff));

		LCD_WR_CMD_8(0X2B); 
		LCD_WR_Data_8((uint8_t)(StartY >> 8));
		LCD_WR_Data_8((uint8_t)(StartY & 0xff));
			
		LCD_WR_Data_8((uint8_t)(EndY >> 8));
		LCD_WR_Data_8((uint8_t)(EndY & 0xff));
	} else if((direction == 'R') || (direction == 'r'))
示例#2
0
//显示一副图片
//x,y:图片起始位置
//lenth:图片的宽度(0~240)  
//wide: 图片高度(0~320)
//*p:图片首地址        
//不带范围判断
void TFT_ShowBmp(u8 x,u16 y,u8 lenth,u16 wide,const u8 *p)
{      
    u32 size,temp; 
    //开辟窗口

	LCD_WR_CMD(0x0050, x); // Horizontal GRAM Start Address
	LCD_WR_CMD(0x0051, (u16)x+lenth-1); // Horizontal GRAM End Address
	LCD_WR_CMD(0x0052, y); // Vertical GRAM Start Address
	LCD_WR_CMD(0x0053, y+wide-1); // Vertical GRAM Start Address
	LCD_WR_REG(34);

	temp=(u32)lenth*wide*2;
	for(size=0;size<temp;size++)LCD_WR_Data_8(p[size]); 
}