注册 登录
查看: 2946|回复: 23

[其他] 小液晶显示失败的解决方法

[复制链接]
发表于 2014-4-26 21:20:04 | 显示全部楼层 |阅读模式
首先判断一下代码里是否有选择正确液晶,参考如下帖子:
【一天攻破K60】一键切换TFT液晶屏幕的说明 - 一天攻破K60 - 山外-vcan123论坛 http://www.vcan123.com/forum.php?mod=viewthread&tid=1320&ctid=1

然后判断是否接触不良导致的:
下面有两个代码,分别在LCD的IO口输出高电平和低电平,分别烧录这两个程序,然后万用表测测电压正不正常。
http://pan.baidu.com/s/1nthWOOx
上面的例程是K60的,如果是KL26,复制main函数到现有的工程就好:

  1. void main()
  2. {
  3.     uint8 n;
  4.     for(n = 0; n < 8; n++)
  5.     {
  6.         gpio_init  ((PTXn_e)(PTB16 + n), GPO, 1);
  7.     }


  8.     gpio_init  (LCD_ST7735S_WR, GPO, 1);
  9.     gpio_init  (LCD_ST7735S_RD, GPO, 1);
  10.     gpio_init  (LCD_ST7735S_CS, GPO, 1);
  11.     gpio_init  (LCD_ST7735S_RS, GPO, 1);
  12.     gpio_init  (LCD_ST7735S_RST, GPO, 1);
  13. }


接着检测超频频率是否过高,可以参考这个帖子:K60 KL26 主频和总线频率的关系 - 智能车资料区 - 山外-vcan123论坛 http://www.vcan123.com/forum.php?mod=viewthread&tid=81&ctid=1

如果是K60 的 FX单片机,有可能是IO驱动能力不足导致的,尤其是用jlink供电。
可以修改 board/FIRE_LCD_ST7735S.c 里面的初始化函数。如下,留意红色部分的代码:



加入了 port初始化,主要是 HDS 输出高驱动能力 ,即增大驱动功耗(电流)。

