代码如下:
[mw_shl_code=c,true]/*******************************************************/
/* ????????????????LCD */
/*******************************************************/
void LCD_Init(void)
{
LPC_GPIO2->DIR|=0xFF0; // ?è??P2????8????????????????×÷LCD8??????????
LPC_GPIO2->DATA |= 0XFF0; // P2????8??????????
LPC_GPIO3->DIR|=0x00F; // P3??P3.0??P3.3??????????×÷LCD????????
LPC_GPIO3->DATA |= 0x00F; // P3??P3.0??P3.3????
delay(60);
LCD_WriteReg(0x00,0x0000);
LCD_WriteReg(0x01,0x0100); //Driver Output Contral.
LCD_WriteReg(0x02,0x0700); //LCD Driver Waveform Contral.
LCD_WriteReg(0x03,0x1030);//Entry Mode Set.
//LCD_WriteReg(0x03,0x1018); //Entry Mode Set.
LCD_WriteReg(0x04,0x0000); //Scalling Contral.
LCD_WriteReg(0x08,0x0202); //Display Contral 2.(0x0207)
LCD_WriteReg(0x09,0x0000); //Display Contral 3.(0x0000)
LCD_WriteReg(0x0a,0x0000); //Frame Cycle Contal.(0x0000)
LCD_WriteReg(0x0c,(1<<0)); //Extern Display Interface Contral 1.(0x0000)
LCD_WriteReg(0x0d,0x0000); //Frame Maker Position.
LCD_WriteReg(0x0f,0x0000); //Extern Display Interface Contral 2.
delay(50);
LCD_WriteReg(0x07,0x0101); //Display Contral.
delay(50);
LCD_WriteReg(0x10,(1<<12)|(0<<8)|(1<<7)|(1<<6)|(0<<4)); //Power Control 1.(0x16b0)
LCD_WriteReg(0x11,0x0007); //Power Control 2.(0x0001)
LCD_WriteReg(0x12,(1<<8)|(1<<4)|(0<<0)); //Power Control 3.(0x0138)
LCD_WriteReg(0x13,0x0b00); //Power Control 4.
LCD_WriteReg(0x29,0x0000); //Power Control 7.
LCD_WriteReg(0x2b,(1<<14)|(1<<4));
LCD_WriteReg(0x50,0); //Set X Star
//??GRAM????Set X End.
LCD_WriteReg(0x51,239); //Set Y Star
LCD_WriteReg(0x52,0); //Set Y End.t.
LCD_WriteReg(0x53,319); //
LCD_WriteReg(0x60,0x2700); //Driver Output Control.
LCD_WriteReg(0x61,0x0001); //Driver Output Control.
LCD_WriteReg(0x6a,0x0000); //Vertical Srcoll Control.
LCD_WriteReg(0x80,0x0000); //Display Position? Partial Display 1.
LCD_WriteReg(0x81,0x0000); //RAM Address Start? Partial Display 1.
LCD_WriteReg(0x82,0x0000); //RAM Address End-Partial Display 1.
LCD_WriteReg(0x83,0x0000); //Displsy Position? Partial Display 2.
LCD_WriteReg(0x84,0x0000); //RAM Address Start? Partial Display 2.
LCD_WriteReg(0x85,0x0000); //RAM Address End? Partial Display 2.
LCD_WriteReg(0x90,(0<<7)|(16<<0)); //Frame Cycle Contral.(0x0013)
LCD_WriteReg(0x92,0x0000); //Panel Interface Contral 2.(0x0000)
LCD_WriteReg(0x93,0x0001); //Panel Interface Contral 3.
LCD_WriteReg(0x95,0x0110); //Frame Cycle Contral.(0x0110)
LCD_WriteReg(0x97,(0<<8)); //
LCD_WriteReg(0x98,0x0000); //Frame Cycle Contral.
LCD_WriteReg(0x07,0x0173); //(0x0173)
// LCD_WriteReg(0x00,regval);
}
void LCD_WriteReg(uint16_t REG, uint16_t VALUE)
{
LCD_WR_REG(REG);
LCD_WR_DATA(VALUE);
}
void LCD_WR_DATA(uint16_t val)
{
LPC_GPIO3->DATA |= (1<<0); //RS=1;
LPC_GPIO3->DATA &=~(1<<1); //CS=0;
OUT_DATA(val>>8);
LPC_GPIO3->DATA &=~(1<<2); //WR=0;
LPC_GPIO3->DATA |= (1<<2); //WR=1;
OUT_DATA(val);
LPC_GPIO3->DATA &=~(1<<2); //WR=0;
LPC_GPIO3->DATA |= (1<<2); //WR=1;
LPC_GPIO3->DATA |= (1<<1); //CS=1;
}
/*????????????????????????????????????????????????????????????????????????????????????????????????????*/
/****************************************************/
/* ???????????·?¨?ù?????????÷???? */
/* ??????????reg?????????????÷ */
/* ???÷?? ?????÷????16??????8??????·????è????????*/
/****************************************************/
void LCD_WR_REG(uint16_t reg)
{
LPC_GPIO3->DATA &=~(1<<0); //RS=0;
LPC_GPIO3->DATA &=~(1<<1); //CS=0;
OUT_DATA(reg>>8);
LPC_GPIO3->DATA &=~(1<<2); //WR=0;
LPC_GPIO3->DATA |= (1<<2); //WR=1;
OUT_DATA(reg);
LPC_GPIO3->DATA &=~(1<<2); //WR=0;
LPC_GPIO3->DATA |= (1<<2); //WR=1;
LPC_GPIO3->DATA |= (1<<0); //RS=1;
}
/**********************************************/
/* ??????????????TFT */
/* ??????????color ?????? */
/**********************************************/
void LCD_Clear(uint16_t color)
{
uint32_t temp;
LCD_WR_REG_DATA(0x0020,0);//?è??X×?±ê????
LCD_WR_REG_DATA(0x0021,0);//?è??Y×?±ê????
LCD_WR_REG(0x0022); for(temp=0;temp<76800;temp++)
{
LCD_WR_DATA(color);
}
}
int main()
{
LCD_Init(); // ?????????§?????÷
LCD_Clear(BLACK); // ????????°×??
while(1)
{
}
}
[/mw_shl_code]
想在主函数中将液晶刷成黑色,可是就是没反应,求教啊
|