这段时间玩转STM32F103ZET6接TFT彩屏ILI9325遇到的轴显示镜像问题,在网上查了很多资料,可能是自己能力问题,看完都没解决问题。自己对ILI9325数据手册[ILI9325DS_V0.29.pdf]详细看完以后,终于解决了,所以分享出来给大家,希望大家少走弯路。

首先说一下TFT彩屏ILI9325的工作模式。(看这个文章,必须要有LED灯点亮的基础)

1、彩屏横轴方向(240)是控制显示颜色的(320X240中的240点位,实际控制是(R线+G线+B线)*240,实际是上3*240=720根线,这720根线为S1-S720,即3根线(RGB)一组控制240个点位)。

2、彩屏竖轴方向(320)是门电路G1-G320,是控制哪一行通电。即当S线设置好颜色了,G哪行亮,哪行就显示S线设置的颜色。

3、TFT屏默认的显示方向是:S1->S720为一行的颜色设置,G1-G320总共有320行(S1->S720),那么总供的输出点实际上是(240*3)*320=230400个点位。

一、只要求X轴镜像恢复正常。把Source即RGB控制扫描方式反过来就可以了。

程序编译完成,下载正常,可是显示却X镜像了,如下图。

在网上多方查找,说要改什么I/D0,I/D1,实践结果根本不行。

后在网上下载了TFT彩屏的ILI9325数据手册,发现,只要改01h下的D8寄存器值就可以了。

相信大家看完就该理解了。

以下是改完以后的显示图片

顺代把源程序复制出来。

[头文件tftlcd.h]

#define TFTLCD_ILI9325

其中这个是更改横竖屏显示方向的。

#define TFTLCD_DIR    0    //0:竖屏  1:横屏  默认竖屏

[文件tftlcd.c]

只写出更改的部分