整个的初始化代码修改为:
  1. void    LCD_ST7735S_init()
  2. {
  3.     uint8 n ;

  4.     for(n = 0; n < 8; n++)
  5.     {
  6.         gpio_init  ((PTXn_e)(PTC0 + n), GPO, 0);
  7.     }


  8.     gpio_init  (LCD_ST7735S_WR, GPO, 0);
  9.     gpio_init  (LCD_ST7735S_RD, GPO, 1);
  10.     gpio_init  (LCD_ST7735S_CS, GPO, 1);
  11.     gpio_init  (LCD_ST7735S_RS, GPO, 0);
  12.     gpio_init  (LCD_ST7735S_RST, GPO, 0);

  13.     port_init  (LCD_ST7735S_WR , ALT1 | HDS);
  14.     port_init  (LCD_ST7735S_RD , ALT1 | HDS);
  15.     port_init  (LCD_ST7735S_CS , ALT1 | HDS);
  16.     port_init  (LCD_ST7735S_RS , ALT1 | HDS);

  17.     //port_init  (LCD_ST7735S_WR , ALT1 | HDS);

  18.     //初始化总线
  19.     LCD_ST7735S_RST_OUT = 0;
  20.     ST7735S_DELAY();
  21.     LCD_ST7735S_RST_OUT = 1;
  22.     ST7735S_DELAY_MS(500);      //上电给足够时间

  23.     LCD_ST7735S_WR_8CMD(0x11);           //Sleep out   退出睡眠模式
  24.     ST7735S_DELAY_MS(120);      //Delay 120ms
  25.     //------------------------------------ST7735S Frame Rate-----------------------------------------//
  26.     /* Set the frame frequency of the full colors normal mode. */
  27.     LCD_ST7735S_WR_8CMD(0xB1);     //In Normal Mode (Full Colors)    全屏模式
  28.     LCD_ST7735S_WR_8DATA(0x05);    //设置 RTNA Set 1-line  Period  一行周期
  29.     LCD_ST7735S_WR_8DATA(0x3A);    //设置 FPA: Front Porch
  30.     LCD_ST7735S_WR_8DATA(0x3A);    //设置 BPA: Back Porch
  31.     //Frame rate=fosc/((RTNA x 2 + 40) x (LINE + FPA + BPA +2))
  32.     //其中 fosc = 850kHz

  33.     /* Set the frame frequency of the Idle mode.  */
  34.     LCD_ST7735S_WR_8CMD(0xB2);     //In Idle Mode (8-colors)
  35.     LCD_ST7735S_WR_8DATA(0x05);
  36.     LCD_ST7735S_WR_8DATA(0x3A);
  37.     LCD_ST7735S_WR_8DATA(0x3A);

  38.     /* Set the frame frequency of the Partial mode/ full colors. */
  39.     LCD_ST7735S_WR_8CMD(0xB3);
  40.     LCD_ST7735S_WR_8DATA(0x05);
  41.     LCD_ST7735S_WR_8DATA(0x3A);
  42.     LCD_ST7735S_WR_8DATA(0x3A);
  43.     LCD_ST7735S_WR_8DATA(0x05);
  44.     LCD_ST7735S_WR_8DATA(0x3A);
  45.     LCD_ST7735S_WR_8DATA(0x3A);

  46.     //------------------------------------End ST7735S Frame Rate-----------------------------------------//
  47.     LCD_ST7735S_WR_8CMD(0xB4);   //Display Inversion Control  显示反转控制

  48.     LCD_ST7735S_WR_8DATA(0x07);  //LCD_ST7735S_WR_8DATA(0x03); 原来为3,改为7
  49.     // 低三位从高到低,分别为  full colors normal mode 、Idle mode 、
  50.     // full Colors partial mode  的 点反转 或 列反转 ,1为列反转

  51.     LCD_ST7735S_WR_8CMD(0xC0);   //Power Control Setting  电源控制设置
  52.     LCD_ST7735S_WR_8DATA(0x28);
  53.     LCD_ST7735S_WR_8DATA(0x08);
  54.     LCD_ST7735S_WR_8DATA(0x84);
  55.     LCD_ST7735S_WR_8CMD(0xC1);
  56.     LCD_ST7735S_WR_8DATA(0XC0);
  57.     LCD_ST7735S_WR_8CMD(0xC2);
  58.     LCD_ST7735S_WR_8DATA(0x0C);
  59.     LCD_ST7735S_WR_8DATA(0x00);
  60.     LCD_ST7735S_WR_8CMD(0xC3);
  61.     LCD_ST7735S_WR_8DATA(0x8C);
  62.     LCD_ST7735S_WR_8DATA(0x2A);
  63.     LCD_ST7735S_WR_8CMD(0xC4);
  64.     LCD_ST7735S_WR_8DATA(0x8A);
  65.     LCD_ST7735S_WR_8DATA(0xEE);
  66.     //---------------------------------End ST7735S Power Sequence-------------------------------------//
  67.     LCD_ST7735S_WR_8CMD(0xC5);   //  VCOM 电压配置
  68.     LCD_ST7735S_WR_8DATA(0x0C); //  -0.725
  69.     //------------------------------------ST7735S Gamma Sequence-----------------------------------------//
  70.     LCD_ST7735S_WR_8CMD(0xE0);
  71.     LCD_ST7735S_WR_8DATA(0x05);
  72.     LCD_ST7735S_WR_8DATA(0x1A);
  73.     LCD_ST7735S_WR_8DATA(0x0C);
  74.     LCD_ST7735S_WR_8DATA(0x0E);
  75.     LCD_ST7735S_WR_8DATA(0x3A);
  76.     LCD_ST7735S_WR_8DATA(0x34);
  77.     LCD_ST7735S_WR_8DATA(0x2D);
  78.     LCD_ST7735S_WR_8DATA(0x2F);
  79.     LCD_ST7735S_WR_8DATA(0x2D);
  80.     LCD_ST7735S_WR_8DATA(0x2A);
  81.     LCD_ST7735S_WR_8DATA(0x2F);
  82.     LCD_ST7735S_WR_8DATA(0x3C);
  83.     LCD_ST7735S_WR_8DATA(0x00);
  84.     LCD_ST7735S_WR_8DATA(0x01);
  85.     LCD_ST7735S_WR_8DATA(0x02);
  86.     LCD_ST7735S_WR_8DATA(0x10);
  87.     LCD_ST7735S_WR_8CMD(0xE1);
  88.     LCD_ST7735S_WR_8DATA(0x04);
  89.     LCD_ST7735S_WR_8DATA(0x1B);
  90.     LCD_ST7735S_WR_8DATA(0x0D);
  91.     LCD_ST7735S_WR_8DATA(0x0E);
  92.     LCD_ST7735S_WR_8DATA(0x2D);
  93.     LCD_ST7735S_WR_8DATA(0x29);
  94.     LCD_ST7735S_WR_8DATA(0x24);
  95.     LCD_ST7735S_WR_8DATA(0x29);
  96.     LCD_ST7735S_WR_8DATA(0x28);
  97.     LCD_ST7735S_WR_8DATA(0x26);
  98.     LCD_ST7735S_WR_8DATA(0x31);
  99.     LCD_ST7735S_WR_8DATA(0x3B);
  100.     LCD_ST7735S_WR_8DATA(0x00);
  101.     LCD_ST7735S_WR_8DATA(0x00);
  102.     LCD_ST7735S_WR_8DATA(0x03);
  103.     LCD_ST7735S_WR_8DATA(0x12);
  104.     //------------------------------------End ST7735S Gamma Sequence-----------------------------------------//

  105.     LCD_ST7735S_WR_8CMD(0x3A); //65k mode
  106.     LCD_ST7735S_WR_8DATA(0x05);
  107.     LCD_ST7735S_WR_8CMD(0x29); //开显示 Display on
  108.     LCD_ST7735S_WR_8CMD(0x2c); //

  109.     LCD_ST7735S_dir(st7735s_dir);

  110. }

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

本帖被以下淘专辑推荐:

回复

使用道具 举报

发表于 2014-6-23 10:36:40 | 显示全部楼层
好,不错不错
回复 支持 反对

使用道具 举报

发表于 2014-6-23 10:38:33 | 显示全部楼层
管理员,ST7735S 怎样显示一个数组里面的小数呀?
回复 支持 反对

使用道具 举报

发表于 2014-7-9 20:40:39 | 显示全部楼层
显示的site并不是屏幕左上角
回复 支持 反对

使用道具 举报

发表于 2014-7-14 11:22:58 | 显示全部楼层
我们的小液晶不亮了,,我试试,,
回复 支持 反对

使用道具 举报

发表于 2014-7-14 12:30:00 | 显示全部楼层
经过测试发现在输出全为高电平程序中,有两个管脚为1.4V左右,有一个为0V
能修吗???
回复 支持 反对

使用道具 举报

发表于 2014-11-4 15:55:37 | 显示全部楼层
山外哥,我新买的液晶还是不能用,已经找你的方法看过了,还是不行啊
回复 支持 反对

使用道具 举报

发表于 2014-11-4 16:10:54 | 显示全部楼层
:):)
回复 支持 反对

使用道具 举报

发表于 2015-3-28 21:00:06 | 显示全部楼层
山外个 我的小液晶在同样的程序里 前几天还显示字母 但过了几天就不显示了
则么回事呢?
回复 支持 反对

使用道具 举报

发表于 2015-3-28 21:00:26 | 显示全部楼层
山外哥
回复 支持 反对

使用道具 举报

发表于 2015-3-29 00:14:35 | 显示全部楼层
参考一下
回复 支持 反对

使用道具 举报

发表于 2015-7-3 19:56:02 | 显示全部楼层
可能是应为分辨率的问题
回复 支持 反对

使用道具 举报

发表于 2016-3-7 11:04:20 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2016-5-16 20:54:27 | 显示全部楼层
我们液晶显示分成四个部分?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-16 23:47:27 | 显示全部楼层
wangshiruyan 发表于 2016-5-16 20:54
我们液晶显示分成四个部分?

上图描述
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2016-9-17 21:34:04 | 显示全部楼层
山外哥,我用的是你给的历程,,有了的引脚按照你的改了之后,小液晶是全白的。这是为什么呢?http://www.vcan123.com/forum.php ... tid=1320&ctid=1是按照这上面改的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-17 21:35:02 | 显示全部楼层
790301267 发表于 2016-9-17 21:34
山外哥,我用的是你给的历程,,有了的引脚按照你的改了之后,小液晶是全白的。这是为什么呢?http://www.v ...

初始化函数改了没?

检查一下io口的输出高低电平是否正常
回复 支持 反对

使用道具 举报

发表于 2016-9-18 15:36:41 | 显示全部楼层
山外メ雲ジ 发表于 2016-9-17 21:35
初始化函数改了没?

检查一下io口的输出高低电平是否正常

我就改了这四个地方,其他的没改了。虽然没有加速器传感器,但是我只是想,测试下显示屏,应该没影响。然而到现在,他还是没显示,整个屏幕是白的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2016-9-18 15:39:15 | 显示全部楼层
山外メ雲ジ 发表于 2016-9-17 21:35
初始化函数改了没?

检查一下io口的输出高低电平是否正常

io口输出似乎没有问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-18 15:39:25 | 显示全部楼层
790301267 发表于 2016-9-18 15:36
我就改了这四个地方,其他的没改了。虽然没有加速器传感器,但是我只是想,测试下显示屏,应该没影响。然 ...

第一个图,并没有把下方的配置文件也截图全了。

先判断LCD的型号是否选对了。
【一天攻破K60】一键切换TFT液晶屏幕的说明 - 智能车资料区 - 山外论坛 http://www.vcan123.com/forum.php ... id=1320&ctid=26

代码支持多款液晶,按帖子的方法,选择对应的液晶。


都没问题,就要怀疑是不是IO口有问题
回复 支持 反对

使用道具 举报

发表于 2016-9-18 15:53:20 | 显示全部楼层
山外メ雲ジ 发表于 2016-9-18 15:39
第一个图,并没有把下方的配置文件也截图全了。

先判断LCD的型号是否选对了。


选择的液晶没有错,这一点我百分百确定。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-18 15:54:26 | 显示全部楼层
790301267 发表于 2016-9-18 15:53
选择的液晶没有错,这一点我百分百确定。

那就进行下一步的检查,看我刚才的回复。
回复 支持 反对

使用道具 举报

发表于 2016-9-18 16:46:14 | 显示全部楼层
山外メ雲ジ 发表于 2016-9-18 15:54
那就进行下一步的检查,看我刚才的回复。

我学长调出来了。于是我复制了这三个文件.c和.h;然后就可以用了,我怀疑是我的库出了点问题。山外哥,有没有新的库呀?最后谢谢山外哥的耐心教授。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-18 16:47:51 | 显示全部楼层
790301267 发表于 2016-9-18 16:46
我学长调出来了。于是我复制了这三个文件.c和.h;然后就可以用了,我怀疑是我的库出了点问题。山外哥,有 ...

可以直接问客服那边获取
回复 支持 反对

使用道具 举报

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

本版积分规则

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