当前位置:首页 > 显示光电 > 显示光电
[导读]摘要: 为了实现液晶显示模块, 提出了基于ARM 的LPC2292 微控制器和嵌入式实时操作系统(mC/OS- II) , 以TFT6758 芯片为核心, 采用ADS1.2 开发工具进行编程来实现的方法。阐述了TFT6758 的性能特点, 介绍了ARM 与液晶屏

摘要: 为了实现液晶显示模块, 提出了基于ARM 的LPC2292 微控制器和嵌入式实时操作系统(mC/OS- II) , 以TFT6758 芯片为核心, 采用ADS1.2 开发工具进行编程来实现的方法。阐述了TFT6758 的性能特点, 介绍了ARM 与液晶屏TFT6758 硬件接口设计、软件设计流程、液晶显示程序。

关键词: TFT6758; ARM; 液晶显示

引言

随着液晶显示技术的发展, LCD 液晶显示模块已成为家电、显示仪器仪表和其他电子产品的重要组成部分。液晶显示屏以其显示直观、便于操作的特点被用作各种便携式系统的显示终端。液晶显示屏具有低电压、微功耗、无辐射、小体积等特点, 被广泛应用于各种各样嵌入式产品中。ARM 是精简指令集计算机( RISC) , 其具有性能高、成本低和能耗小的特点,被广泛地应用于嵌入式系统开发。ARM 处理器几乎已经深入到各个领域: 工业控制领域、无线通讯领域、网络应用、消费类电子产品、影像和安全产品等。

因此, 本文介绍一种基于ARM 和TFT6758 的液晶显示屏设计。

1 TFT6758 控制器简介

TFT6758 LCD 模块是点阵式LCD, 能显示图形、汉字、以及各种符号信息, 可为系统提供友好的人机界面。其主要是面向工作人员的, 将监控信息等显示出来, 让工作人员可以清晰地进行监控操作。TFT6758 液晶模块的屏幕大小为2.2in, 点像素为240×320, 内带液晶控制器和液晶驱动器, 支持真彩色262K 色, 用户界面更华丽。TFT6758 LCD模块的工作电压为3.3V, 内带白光LED 背光灯, 可以直接使用8 位、16 位或18 位总线方式与控制器连接。

2 TFT6758 接口电路

TFT 液晶接口电路采用PACK板形式与主板连接, 其接口定义如图1 所示。将TFT6758 液晶显示模块的RESET 引脚连接到J1 连接器上, 使用LPC2292 的P0.22 控制液晶模块复位。TFT6758 液晶显示模块的CS、WR 和RD 引脚均连接到J1 连接器上, 与主板的LPC2292 的片选、写和读信号连接。而RS 引脚则使用A1 连接, 当A1 为高电平时为数据操作, 当A1 为低电平时为命令( 索引) 操作,即使用两个不同的地址来区别向TFT6758 液晶模块发送命令还是发送数据。TFT6758 液晶模块片选信号: LCM_nCS0; 0x83200000~0x833FFFFF; 索引/ 指令操作地址为: 0x8320000; 数据操作地址为:0x83200002。

TFT6758 液晶模块的背光是LED 背光, 采用4个白光LED 串连连接, 所以要设计升压电路,CAT32TDI 就是专门用于白光LED 驱动的升压芯片, 可以驱动4 个串连的白光LED。CAT32TDI 的为输出关闭控制引脚, 由LEDC 信号控制( 与主板的LPC2292 的PWM 引脚P0.21 相连, 可以使用PWM 控制背光的亮度) , 为了保证LEDC 连接的I/O 在没有配置为输出时也能点亮LED 背光, 所以接了一个10kΩ 的上拉电阻R1。CAT32TDI 芯片为恒流输出, 输出由R2 控制。

3 TFT6758 显示原理

TFT 液晶显示器上的每一个液晶像素点都由集成在其后的薄膜晶体管来驱动。TFT 液晶显示器具有屏幕反应速度快、对比度好、亮度高、可视角度大、色彩丰富等特点。

