[STM32]

stm32驱动晶联讯液晶

[复制链接]
1771|5
手机看帖
扫描二维码
随时随地手机跟帖
andaqqq|  楼主 | 2016-7-10 20:41 | 显示全部楼层 |阅读模式
各位大大新人求助,用stm32驱动晶联讯的12864,初始化都是按照说明书例程写的,液晶型号是JLX12864G-332-PC,就是显示不了,麻烦各位大大看下程序,谢谢
void RCC_Configuration(void);
void GPIO_Configuration(void);
void LED_init(void);
void delay(unsigned int ms);
void LcdWcom(unsigned char WCom);
void LcdWdata(unsigned char WData);


int main(void)
{
   RCC_Configuration();        //系统时钟初始化
   GPIO_Configuration();//端口初始化
   LED_init();
   delay(10);
   LcdWcom(0x85);
   delay(10);
   LcdWdata(3);


   

}

void RCC_Configuration(void)
{
    SystemInit();
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
}

void GPIO_Configuration(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;       

        GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
        GPIO_Init(GPIOD,&GPIO_InitStructure);

        GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;
        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
        GPIO_Init(GPIOB,&GPIO_InitStructure);

        GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1;
        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
        GPIO_Init(GPIOE,&GPIO_InitStructure);

        GPIO_InitStructure.GPIO_Pin=GPIO_Pin_14|GPIO_Pin_15;
        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
        GPIO_Init(GPIOA,&GPIO_InitStructure);

}

void LED_init(void)
{
GPIO_ResetBits(GPIOB,GPIO_Pin_4);//cs
  GPIO_SetBits(GPIOB,GPIO_Pin_8); //rom_cs
  GPIO_ResetBits(GPIOB,GPIO_Pin_5);//reset
  delay(20);
  GPIO_SetBits(GPIOB,GPIO_Pin_5);
  delay(20);


  LcdWcom(0xe2);
   delay(10);
  LcdWcom(0x2c);
   delay(10);
   LcdWcom(0x2e);
   delay(10);
   LcdWcom(0x2f);
   delay(10);
   LcdWcom(0x24);
   delay(10);
   LcdWcom(0x81);
   delay(10);
   LcdWcom(0x0f);
   delay(10);
   LcdWcom(0xa2);
   delay(10);
   LcdWcom(0xc8);
   delay(10);
   LcdWcom(0xa0);
   delay(10);
   LcdWcom(0x60);
   delay(10);
   LcdWcom(0xaf);
   delay(10);

  GPIO_SetBits(GPIOB,GPIO_Pin_4);//cs置1
  delay(10);

}

void delay(unsigned int ms)
{
unsigned int x,y;
for(x=0;x<ms;x++)
for(y=0;y<8000;y++);
}

void LcdWcom(unsigned char WCom)
{
delay(10);
GPIO_ResetBits(GPIOB,GPIO_Pin_4);//cs
GPIO_ResetBits(GPIOB,GPIO_Pin_6);//rs
GPIO_ResetBits(GPIOA,GPIO_Pin_15);//E
GPIO_ResetBits(GPIOA,GPIO_Pin_14);//RW
GPIO_Write(GPIOD,WCom);
GPIO_SetBits(GPIOA,GPIO_Pin_15);
delay(10);
GPIO_SetBits(GPIOB,GPIO_Pin_4);
delay(10);
}



void LcdWdata(unsigned char WData)
{
delay(10);
GPIO_ResetBits(GPIOB,GPIO_Pin_4);
GPIO_SetBits(GPIOB,GPIO_Pin_6);
GPIO_ResetBits(GPIOA,GPIO_Pin_15);
GPIO_ResetBits(GPIOA,GPIO_Pin_14);
GPIO_Write(GPIOD, WData);
GPIO_SetBits(GPIOA,GPIO_Pin_15);
delay(10);
GPIO_SetBits(GPIOB,GPIO_Pin_4);
delay(10);
}

相关帖子

muelfox| | 2017-12-4 22:34 | 显示全部楼层
我的JLX1286G-378也搞不好

使用特权

评论回复
muelfox| | 2017-12-5 15:58 | 显示全部楼层
刚在C51上搞通

使用特权

评论回复
airwill| | 2018-1-14 14:42 | 显示全部楼层
上这么一段代码让人帮你改程序呀?
什么, 连注释都没有.
时序是关键, 先验证读写时序吧,  一般问题都出现在这方面

使用特权

评论回复
czdpj| | 2018-1-24 08:27 | 显示全部楼层
重点关注时序和端口设置,可以先调通51驱动,再逐步核对。

使用特权

评论回复
ningling_21| | 2018-1-24 10:39 | 显示全部楼层
void Init_lcd(uchar lcd_dat )
{

         CS_L();

         RST_L();
   Delaynms(200);
         Delaynms(200);
         Delaynms(200);
         Delaynms(200);
//   RST=1;
         RST_H();
   Delaynms(20);
   Wr_lcd_cmd(0xe2);
   Delaynms(5);
   Wr_lcd_cmd(0x2c);
   Delaynms(5);
   Wr_lcd_cmd(0x2c);
   Delaynms(5);
   Wr_lcd_cmd(0x2f);
   Delaynms(5);
//   Wr_lcd_cmd(0x25);   // 粗调对比度 21-28   //23
   Wr_lcd_cmd(lcd_dat);
   Wr_lcd_cmd(0x8f);   // 微调对比度                  //81
   Wr_lcd_cmd(0x38);   // 微调对比度值 00-3F //28
   Wr_lcd_cmd(0xa2);   // 偏压比1/9
   Wr_lcd_cmd(0xc8);
   Wr_lcd_cmd(0xa0);   // 列扫描顺序
   Wr_lcd_cmd(0x40);
   Wr_lcd_cmd(0xaf);   // 开显示
//   CS =1;
   CS_H();
}



串口12864初始化程序供参考

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

1

粉丝