你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

段码LCD显示模糊 且有鬼影!(无奈求助)

[复制链接]
fengye0324 提问时间:2011-12-13 15:44 /
段码LCD显示模糊!求助
液晶初始化程序:
void LCD_GLASS_Init(void)
{
  LCD_InitTypeDef LCD_InitStructure;
  
  LCD_GPIOConfig(); /*!< Configure the LCD Glass GPIO pins */

  /*!< Configure the LCD interface -------------------------------------------*/
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_LCD, ENABLE); /*!< Enable LCD APB1 Clock */
  
  LCD_InitStructure.LCD_Prescaler = LCD_Prescaler_4;
  LCD_InitStructure.LCD_Divider = LCD_Divider_16;
  LCD_InitStructure.LCD_Duty = LCD_Duty_1_8;
  LCD_InitStructure.LCD_Bias = LCD_Bias_1_4;
  LCD_InitStructure.LCD_VoltageSource = LCD_VoltageSource_External;
  LCD_Init(&LCD_InitStructure);
  //LCD_MuxSegmentCmd(DISABLE);
  /*!< Configure the Pulse On Duration */
  LCD_PulseOnDurationConfig(LCD_PulseOnDuration_7);
  //LCD_DeadTimeConfig(LCD_DeadTime_3);
  // LCD_HighDriveCmd(ENABLE);
  /*!< Configure the LCD Contrast (3.51V) */
  LCD_ContrastConfig(LCD_Contrast_Level_3);

  /*!< Wait Until the LCD FCR register is synchronized */
  LCD_WaitForSynchro();
  
  /*!< Enable LCD peripheral */
  LCD_Cmd(ENABLE);
  
  /*!< Wait Until the LCD is enabled */
  while(LCD_GetFlagStatus(LCD_FLAG_ENS) == RESET)
  {
  }
  /*!< Wait Until the LCD Booster is ready */  
  while(LCD_GetFlagStatus(LCD_FLAG_RDY) == RESET)
  {
  }   
}

void LCD_GPIOConfig(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;
  
  /*!< Enable GPIOA, GPIOB, GPIOC, GPIOD and GPIOE AHB Clocks */
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA | RCC_AHBPeriph_GPIOB | RCC_AHBPeriph_GPIOC
                        | RCC_AHBPeriph_GPIOD , ENABLE);

  /*!< Connect PA.08 to LCD COM0 */
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource8, GPIO_AF_LCD);

  /*!< Connect PA.09 to LCD COM1 */
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_LCD);

  /*!< Connect PA.10 to LCD COM2 */
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_LCD);

  /*!< Connect PB.09 to LCD COM3 */
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource9, GPIO_AF_LCD);
  
    /*!< Connect PC.10 to LCD COM4 */
  GPIO_PinAFConfig(GPIOC, GPIO_PinSource10, GPIO_AF_LCD);

  /*!< Connect PC.11 to LCD COM5 */
  GPIO_PinAFConfig(GPIOC, GPIO_PinSource11, GPIO_AF_LCD);

  /*!< Connect PC.12 to LCD COM6 */
  GPIO_PinAFConfig(GPIOC, GPIO_PinSource12, GPIO_AF_LCD);

  /*!< Connect PD.2 to LCD COM7 */
  GPIO_PinAFConfig(GPIOD, GPIO_PinSource2, GPIO_AF_LCD);

  /*!< Connect PA.01 to LCD SEG0 */
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource1, GPIO_AF_LCD);

  /*!< Connect PA.02 to LCD SEG1 */
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_LCD);

  /*!< Connect PA.03 to LCD SEG2 */
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_LCD);

  /*!< Connect PA.06 to LCD SEG3 */
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource6, GPIO_AF_LCD);

  /*!< Connect PA.07 to LCD SEG4 */
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource7, GPIO_AF_LCD);

  /*!< Connect PB.00 to LCD SEG5 */
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource0, GPIO_AF_LCD);

  /*!< Connect PB.01 to LCD SEG6 */
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource1, GPIO_AF_LCD);
  
  /*!< Connect PB.05 to LCD SEG9 */
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource5, GPIO_AF_LCD);

  /*!< Connect PB.10 to LCD SEG10 */
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource10, GPIO_AF_LCD);

  /*!< Connect PB.11 to LCD SEG11 */
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource11, GPIO_AF_LCD);
  
  /*!< Connect PB.12 to LCD SEG12 */
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource12, GPIO_AF_LCD);
  
  /*!< Connect PB.13 to LCD SEG13 */
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_LCD);
  
  /*!< Connect PB.14 to LCD SEG14*/
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource14, GPIO_AF_LCD);
  
  /*!< Connect PB.15 to LCD SEG15 */
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource15, GPIO_AF_LCD);

  /*!< Connect PB.08 to LCD SEG16 */
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource8, GPIO_AF_LCD);

  /*!< Connect PC.00 to LCD SEG18 */
  GPIO_PinAFConfig(GPIOC, GPIO_PinSource0, GPIO_AF_LCD);

  /*!< Connect PC.01 to LCD SEG19 */
  GPIO_PinAFConfig(GPIOC, GPIO_PinSource1, GPIO_AF_LCD);

  /*!< Connect PC.02 to LCD SEG20 */
  GPIO_PinAFConfig(GPIOC, GPIO_PinSource2, GPIO_AF_LCD);

  /*!< Connect PC.03 to LCD SEG21 */
  GPIO_PinAFConfig(GPIOC, GPIO_PinSource3, GPIO_AF_LCD);

  /*!< Connect PC.04 to LCD SEG22 */
  GPIO_PinAFConfig(GPIOC, GPIO_PinSource4, GPIO_AF_LCD);

  /*!< Connect PC.05 to LCD SEG23 */
  GPIO_PinAFConfig(GPIOC, GPIO_PinSource5, GPIO_AF_LCD);

    /*!< Connect PC.06 to LCD SEG24 */
  GPIO_PinAFConfig(GPIOC, GPIO_PinSource6, GPIO_AF_LCD);
  
    /*!< Connect PC.07 to LCD SEG25 */
  GPIO_PinAFConfig(GPIOC, GPIO_PinSource7, GPIO_AF_LCD);

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_6 | \
                                GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  GPIO_Init(GPIOA, &GPIO_InitStructure);

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 |GPIO_Pin_5 | GPIO_Pin_8 | GPIO_Pin_9 | \
                                GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
  GPIO_Init(GPIOB, &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_Pin_10 | GPIO_Pin_11 | \
                                GPIO_Pin_12;
  GPIO_Init(GPIOC, &GPIO_InitStructure);

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 ;
  GPIO_Init(GPIOD, &GPIO_InitStructure);
}

            各位工程师!这里请教一个问题!
            本人使用STM32L152RBT6 做一个产品,但在使用段码液晶驱动时出现一个问题,液晶显示太淡,要很低的角度才能看清,这是什么原因呢?
            段码液晶为定做的液晶,1/4bias,1/8duty,工作电压为3.0V
            我试过改成 LCD_VoltageSource_Internal,效果也是一样的,测试过COM和SEG的波形,有很多毛刺,但是不接LCD的话 就没有毛刺
            
            
            
            
收藏 评论14 发布时间:2011-12-13 15:44

举报

14个回答
废鱼 回答时间:2011-12-13 16:36:15

RE: 段码LCD显示模糊 且有鬼影!(无奈求助)

能不能把你的LCD的资料发上来,我看看。这个应该是和背景有关系的。还有就是LCD本身的问题。
青檬 回答时间:2011-12-13 17:08:49

RE: 段码LCD显示模糊 且有鬼影!(无奈求助)

程序的问题,段码的在显示一个段码时,其他段码要出去失能状态!
fengye0324 回答时间:2011-12-13 17:12:39

回复: 段码LCD显示模糊 且有鬼影!(无奈求助)

我的是定制的LCD   8COM*23SEG,控制器用的是HD61602,我手上有的资料也只是LCD管脚顺序的资料
回复第 2 楼 于2011-12-13 08:36:15发表:
能不能把你的LCD的资料发上来,我看看。这个应该是和背景有关系的。还有就是LCD本身的问题。
 
 
fengye0324 回答时间:2011-12-13 17:14:36

回复: 段码LCD显示模糊 且有鬼影!(无奈求助)

我用的是STM32L内部自带的LCD驱动,驱动时序图不用我自己控制,只是要自己初始化好了就行了吧,应该不存在显示的过程中还要重新失能或失能控制管脚吧
回复第 3 楼 于2011-12-13 09:08:49发表:
程序的问题,段码的在显示一个段码时,其他段码要出去失能状态!
 
fengye0324 回答时间:2011-12-13 17:19:00

回复: 段码LCD显示模糊 且有鬼影!(无奈求助)

你所说的背景指的是什么意思?还有LCD本身的问题,能说的详细一点吗
回复第 2 楼 于2011-12-13 08:36:15发表:
能不能把你的LCD的资料发上来,我看看。这个应该是和背景有关系的。还有就是LCD本身的问题。
 
废鱼 回答时间:2011-12-13 21:23:50

RE: 段码LCD显示模糊 且有鬼影!(无奈求助)

看一下资料,才知道应该有哪些需要注意的?
fengye0324 回答时间:2011-12-14 14:00:39

回复: 段码LCD显示模糊 且有鬼影!(无奈求助)

回复第 7 楼 于2011-12-13 13:23:50发表:
看一下资料,才知道应该有哪些需要注意的?
这是液晶控制器的资料
 

HD61602.pdf

下载

1.23 MB, 下载次数: 84

fengye0324 回答时间:2011-12-14 14:01:03

回复: 段码LCD显示模糊 且有鬼影!(无奈求助)

 
fengye0324 回答时间:2011-12-21 11:45:04

RE: 段码LCD显示模糊 且有鬼影!(无奈求助)

没人有这方面经验吗
FZSunDK-62268 回答时间:2012-4-19 14:56:01

回复: 段码LCD显示模糊 且有鬼影!(无奈求助)

STM32L芯片上本身就有HD,你何苦还用HD61602
senboo2013 回答时间:2014-5-10 11:06:06

回复: 段码LCD显示模糊 且有鬼影!(无奈求助)

兄弟,这是电压高了,或者您的液晶屏电压做低了 ,如果有什么疑问可以咨询我,深圳市森本显示科技有限公司,专业做LCD,段码液晶屏\背光源,黎生,电话13824301747
jeromeRo 回答时间:2015-2-11 16:58:16
我以前下属公司是做段码LCD的,象这种情况,希望以后的兄弟们要小心了,BIAS和DUTY不能太多了,不然显示不好。BIAS和DUTY一旦超过3COM,电压就要4.5V以上显示才好点,COM越多DUTY越多,BIas相应也要增加,就要调高电压使其显示分开大一点,才不会出现模糊和鬼影的
ttjlc 回答时间:2017-3-29 11:36:02
你屏的参数呢?屏要求的驱动电压是3V,8个COM电压这么低不太可能,通常应该是5V,自己仔细对一下资料。
jock-1170246 回答时间:2019-5-7 13:27:45
学习了,很有用的资料。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版