基于T6963C的LCD与LPC2134的接口设计

发布者:算法之手最新更新时间:2014-10-22 来源: 21ic关键字:LPC2134  LCD  ARM7 手机看文章 扫描二维码
随时随地手机看文章

  0 引言

  液晶模块作为普遍采用的显示器件,具有功耗低、显示内容多、控制灵活等特点。在中规模图形液晶显示模块中,内置T6963C控制器的LCD模块是目前较为常用的内置控制器型图形液晶显示模块。该模块可由硬件电路完成初始化设置,故可节省软件开销。软件上,T6963C控制器也提供了丰富的指令集,且控制方式灵活多样。而以ARM为内核的32位微处理器,则具备高性能和低功耗的特点,在工业控制领域应用广泛。因此,对于不带液晶接口的中低端ARM7芯片,可由其通用输入输出(GPIO,general purpose input andoutput)引脚来实现与LCD的连接,并控制LCD实现其显示功能。

  1 LCD硬件接口设计

  T6963C控制器可与液晶模块的行、列驱动器及显示缓冲区RAM连接,并可通过这种硬件连接方式设置好液晶屏结构(单、双屏)、显示窗口长度、宽度、字体等。内置T6963C的单屏结构点阵图形液晶显示模块的原理框图如图1所示。

内置T6963C的单屏结构点阵图形液晶显示模块的原理框图

  图1中,数据总线和控制总线都直接与CPU的IO口线相连。液晶可采用SMG240128A点阵图形液晶显示模块;而CPU则可选用基于ARM7TD-MI-S核的32位微处理器芯片LPC2134。该芯片是基于RISC的原理设计,指令和译码简单方便。它采用三级流水线技术,CPU操作频率最大可达60MHz,并具备47个通用I/O口,同时含有丰富的外设资源,十分适合于工业测量及控制领域使用。该液晶模块与LPC2134的接口电路如图2所示。

液晶模块与LPC2134的接口电路

  图2中的液晶模块采用数据并行传输模式,通过两个驱动芯片74L3245和74HC14与LPC2134相连。其中74LS245是八位双向总线收发器,它可将液晶模块的数据总线与CPU的P0口的8条口线相连,负责控制数据的传输,并具备数据锁存和缓冲功能:74HC14为六输入反相驱动器,可驱动液晶模块的四条控制线。液晶模块的21脚为背光接地端,它由p0.23控制背光的开与关,通过电位器W2可调节背光亮度,用电位器W1则可控制调节液晶显示的对比度。FG引脚为边框地,须接地以防止静电和雷击。FS引脚接地,可将字体控制为8x8点阵。

  2 显示功能的实现

  液晶显示功能可通过LPC2134对液晶控制器T6963C的控制来实现,T6963C控制器内置丰富的指令集,可通过指令来设置显示功能。指令可带一个或两个参数,也可无参数。每条指令的执行都是先送入参数,再送入指令代码。每次操作之前,还需要先进行状态字的检测。

  2.1 底层子函数设计

  在程序层面,不管是状态字的检测,还是参数和指令代码的传送,都涉及到对液晶控制器的读写操作。根据T6963C说明书中提供的读写时序,并结合本系统的硬件设计方案,可得到如图3所示的读写时序图。

读写时序图

  在设计程序时。可根据LPC2134的GPIO引脚模拟控制读写时序图来实现数据的传输。针对数据和读写类型,可设计四个底层子函数,以完成传输功能,其功能说明如表1所列。[page]

功能说明

程序

程序

  至于读状态和写数据子函数的编写,设计时可参照该子函数来完成。

  2.2 驱动层实现

  接下来需要利用T6963C的指令来完成驱动层显示功能的设置。其中部分基本指令的定义如表2所列。事实上,驱动层子函数的编写都可通过调用写命令、写数据、读状态子函数来实现。

部分基本指令的定义

  其液晶的初始化设置函数源代码如下:

