Exemplo n.º 1
0
/******************************************************************************
* Function Name  : LCD_WRITE_COMMAND
* Description    : send command to LCD
* Input          : index, data
* Output         : None
* Return         : None
******************************************************************************/
void LCD_WRITE_COMMAND(unsigned int index,unsigned int data)
{
	//select command register
	LCD_RS_L();
	LCD_CS_L();
    SPI0_communication((unsigned char)(index>>8));    //00000000 000000000
    SPI0_communication((unsigned char)(index));
	LCD_CS_H();
	//send data
	LCD_RS_H();

	LCD_CS_L();
    SPI0_communication((unsigned char)(data>>8));    //00000000 000000000
    SPI0_communication((unsigned char)(data));
	LCD_CS_H();
}
Exemplo n.º 2
0
void lcd_clear_screen(unsigned int color_background)
{
	unsigned int i,j;

	LCD_WRITE_COMMAND(0x210,0x00);
	LCD_WRITE_COMMAND(0x212,0x0000);
	LCD_WRITE_COMMAND(0x211,0xEF);
	LCD_WRITE_COMMAND(0x213,0x013F);

	
	LCD_WRITE_COMMAND(0x200,0x0000);
	LCD_WRITE_COMMAND(0x201,0x0000);

	LCD_RS_L();
	LCD_WRITE_REG(0x202);	//RAM Write index
	LCD_CS_L();

	for(i=0;i<320;i++)
	{
		for(j=0;j<240;j++)
		{
		  LCD_WRITE_DATA( color_background );
		}
	}
	LCD_RS_L();
	LCD_CS_H();
}
Exemplo n.º 3
0
Arquivo: lcd.c Projeto: epffpe/Atmel
/**********************************************
函数名:Lcd全屏擦除函数
功能:将Lcd整屏擦为指定颜色
入口参数:color 指定Lcd全屏颜色 RGB(5-6-5)
返回值:无
***********************************************/
void LCD_Clear(unsigned int Color)
{
  unsigned long index = 0;
  
  LCD_WR_REG(0x0020,0x0000);//GRAM水平起始位置
  LCD_WR_REG(0x0021,00000);      

  LCD_WR_REG(0x0050,0x00);//水平 GRAM起始位置
  LCD_WR_REG(0x0051,239);//水平GRAM终止位置
  LCD_WR_REG(0x0052,0x00);//垂直GRAM起始位置
  LCD_WR_REG(0x0053,319);//垂直GRAM终止位置 
  LCD_WR_REG16(0x0022);
  
  LCD_RD_H();
  LCD_RS_H();
  LCD_CS_L();   
  for(index = 0; index < 76800; index++)
  {
   // LCD_WR_DATA16(Color);
 
     LCD_WR_L();
     DATA_LCD_PORT=Color>>8; 
     LCD_WR_H();
     LCD_WR_L();
     DATA_LCD_PORT=Color&0XFF; 
     LCD_WR_H();
 
   
  } 
   LCD_CS_H();
}
Exemplo n.º 4
0
void LCD_WRITE_REG(unsigned int index)
{
	int value_index;			// uint -> int
	LCD_RS_L();
	LCD_CS_L();
	value_index=index;
	value_index =value_index>>8;
    SPI0_communication((unsigned char)(value_index));    //00000000 000000000

	value_index=index;
	value_index &=0x00ff;
    SPI0_communication((unsigned char)(index));
	LCD_CS_H();
	LCD_RS_H();
}
Exemplo n.º 5
0
Arquivo: lcd.c Projeto: epffpe/Atmel
void LCD_WR_REG16(unsigned int index)//写积存器命令
{
     LCD_RD_H();
	 LCD_RS_L();
     LCD_CS_L();  
     LCD_WR_L();
	 delay_us(1);
     DATA_LCD_PORT=index>>8; 
	 delay_us(1);
     LCD_WR_H();
     LCD_WR_L();
	 delay_us(1);
     DATA_LCD_PORT=index&0XFF; 
	 delay_us(1);
     LCD_WR_H();
     LCD_CS_H();
}
Exemplo n.º 6
0
Arquivo: lcd.c Projeto: epffpe/Atmel
void LCD_WR_DATA16(unsigned int data)//写积存器数据
{
     LCD_RD_H();
	 LCD_RS_H();
     LCD_CS_L();  
     LCD_WR_L();
	 
     DATA_LCD_PORT=data>>8;
     delay_us(1);
     LCD_WR_H();
     LCD_WR_L();
	 delay_us(1);
     DATA_LCD_PORT=data&0XFF; 
	 delay_us(1);
     LCD_WR_H();
     LCD_CS_H();
  
}
Exemplo n.º 7
0
void LcdDat(u8 cmd) {
    LCD_DAT();
    LCD_CS_L();
    spi_xfer(SPI1, cmd);
    LCD_CS_H();
}
Exemplo n.º 8
0
void LcdCmd(u8 cmd) {
    LCD_CMD();
    LCD_CS_L();
    spi_xfer(SPI1, cmd);
    LCD_CS_H();
}