在文本显示方式下, 液晶屏显示信息的管理单位是8×8 点阵, 称为一个文本显示单位, 每个文本显示单位对应文本显示缓冲区中的8 个连续存储单元。写入文本显示缓冲区的是字符代码, 点阵状态信息( 8×8) 即字模存放在RAM 中。汉字一般采用16×16的点阵来描述, 将它分为4 个8×8 的点阵, 用4 个字符代码来描述一个汉字, 根据这4 个部分的位置关系将4 个代码写入相应的文本显示缓冲区。LCD 的显示与字模数据密切相关, 显示子程序的功能就是读取相应的字模数据送给LCD, 由LCD将接收到的字模在相应的位置上显示出来。但字模数据的生成与程序基本无关, 相关的只是字模数据的内容。向液晶发送的汉字必须用提取字模软件转换为点阵数组, 才能在程序中使用。

4 LCD 显示软件设计

首先进行系统初始化, 接着对LCD 控制寄存器及地址寄存器进行改写, 设置一些LCD 的参数, 配置Buffer 的起始地址和Buffer 大小等一些参数, 然后是清屏, 最后系统可以通过控制器发出的指令调用相关函数, 完成相应的显示功能。流程图如图2所示。

4.1 LCD 初始化

LCD 初始化主要包括对控制器的显示频率、显示行数及显示缓冲区地址的设置。主要程序如下:

void TftInit(void)

{ STCOM_INI init_dat;

int i;

TftReset();

for(i=0; i<100; i++) // 设定最多100 条初始化命令

{ init_dat = TFT6758_INI[i]; // TFT6758_INI 数组定义TFT6758 初始化数据信息

if(init_dat.type==DATA_END) break;

if(init_dat.type==HD66783_COM){ TftSerialCom(init_dat.com, init_dat.dat); // 向TFT 液晶模块发送串行命令}

else{ TftSendCom(init_dat.com); // 向TFT 液晶模块发送命令字TftSendDat(init_dat.dat); // 向TFT 液晶模块发送数据}

DelaymS(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 进行了有效的控制, 可提供丰富灵活的汉字、字符、图形, 实现菜单和现场数据的动态显示, 性能稳定。该显示模块能够应用于工业控制中。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

据《日经新闻》报道,软银旗下英国芯片制造商Arm计划到2025年销售AI芯片。该公司专门成立一个AI芯片部门,并将在2025年春季之前制造出原型产品,并于秋季开始大规模生产。

关键字: 软银 AGI ARM AI芯片

业内消息,近日日本软件银行集团(SoftBank Group)旗下安谋国际科技公司(Arm)计划研发人工智能(AI)芯片,先成立一个AI芯片部门,目标是明年春季建立AI芯片原型产品,然后将量产工作交由代工厂制造,预估20...

关键字: ARM AI芯片

Arm CPU正在从根本上推动AI变革,并造福地球。Arm架构是未来AI计算的基石。​

关键字: ARM AI

近日,Arm推出了Arm® Ethos™-U85神经网络处理器(NPU)和Arm Corstone™-320物联网参考设计平台,旨在满足海量的数据处理和大规模计算,加速推进边缘AI的发展进程。

关键字: ARM

为了赶超云计算市场上的竞争对手,谷歌正试图通过定制的Arm服务器芯片降低云计算服务成本。

关键字: 谷歌 ARM 定制芯片

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

随着汽车软件数量爆发式的增长,整个行业都需要重新思考汽车产品的开发流程。为此,Arm推出了丰富的硬件IP、新的系统IP,以及全新的汽车计算与计算子系统产品路线图,旨在为各种汽车应用实现性能、功能安全、可扩展等方面的支持。

关键字: ARM 汽车电子

知名移动芯片设计公司ARM最近迈出重要一步,它正式推出汽车芯片设计。ARM推出的芯片设计方案名叫Neoverse,随同芯片一起推出的还有面向汽车制造商、汽车供应商的新系统。

关键字: ARM 汽车芯片 芯片

随着通用人工智能的发展,数据中心的计算需求逐步提高。针对多模态数据、大模型的推理和训练需要更高的算力支持,而随着算力提升与之而来的还需更关注在功耗方面的优化。对于头部云计算和服务厂商而言,针对专门用例提高每瓦性能变得至关...

关键字: ARM 服务器 AI Neoverse CSS

一直以来,riscv架构都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来riscv架构的相关介绍,详细内容请看下文。

关键字: riscv ARM riscv架构
关闭
关闭