程序

  2.3 汉字读写程序设计

  初始化液晶后,就可设置显示区域、显示方式和显示状态。接下来应将待显示字符的字模数据写入显示缓冲区,以便实现显示功能。对于文本方式,可先将字模数据写入显示缓冲区并建立CGRAM,再由数据存储位置确定字符代码,然后通过写人对应代码即可显示字符;对于图形显示方式,则需将字模数据逐个字节的写入图形显示缓冲区来实现显示功能。二者相比各有特点,其中文本模式显示速度快。且内置CGROM中含128个ASCII字符,可直接调用,但需先建立CGRAM,而且容量有限,只能管理2K字节的数据,比较适合于显示字符不多的场合;而图形模式显示速度相对较慢,但无需建立CGRAM,用户只需将字模数据以字节为单位写入图形显示区即可,适用于所需显示内容较多的场合。在一般的工程应用中,汉字的显示是比较重要的内容,因此,本文主要介绍汉字显示的程序设计。[page]

  由液晶初始化程序,本系统采用图形模式作为显示方式。汉字的字体一般为16x16点阵,占32个字节,也可采用32x32点阵的字体,西文字符为16x8。由此编写的子函数程序如下:

程序

程序

  本液晶屏上的横坐标x范围为0~29,纵坐标y范围为0~127。字模数据由造字模软件提供,写入字模数据的顺序应与其所代表的字符的结构位置相对应。读写显示数据时,要注意地址指针每读写一次会自动增一。修改其值时,必须先结束当前读写操作,然后再修改地址,这样才有效。其它子函数的编写与汉字显示子函数相同,不同字体的字符只是字模数据量不同,连续写可多次调用单独写函数实现,也可每行写入所有字符的对应字节数据。至于反白功能的实现,可先读出对应字符的数据字节,取反后再重新写入。

  3 结束语

  本文通过ARM7微处理器芯片LPC2134的GPIO实现了与内藏T6963C的液晶显示模块的接口设计,并在软件上实现了其基本显示功能,从而在满足了工程设计的要求。本文比较系统的阐述了液晶显示程序的设计过程,并对设计中的难点给出了源程序代码,以供参考。该程序的可移植性好,可适用LPC213x系列芯片、其它ARM7芯片以及内置T6963C的不同型号液晶显示模块。

关键字:LPC2134  LCD  ARM7 引用地址:基于T6963C的LCD与LPC2134的接口设计

上一篇:基于LPC2134的多道脉冲幅度分析器设计
下一篇:一种简易数码相框的设计

推荐阅读最新更新时间:2024-03-16 13:43

