智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 4381|回复: 7
打印 上一主题 下一主题

关于5110液晶只有黑屏,没有字符显示(调了对比度就是不显示字符)

[复制链接]

10

主题

22

帖子

0

精华

高级会员

Rank: 4

积分
983
威望
498
贡献
295
兑换币
302
注册时间
2014-3-16
在线时间
95 小时
毕业学校
安徽工业大学
跳转到指定楼层
1#
发表于 2014-6-25 20:50:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/***********************************************************
函数名称:LCD_write_byte
函数功能:模拟SPI接口时序写数据/命令LCD
入口参数:data    :写入的数据;
          command :写数据/命令选择;
出口参数:无
备 注:
***********************************************************/
void LCD_write_byte(unsigned char data,unsigned char command)
  {
    unsigned char i;
    LCD_CE=0;                                          //5110片选有效,允许输入数据
    if(command==0)                  //写命令
    {
     LCD_DC=0;                                    //数据/命令切换引脚
    }
    else
    {
     LCD_DC=1;                  //写数据
    }
          for(i=0;i<8;i++)                //传送8bit数据
                {
                 SCLK=0;
                 if(data&0x80)      //&为位与运算1101&1111=1101
                {
                 SDIN=1;
                }
                 else
                {  
                 SDIN=0;
                }
                 SCLK=1;
                 data=data<<1;  
                }
    LCD_CE=1;                                        //禁止5110
  }



/***********************************************************
函数名称:LCD_init
函数功能:5110初始化
入口参数:无
出口参数:无
备 注:
***********************************************************/
void LCD_init(void)
  {
   LCD_RST=0;     //产生一个让LCD复位的低电平脉冲
   delay_1us();
   LCD_RST=1;
   LCD_CE=0;      //关闭LCD    *****(CE为片选端,0为输入有效)*****
   delay_1us();
   LCD_CE=1;      //使能LCD
   delay_1us();


    LCD_write_byte(0x21,0);        // 使用扩展命令设置LCD模式
    LCD_write_byte(0xc5,0);        // 设置液晶偏置电压
    LCD_write_byte(0x06,0);        // 温度校正
    LCD_write_byte(0x13,0);        // 1:48(偏置系统设置)
    LCD_write_byte(0x20,0);        // 使用基本命令,V=0,水平寻址
    LCD_write_byte(0x0c,0);        // 设定显示配置,普通模式
    LCD_CE=1;      // 关闭LCD
  }



/***********************************************************
函数名称:LCD_set_XY
函数功能:设置LCD坐标函数
入口参数:X       :0-83
          Y       :0-5
出口参数:无
备 注:
***********************************************************/
void LCD_set_XY(unsigned char X, unsigned char Y)
  {                                
    LCD_write_byte(0x40|Y,0);                  // column
    LCD_write_byte(0x80|X,0);     // row
  }  


/***********************************************************
函数名称:LCD_write_char
函数功能:字符显示程序
***********************************************************/  
void LCD_write_char(unsigned char c)
{
    int line;
    c=c-32;
    for(line=0;line<6;line++)
    {  
     LCD_write_byte(font6x8[c][line],1);  
    }
}



/***********************************************************
函数名称:LCD_write_english_string
函数功能:打印字符串
***********************************************************/  
void LCD_write_english_string(unsigned char X,unsigned char Y,unsigned char *s)
  {
    LCD_set_XY(X,Y);
    while(*s)
    {
     LCD_write_char(*s++);
    }
  }


/***********************************************************
函数名称:LCD_clear
函数功能?LCD清屏函数
***********************************************************/
void LCD_clear(void)
{
char t;  
char k;  
LCD_set_XY(0,0);  
for(t=0;t<6;t++)   //因液晶可自动向前推进,所以写一次地址即可
{     
  for(k=0;k<84;k++)  
  {     
   LCD_write_byte(0x00,1);      
  }   
}
}

回复

使用道具 举报

0

主题

1

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
492
威望
246
贡献
146
兑换币
151
注册时间
2013-7-2
在线时间
50 小时
毕业学校
杭州电子科技大学
2#
发表于 2014-6-25 20:54:12 | 只看该作者
设置偏置电压试试
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
341
威望
184
贡献
97
兑换币
104
注册时间
2013-3-27
在线时间
30 小时
毕业学校
河南工业大学
3#
发表于 2014-6-26 11:28:54 | 只看该作者
供电电压高了吧?
回复 支持 反对

使用道具 举报

10

主题

22

帖子

0

精华

高级会员

Rank: 4

积分
983
威望
498
贡献
295
兑换币
302
注册时间
2014-3-16
在线时间
95 小时
毕业学校
安徽工业大学
4#
 楼主| 发表于 2014-6-26 12:12:46 | 只看该作者
5V供电,液晶上写着3~5V,应该没问题吧
回复 支持 反对

使用道具 举报

5

主题

90

帖子

0

精华

高级会员

Rank: 4

积分
861
威望
426
贡献
225
兑换币
274
注册时间
2013-5-2
在线时间
105 小时
5#
发表于 2014-6-28 21:02:56 | 只看该作者
我们用的3.3 没有问题
回复 支持 反对

使用道具 举报

8

主题

116

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1531
威望
797
贡献
478
兑换币
532
注册时间
2013-11-8
在线时间
128 小时
6#
发表于 2014-6-29 04:55:50 | 只看该作者
我们的液晶能正常显示 但会突然清屏(非程序设定) 不知道为啥  求指点啊
回复 支持 反对

使用道具 举报

10

主题

22

帖子

0

精华

高级会员

Rank: 4

积分
983
威望
498
贡献
295
兑换币
302
注册时间
2014-3-16
在线时间
95 小时
毕业学校
安徽工业大学
7#
 楼主| 发表于 2014-6-29 22:42:48 | 只看该作者
Need-freedom 发表于 2014-6-29 04:55
我们的液晶能正常显示 但会突然清屏(非程序设定) 不知道为啥  求指点啊

我都只有黑屏,还想请教你呢
回复 支持 反对

使用道具 举报

12

主题

222

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3757
威望
1885
贡献
1062
兑换币
1229
注册时间
2013-12-14
在线时间
405 小时
8#
发表于 2014-6-30 13:12:05 | 只看该作者
系髓 发表于 2014-6-29 22:42
我都只有黑屏,还想请教你呢

偏置电压
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-21 01:52 , Processed in 0.048406 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表