救助下ST7567显示的反转问题

2019-12-27 19:00发布

新用了一个液晶显示器,和以前的接线不一样,这个显示是反向的,在不改变显示字体的情况下,有可以配置寄存器让显示反转吗?
附上ST7567的初使化显示代码和液晶datasheet~
QQ图片20170527104057.jpg (138.6 KB, 下载次数: 0) 下载附件 2017-5-27 10:41 上传

void LCD_Init(void)
{
       
        RCC->APB2ENR|=1<<2;//使能PORTA时钟       
//         RCC->APB2ENR|=1<<4;//使能PORTC时钟       

//        RCC->APB2ENR|=1<<0;    //??????
//        JTAG_Set(SWD_ENABLE);  //??SWD
                                                                                         
        //PORTa3~7
        GPIOA->CRL&=0X000000FF;
        GPIOA->CRL|=0X33333300;  
        GPIOA->ODR|=0X00F8;          

        LCD_RESB = 1;
        delay_us(100); //
        LCD_RESB = 0;
        delay_us(100);
        LCD_RESB = 1;
        delay_us(100);

        write_byte(LCD_CMD,0xe2);   // (14) Soft Reset
  write_byte(LCD_CMD,0xa1);         // Set seg direct
  write_byte(LCD_CMD,0xcf);         // Set com direct
//   write_byte(LCD_CMD,0xB0);         //
  write_byte(LCD_CMD,0xf8);         // Set Booster
  write_byte(LCD_CMD,0x00);         // 5x
//   write_byte(LCD_CMD,0xA2);         // set lcd bias = 1/9
  write_byte(LCD_CMD,0xA3);         // set lcd bias = 1/7
  write_byte(LCD_CMD,0x24);         // set internal rb/ra=5.0
//   write_byte(LCD_CMD,0x24);         // set internal rb/ra=5.0
        v_LCD_Write_Windows(SEG_ORG_OFFSET,131,0,8,0x00);
  write_byte(LCD_CMD,0x2f);         // all built-in power circuits on
  write_byte(LCD_CMD,0x81);        // set contrast
  write_byte(LCD_CMD,0x1c);          //vop
  write_byte(LCD_CMD,0xaf);         // dispaly on
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
31条回答
rogerllg
1楼-- · 2019-12-28 13:18
Stargazer-1986 发表于 2017-5-27 11:45
write_byte(LCD_CMD,0xa1);         // Set seg direct
  write_byte(LCD_CMD,0xcf);         // Set com ...

这个只是改变扫描的顺序,也就是先扫后扫的问题,对屏的反转并没有用的~
rogerllg
2楼-- · 2019-12-28 18:55
 精彩回答 2  元偷偷看……
ayumi8
3楼-- · 2019-12-28 21:16
当然有  代码就再LCD初始化里面    可以左右镜像 上下镜像
rogerllg
4楼-- · 2019-12-28 21:39
ayumi8 发表于 2017-5-27 12:38
当然有  代码就再LCD初始化里面    可以左右镜像 上下镜像

知道是哪个寄存器吗?我试了不管用呢~
ayumi8
5楼-- · 2019-12-28 23:34
w_cmd(0xA0);    //ADC selection(SEG0->SEG128)   左右镜像  0XA0  0XA1//ADC select,REVERSE 127-->0(a0,a1)//左右镜像
w_cmd(0xC8);    //SHL selection(COM0->COM64)   //com select,NORMAL 0-->63(c8,c0)//上下镜像
rogerllg
6楼-- · 2019-12-29 03:56
ayumi8 发表于 2017-5-27 12:38
当然有  代码就再LCD初始化里面    可以左右镜像 上下镜像

WrateC(0xA0);//ADC seg
镜像选择
0xa0
正常,
0xA1
左右镜像
  WrateC(0xc0);//com output scan direction

com
镜像选择
0xc0
正常,
0xC8
上下镜像

试了不管用的。

一周热门 更多>