STC15W408AS单片机LCD1602-4线接法源程序
#include STC15F-15W.h #include LCD16024L1.h /******** 数据定义 ******/ unsigned char code uctech = { 0123456789ABCDEF }; unsigned char code net = { www.51hei.com }; void main(void) { delay_ms(300); //启动等待,等 LCD 讲入工作状态 LCD_init(); //初始化 delay_ms(5); //延时片刻 (可不要 ) LCD_str(0, 0, uctech); LCD_str(0, 1, net); while(1); }
[单片机]
PIC16F72单片机控制HT1621B驱动LCD
//P IC 16C72 单片机 控制HT1621B驱动 LCD #include pic.h #define BIAS 0X50 //1/2偏压,4背极 #define RC256 0X30 //系统时钟选择为片内RC 振荡器 #define WDTDIS1 0X0A //禁止WDT溢出标志输出 #define TIMERDIS 0X08 //时基输出禁能 #define SYSEN 0X02 //打开系统时钟 #define LCDON 0X06 //打开偏压发生器 #define SY SDI S 0
[单片机]
Holtek全新TinyPowerTM LCD Flash MCU适合各应用领域
Holtek推出全新系列的TinyPowerTM LCD Flash MCU,全系列包含HT69F30A、HT69F40A及HT69F50A三个MCU,符合工业上-40℃ ~ 85℃工作温度与高抗噪声之性能要求,且提供48 ~ 80-pin的不同封装型式,搭配TinyPowerTM Flash MCU的丰沛硬件资源及使用弹性,适合各种应用领域的产品,诸如家电、工业控制、面板显示及医疗保健等。 HT69FxxA系列Program Memory为2K~8K Words、SRAM由128~384 Bytes、内建64/128 Bytes Data EEPROM、具有96~192点的LCD Driver、同时支持R-type及C-ty
[单片机]
LCD1602显示总结
仿真原理图如下: 1.LCD1602正常显示两行数据 /*------------------------ 功能:LCD1602显示两行数据 Author: Zhang Kaizhou Date: 2019-6-3 12:42:22 ------------------------*/ #include reg52.h #define uchar unsigned char #define uint unsigned int uchar code table0 = { 0123456789ABCDEF }; // 每行的字符数据 uchar code table1 = { 0123456789abcdef };
[单片机]
<font color='red'>LCD</font>1602显示总结
中国LCD电视生产到2013年将翻一番
根据iSuppli公司的数据,由于内销及出口的强劲需求,2008年至2013年中国LCD电视的出货量将翻一番,使中国继续雄踞全球电视制造龙头老大的位置。 预计中国LCD电视的出货量--包括内销及出口--将从2008年的1300万台增长到2013年的3070万台,整个预测期间的年度百分增长率达两位数。 多年来中国一直是CRT电视的主导生产商,只是最近才成为生产采用各种显示技术的电视机的龙头。 中国之所以能够获得CRT电视的领导地位,是因为它有一条完整的CRT制造工业链。近年来,尽管对LCD电视内销和出口的需求持续增长,LCD电视市场的发展仍远不及CRT。但随着国内LCD电视制造链逐渐成熟,这种情况正在改
[半导体设计/制造]
STM32直流风机通过按键PWM调速同时各参数在LCD上显示
依然还记得当时学完STM32之后感觉什么都不会,然后基本上是靠单片机的知识撑过期末的测试的,然后其实一直想把STM32学好,但是感觉学太多也不好吧,总感觉这是样,学得多并不是坏事 ,但是总觉得吧,应该要在你学的技能中有一项是你非常突出的。 // //Design:直流电机调速,通过按键改变占空比以达到调速目的,同时显示各参数 //Author:Touch //Time :2017.6.5 // #include led.h #include delay.h #include sys.h #include usart.h #include lcd.h #include key.h #include pwm.h int main(v
[单片机]
LCD1602四线编程方法程序设计实例
第一次调4线的 LCD 1602,比较困难,或者因为延迟不对,或者因为命令错误,我足足用了一天时间,搞定了4线的1602编程实现。这里提供51 单片机 和LPC23XX系列单片机的程序。51的程序是我上网找的,可以参考里面的实现步骤,可以直接仿真,但是不知道烧到板子里是否可以。LPC23XX系列单片机的程序可以直接烧写板子里运行,注意里面的管脚定义,因为在proteus里没找到对应的芯片,这里不知是否可以仿真。 51程序 #include reg51.h sbit LCM_RW=P2^0; //定义引脚 sbit LCM_RS=P2^1; sbit LCM_E =P2^2; #define LCM_Data P1 #defin
[单片机]
STM32系列第14篇--TFTLCD驱动原理
ALINETEK2.8寸 TFTLCD模块特点 240*320分辨率 16位真彩显示(65536色) 自带电阻触摸屏 自带背光电路 注意:模块是3.3V供电的,不支持5V电压的MCU,如果是5VMCU,必须在信号线串接120R电阻使用。 ALINETEK2.8寸 TFTLCD接口说明(16位80并口) LCD_CS:LCD片选信号 LCD_WR:LCD写信号 LCD_RD:LCD读信号 DB :16位双向数据线。 LCD_RST:硬复位LCD信号 LCD_RS:命令/数据标志(0:命令,1:数据) BL_CTR:背光控制信号 T_MISO/T_MOSI/T_PEN/T_CS/T_CLK,触摸
[单片机]
STM32系列第14篇--TFT<font color='red'>LCD</font>驱动原理
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved