微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于ARM和TFT6758的液晶显示模块实现

基于ARM和TFT6758的液晶显示模块实现

时间:05-05 来源:互联网 点击:

S(init_dat.dly); // 延时等待}

  }

  4.2 LCD 清屏

  由于系统上电时, 显示缓冲区的数据是不固定的, 显示出乱码, 因此在液晶显示操作之前应将缓冲区清零或向缓冲区发送指定的数据来填充屏幕。程序如下:

  void GUI_ClearSCR(void){ TFT_FillSCR(GUI_CCOLOR); // 全屏填充, 直接使用数据填充显示缓冲区}

  4.3 数据显示

  液晶初始化结束后, 系统将采集来的信号通过处理后用文字、图形等显示到LCD 上。这里举一个简单的画窗口程序。为了提高程序的可读性和可移植性, 在程序头文件中都用了宏定义, 限于篇幅在此不再列出。

  s tatic WINDOWS win;// GUI 初始化

  void GUI_INIT(void){GUI_Initialize(); // 初始化GUI, 包括初始化显示缓冲区, 初始化LCM 并清屏

  GUI_SetColor (WHITE,BLUE);// 显示颜色:

  WHITE 前景色; BLACK背景色InitWin(&win); // 窗口初始化}

  // 窗口初始化

  void InitWin(WINDOWS *ptrwin){ptrwin- 》x = Windows_x;ptrwin- 》y = Windows_y;ptrwin- 》with = Windows_width;ptrwin- 》hight = Windows_hight;ptrwin- 》title = (uint8 *)Windows_title;ptrwin- 》s tate = (uint8 *)Windows_s tate;GUI_WindowsDraw(ptrwin); // 显示窗口。根据提供的窗口参数进行画窗口。

  }

  其中显示汉字的程序如下:

  void MyGUI_PutHZ(uint32 x, uint32 y, uint8 *dat){GUI_PutHZ(x,y,dat,16,16);}

  以汉字方式显示标题的函数如下:

  void ShowTitleHZ(uint32 x, uint32 y)

  {x=x+10;MyGUI_PutHZ(x, y, (uint8 *)hzye);//hzye为" 液" 的点阵数组

  MyGUI_PutHZ (x+HZ_FONT_SIZE, y, (uint8 *)hzjing);//hzjing 为" 晶" 的点阵数组

  MyGUI_PutHZ(x+2*HZ_FONT_SIZE, y, (uint8 *)hzxian); //hzxian 为" 显" 的点阵数组

  MyGUI_PutHZ(x+3*HZ_FONT_SIZE, y, (uint8 *)hzshi); //hzshi 为" 示" 的点阵数组}

  以汉字方式显示菜单、状态栏等与上述方法类似。

  5 结束语

  本文对基于ARM 和TFT6758 的液晶显示模块实现方法进行了探讨, 对液晶模块TFT6758 进行了有效的控制, 可提供丰富灵活的汉字、字符、图形, 实现菜单和现场数据的动态显示, 性能稳定。该显示模块能够应用于工业控制中。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top