//设置LCD显示方向
//dir:0,竖屏;1,横屏
void LCD_Display_Dir(u8 dir)
{
    if(dir==0)  //默认竖屏方向
    {

#ifdef TFTLCD_ILI9325

/*这里面是原来的设置
//        LCD_WriteCmd(0x0001);   
//        LCD_WriteData(0x0100);
//        LCD_WriteCmd(0x0003);   //设置彩屏显示方向的寄存器
//        LCD_WriteData(0x1030);

*/
        LCD_WriteCmd(0x0001);   
        LCD_WriteData(0x0000);
        LCD_WriteCmd(0x0003);   //设置彩屏显示方向的寄存器
        LCD_WriteData(0x1030);  
        tftlcd_data.height=320;
        tftlcd_data.width=240;            
#endif

}

else   {

#ifdef TFTLCD_ILI9325

/*这里面是原来的设置

//        LCD_WriteCmd(0x0001);   
//       LCD_WriteData(0x000);
//       LCD_WriteCmd(0x0003);   //设置彩屏显示方向的寄存器
//        LCD_WriteData(0x1038);

*/
        LCD_WriteCmd(0x0001);   
        LCD_WriteData(0x0100);
        LCD_WriteCmd(0x0003);   //设置彩屏显示方向的寄存器
        LCD_WriteData(0x1038);  
        tftlcd_data.height=240;
        tftlcd_data.width=320;            
#endif

}

二、如果要X1,Y1->X240,Y320完全倒过来,那么只要设置S1-S720和Y1-Y320全反过来扫描就可以了。

原始图片是这样的:

而我们希望输出是这样的。

我们发现,只是Y轴的方向显示颠倒了,那么只要改门极电路(G1-G320) 的输出方向即可。

那么怎么改门极方向呢?

查资料,只要改R60H寄存器的D15(GS位)就可以了。

以下是更改的程序关键部分:

#ifdef TFTLCD_ILI9325
u16 ttData;
        LCD_WriteCmd(0x0001);   
        LCD_WriteData(0x0100);
        LCD_WriteCmd(0x0003);   //设置彩屏显示方向的寄存器
        LCD_WriteData(0x1030);
        LCD_WriteCmd(0x0060);  //指针移到TypeLCDBASE+0x60,即G门的内存偏移地址
        ttData=TFTLCD->LCD_DATA;//读取原始数据
        LCD_WriteCmd(0x0060);//指针移到TypeLCDBASE+0x60,即G门的内存偏移地址这句有点多余
        LCD_WriteData(ttData|0x8000);//[15:0]]第15位置1。当然,如果要反过来,只要15位置0即可。(置0是ttData&0x7FFF,别弄反了。)
        tftlcd_data.height=320;
        tftlcd_data.width=240;            
#endif

本人也是刚开始学习单片机,有不对的地方,还望指教。

关于TFT彩屏ILI9325X轴显示镜像问题的解决相关推荐

  1. 学习普中的51单片机TFT彩屏篇中遇到的问题和解决办法

    如果你出现了把程序下载到单片机中,但是TFT彩屏显示白屏,那你可以试试这个解决办法 检查一下该屏的驱动C文件中的tftlcd.H文件,看一下里面宏定义的显示屏型号是否跟你手中的显示屏型号一致,如果不一 ...

  2. STM32 F1普中开发板 TFT彩屏指针时间显示及闹钟。

    在普中RTC时钟上更改,按KEY键可更改时间.指针圆盘显示时钟,可设置闹钟. #include "stm32f10x.h" #include "led.h" # ...

  3. 基于STM32F103单片机的生理监控心率脉搏监控TFT彩屏显示

    系统功能设计 STM32单片机生理监控心率脉搏TFT彩屏波形曲线65 本系统由STM32F103C8T6单片机核心板.心率传感器.TFT屏显示.按键.蜂鸣器组成. 1.TFT液晶实时显示心率值. 2. ...

  4. 普中tft彩屏驱动程序下载_51单片机 彩屏TFT-SD例程及资料下载 有FAT 红外遥控显示图片...

    EDA365欢迎您登录! 您需要 登录 才可以下载或查看,没有帐号?注册 x 51单片机 彩屏TFT-SD例程及资料下载 有FAT 红外遥控显示图片 9 `  b( o4 r- D. g" ...

  5. 单片机读取SD卡中BMP图片文件并送往TFT彩屏上显示(测试成功)(二)

    二.软件部分 软件中INI_FLAG为设置的一个标志位,通过置1该位可以控制发送或接受数据速度.因为在初始化阶段SD卡操作需要适当放缓,而初始化成功后可以加快数据传动速率. 1>往SD卡写一个字 ...

  6. ESP32-S2 st7789 SPI TFT彩屏240X320

    例子乐鑫官方 esp-iot-solution/examples/hmi/lvgl_example 点左下角齿轮(SDK Configuration Editor)选择开发板为 Saola With ...

  7. TFT彩屏常见汉字取模方式及相关驱动函数

    今天在写智能灯光的界面,用的是STM32和3.2寸TFT 彩屏. 我们在设计一个显示界面时,常常需要考虑一下汉字字体的大小,常见的字体有像素值为16*16.24*24.32*32的,而有时候我们界面用 ...

  8. STM32F103RBT6+TFT彩屏资料下载|程序

    前两星期刚学了1.44寸TFT彩屏,总结一下,不好勿喷,欢迎交流. 先附上效果图                             中文测试                            ...

  9. 【物联网初探】- 02 - ESP32 利用 SPI 连通 TFT 彩屏 (Arduino IDE)

    文章目录 1. 硬件配置 1.1 ESP32 1.1 TFT 彩屏 1.2 TFT 彩屏上的触摸屏 2. 接线 2.1 SPI 接口简介 2.2 TFT SPI 与 ESP GPIO 连接 3. TF ...

最新文章

  1. 强烈推荐可以玩上一整天的游戏网站
  2. asp 执行linux脚本,Shell.Application执行命令的五种方法小结
  3. awk内建变量示例详解之NR、FNR、NF
  4. 含有min()函数的栈,各种操作时间复杂度为O(1)
  5. js公共时间戳方法es6
  6. Java高并发和多线程系列 - 1. 线程基本概念
  7. Socket.IO聊天室~简单实用
  8. 谈谈一些有趣的CSS题目(十一)-- reset.css 知多少?
  9. 2019上半年系统集成项目管理工程师真题与答案
  10. kdj买卖指标公式源码_通达信kdj买卖指标公式
  11. android-player 本地服务器联调
  12. C# 源码 ,使用<switch语句>实现学生成绩评测.
  13. 你真的了解单点登录(SSO)吗? 单点登录实现方式
  14. linux shell脚本编写 | 三角形 | 梯形 | 菱形 | 九九乘法表 | 矩形 | 超详细
  15. 弹性云服务器使用须知
  16. 嵌入式系统知识和接口技术总结
  17. win10黑色护眼风格一波带走
  18. python爬取猫眼_python正则表达式爬取猫眼电影top100
  19. 设计模式-结构模式-装饰器模式 decorater
  20. 打包tfrecord文件,并读取

热门文章

  1. 如何快速定位SElinux问题并修复?
  2. CAD教程,一键搜索CAD图纸的保存位置
  3. iOS设备管理器2023最新版iMazing第三方的管理软件
  4. php使用接口 知乎,【微信服务号开发】03.实战 回复知乎日报,返回8个最新知乎日报图文消息...
  5. 全球与中国自动割草机市场深度研究分析报告
  6. Blend4 中文 破解版 下载
  7. php网页生成pdf文件
  8. Node.js详细安装教程(2023)_nodejs安装教程
  9. PCB设计铝电解电容中必须要点
  10. CImage类的介绍与使用