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(); }
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(); }
/****************************************************************************** * 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(); }
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(); }