|
152110zzafoao72fz8xoa2.jpg.thumb.jpg (57.33 KB, 下載次數: 61)
下載附件
2019-5-25 02:02 上傳
- void LCD_Init(void)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
-
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC|RCC_APB2Periph_AFIO, ENABLE );
- GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE); //JTAG-DP 失能 + SW-DP使能
-
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(GPIOA, &GPIO_InitStructure);
- GPIO_Write(GPIOA,0XFF);
-
- //LCDBL,RD,WR,RS,CS
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_2;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(GPIOB, &GPIO_InitStructure);
- GPIO_SetBits(GPIOB, GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_2); //CS RS WR RD
-
- // //LCDRESET
- // GPIO_InitStructure.GPIO_Pin =GPIO_Pin_6;
- // GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸LCDRESET
- // GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- // GPIO_Init(GPIOB, &GPIO_InitStructure);
- // GPIO_SetBits(GPIOB, GPIO_Pin_6);
-
- LCDBKON;//點亮LCD背光
- //***************************RESET LCD Driver******************************
- LCD_RESET_SET; //reset-->1
- delayms(1); //Delay 1ms
- LCD_RESET_CLR; //reset-->0
- delayms(10); //Delay 10ms
- LCD_RESET_SET; //reset-->1
- delayms(120); //Delay 200ms
- //************************Start initial sequence***************************
- delayms(500);
- LCD_WR_REG(0x01);
- delayms(200);
-
- LCD_WR_REG(0xCF);
- LCD_WR_DATA(0x00);
- LCD_WR_DATA(0x8B);
- LCD_WR_DATA(0X30);
-
- LCD_WR_REG(0xED);
- LCD_WR_DATA(0x67);
- LCD_WR_DATA(0x03);
- LCD_WR_DATA(0X12);
- LCD_WR_DATA(0X81);
-
- LCD_WR_REG(0xE8);
- LCD_WR_DATA(0x85);
- LCD_WR_DATA(0x10);
- LCD_WR_DATA(0x7A);
-
- LCD_WR_REG(0xCB);
- LCD_WR_DATA(0x39);
- LCD_WR_DATA(0x2C);
- LCD_WR_DATA(0x00);
- LCD_WR_DATA(0x34);
- LCD_WR_DATA(0x02);
-
- LCD_WR_REG(0xF7);
- LCD_WR_DATA(0x20);
-
- LCD_WR_REG(0xEA);
- LCD_WR_DATA(0x00);
- LCD_WR_DATA(0x00);
-
- LCD_WR_REG(0xC0); //Power control
- LCD_WR_DATA(0x1B); //VRH[5:0]
-
- LCD_WR_REG(0xC1); //Power control
- LCD_WR_DATA(0x10); //SAP[2:0];BT[3:0]
-
- LCD_WR_REG(0xC5); //VCM control
- LCD_WR_DATA(0x3F); //3F
- LCD_WR_DATA(0x3C); //3C
-
- LCD_WR_REG(0xC7); //VCM control2
- LCD_WR_DATA(0XB7);
-
- LCD_WR_REG(0x36); // Memory Access Control
- LCD_WR_DATA(0x08);
-
- LCD_WR_REG(0x3A);
- LCD_WR_DATA(0x55);
-
- LCD_WR_REG(0xB1);
- LCD_WR_DATA(0x00);
- LCD_WR_DATA(0x1B);
-
- LCD_WR_REG(0xB6); // Display Function Control
- LCD_WR_DATA(0x0A);
- LCD_WR_DATA(0xA2);
-
- LCD_WR_REG(0xF2); // 3Gamma Function Disable
- LCD_WR_DATA(0x00);
-
- LCD_WR_REG(0x26); //Gamma curve selected
- LCD_WR_DATA(0x01);
-
- LCD_WR_REG(0xE0); //Set Gamma
- LCD_WR_DATA(0x0F);
- LCD_WR_DATA(0x2A);
- LCD_WR_DATA(0x28);
- LCD_WR_DATA(0x08);
- LCD_WR_DATA(0x0E);
- LCD_WR_DATA(0x08);
- LCD_WR_DATA(0x54);
- LCD_WR_DATA(0XA9);
- LCD_WR_DATA(0x43);
- LCD_WR_DATA(0x0A);
- LCD_WR_DATA(0x0F);
- LCD_WR_DATA(0x00);
- LCD_WR_DATA(0x00);
- LCD_WR_DATA(0x00);
- LCD_WR_DATA(0x00);
-
- LCD_WR_REG(0XE1); //Set Gamma
- LCD_WR_DATA(0x00);
- LCD_WR_DATA(0x15);
- LCD_WR_DATA(0x17);
- LCD_WR_DATA(0x07);
- LCD_WR_DATA(0x11);
- LCD_WR_DATA(0x06);
- LCD_WR_DATA(0x2B);
- LCD_WR_DATA(0x56);
- LCD_WR_DATA(0x3C);
- LCD_WR_DATA(0x05);
- LCD_WR_DATA(0x10);
- LCD_WR_DATA(0x0F);
- LCD_WR_DATA(0x3F);
- LCD_WR_DATA(0x3F);
- LCD_WR_DATA(0x0F);
-
-
- LCD_WR_REG(0x11); //Exit Sleep
- delayms(120);
- LCD_WR_REG(0x29); //display on
- LCD_WR_REG(0x2A);
- LCD_WR_DATA(0x00);
- LCD_WR_DATA(0x00);
- LCD_WR_DATA(0x00);
- LCD_WR_DATA(0xEF);
- LCD_WR_REG(0x2B);
- LCD_WR_DATA(0x00);
- LCD_WR_DATA(0x00);
- LCD_WR_DATA(0x01);
- LCD_WR_DATA(0x3F);
- // LCD_WR_REG(0x2C); //往存儲器寫數據
- delayms(10);
- LCD_Clear(RED);
- }
-
- //清屏函數
- //Color:要清屏的填充色
- void LCD_Clear(u16 Color)
- {
- u32 index=0;
- // LCD_SetCursor(0x00,0x0000);//設置光標位置
- LCD_WriteRAM_Prepare(); //開始寫入GRAM
- for(index=0;index<76800;index++)
- {
- LCD_WR_DATA(Color);
- }
- }
- void LCD_WR_DATA(u16 data){ LCD_CS_CLR; LCD_RS_SET; LCD_RD_SET; DATAOUT(data); LCD_WR_CLR; LCD_WR_SET;
- LCD_CS_SET;}//寫寄存器函數void LCD_WR_REG(u8 data){
- LCD_CS_CLR; LCD_RS_CLR;//寫地址 DATAOUT(data); LCD_WR_CLR; LCD_RD_SET; LCD_WR_SET;
- LCD_RS_SET; LCD_CS_SET; }
復制代碼
|
|