1、基于 51 单片机的液晶显示屏控制系统设计液晶显示屏控制系统的设计1 概述1.1 系统背景液晶显示器件在中国已有二十余年的发展历史。二十余年来,液晶显示器件从实验室走向大规模生产集团,形成了独立的产业部门。现在,液晶显示几乎已经应用于生产,生活的各个领域,人们几乎时时处处都要与这一神奇而又普通的面孔打交道。液晶显示是集单片机技术、微电子技术、信息处理于一体的新型显示方式。由于液晶显示器具有低压低功耗,显示信息量大易于彩色化,无电磁辐射,长寿命,无污染等特点。LCD是目前显示产业中发展速度最快,市场应用最广的显示器件,成为众多显示媒体中的佼佼者,在越来越多的领域中发挥作用,是目前显示器件中一个理
2、想的选择。 LCD在监控系统中的应用:目前大多数监控系统自带的显示系统为LED数码管显示,这样显示效果比较单一,只能显示监控系统的测量值。而LCD液晶显示器不仅可以显示数值、汉字等,并且可以显示文本和图形。利用LCD和键盘实现人机交互,使监控系统独立工作成为可能。通过监控系统对现场的单回路控制器进行参数设置,对各个单回路控制器的工作进行监控。LCD在时钟中的应用:在日常生活中我们会经常看到时间的显示,这些显示大都是采用液晶显示器来显示的,而对其中的汉字无法用显示来解决。我们利用LCD液晶模块制成的小屏幕实现了时间的显示,显示格式为“时时:分分:秒秒”。另外,可以增加闹钟功能,时间到了则产生音乐
3、声;还可以增加万年历显示“年月日”等多项功能。LCD 在大屏幕显示中的应用:大屏幕显示的应用范围极广,随着社会发展,公众生活的加强,人们对能够面向广大公众传递信息的显示装置越来越感到必需。使用液晶投影显示大屏幕,不仅有投影仪,指挥用大屏幕,还有液晶投影彩色电视。它可以用一个体积很小的系统装置,实现 100 英寸以上的非常漂亮的大屏幕电视显示。它与传统的显示媒体相比,具有分辨率极高,透过性好,显示内容丰富,彩色易于控制等优点。随着计算机技术及电子通信技术的发展,LCD 显示屏作为一种新的传媒工具,现已经应用到商业、军事、车站、宾馆、体育、新闻、金融、证券、广告以及交通运输等许多行业,大到几十平方
4、米的大屏幕,小到家庭影院用的图文显示屏,以及政府部门应用的电子黑板,证券、银行等部门用的信息数字混合屏。LCD 显示屏带来广泛的社会效益和经济效益,具有良好的发展前景。液晶显示屏控制系统的设计1.2 系统概述本实验系统分为单片机最小系统板和液晶显示屏两部分。单片机最小系统负责接收个人计算机所编辑的文本及内容,通过 RS232 串行接口通信完成单片机与 PC 机之间的数据传送,而个人计算机(即 PC 机) ,主要完成显示内容的编辑、字符码的查找、字符数据的发送等工作。基于 Windows 操作系统下的文本编辑软件有很多种,例如:记事本、Micorsoft Word、写字板等,我们可以采用任何一种
5、编辑软件将要显示的内容(包括汉字、中英文字母、标点符号等)编辑成一个文本文件,然后通过已经编写好的应用程序在特定的字库中依次搜索到文本文件中的内容,并且取出该字符的字模数据,此项工作称为字模数据的提取;字模数据文件的生成也就是将取出的字模按顺序存放到一个十六进制文件中;字符数据建立好之后将其存放在 PC 机的硬盘上,等到需要的时候通过串行通信软件将字符数据文件发送给液晶显示系统模块。LCD 显示屏包括主控制模块和 LCD 液晶显示模块。主控制模块负责接收单片机发送过来的字模数据文件,并且协调各个 LCD 液晶显示模块工作,主控制器模块的核心是T6963C 控制器,为了存储字模数据还在主控制器模
6、块中扩展了一片 8K 存储器芯片6264;LCD 液晶显示模块由两片行驱动器 T6A40 和三片列驱动器 T6A39 进行驱动,该模块一边接收主控制模块的数据,一边将数据送 LCD 液晶显示屏显示,为了方便系统的扩展,各模块之间采用串行口接收数据,并且接到系统串行总线上。 本系统主要是实现单片机与液晶显示模块之间的接口技术,可以采用间接控制方式完成。将液晶显示模块接口与单片机系统板中的某个并行 I/O 接口连接,计算机通过对该I/O 接口的操作间接的实现对模块的控制。液晶显示屏控制系统的设计2 系统设计方案此 LCD 液晶显示控制系统设计的关键是要实现 LCD 的显示控制。应该先从显示方式的确
7、定入手,接下来设计相应显示方式的电路,要实现显示内容的实时更新,就必须考虑字模数据的存储及通信电路的设计。2.1 字模数据的存储由于 89C51 单片机内部程序存储器(ROM)只有 4K 空间,本设计采用 1616 点阵显示一个汉字,每一行需要两个字节数据,一个汉字占 16232 字节,汉字一共有 6000多个,不可能将庞大的汉字字库存入在单片机内部,即使将预先要显示的内容存入 ROM中,也不便于实时控制,所以只有考虑扩展外部数据存储器。利用 Windows 自带的字库(即使用软字库)的方式扩展外部数据存储器。通过软件编程直接在字库中找到需要显示字符的区位码并读出其字符码,存于一个文本文件中,
8、待所有显示内容的字符码查询完毕后,将存放所有字符码的文本文件通过串行通信发送给单片机,单片机将接收到的数据存放在外部扩展的数据存储器中,数据接收完毕后,单片机就从存储器中依次读出每一个字符的字符码并送到 LCD 显示屏显示。该方案与方案一相比,虽然通信过程占整个显示周期的比例相对较大,但是硬件电路设计简单,成本较低,减少了单片机查询硬件字库所需要的时间,提高了单片机动态扫描的速度,字符显示的稳定度较高。2.2 通信电路串行通信是指一个数据的所有位按一定的顺序和方式,一位一位地通过串行输入/输出口进行传送。由于串行通信是数据的逐位顺序传送,在进行串行通信时,只需一根传输线,其传送的数据位多且通信
9、距离长。串行通信方式如图 2-1。计算机与单片机的数据通信,采用串行通信,与并行通信相比,串行通信具有传输距离远,接口电路与软件编程简单等特点,所以本系统选用串行通信。串行通信接口电路见后面的硬件电路设计。RXDTXD89C51GNDGNDTXDRXD外部设备GNDGND液晶显示屏控制系统的设计图 2-1 串行通信方式3 液晶显示模块简介液晶显示模块单元电路主要包括显示控制器、行驱动器、列驱动器、电源偏置电路、显示存储器、液晶显示屏、液晶显示模块接口。(1) 显示控制器 主要由控制器 T6963C 组成,可提供与外部 MCU 的数据接口及对显示存储器的读写操作;并可控制行,列驱动器的时序电路,
10、数据格式和显示格式等。(2) 行驱动器 由行驱动器 T6A40 组成,用于把控制器的串行数据转换成 LCD 屏所需要的并行行数据。(3) 列驱动器 由列驱动器 T6A39 组成,可接受控制器的串行数据并将其转换成 LCD 屏所需要的并行列数据。(4) 电源偏置电路 主要为行、列驱动器提供 LCD 所需的各种偏置电压。(5) 显示存储器 由一块 32K 的随机存储器(RAM)组成,可为液晶显示模块提供显示数据的存储空间。(6) 液晶显示屏(LCD) 提供 128 行、240 列的点阵显示屏幕。(7) 液晶显示模块接口 用于提供与单片机的接口。液晶显示模块的原理框图如图 3-1。行 驱 动 器行
11、驱动 器显 示控 制 器液 晶 显 示 屏240*128 DOTS列 驱动 器列 驱动 器列 驱动 器显 示 存 储 器 电 源 偏 置液 晶 显 示 模 块 接 口液晶显示屏控制系统的设计图 3-1 液晶显示模块原理框图3.1 显示控制器显示控制器主要由 T6963C 组成,它由振荡器、时序控制电路、工作方式设置寄存器及电路,内部字符库 CGROM 及光标控制电路,显示存储器管理电路以及运算电路和各种功能电路组成。控制部通过振荡器外接晶体振荡器产生振荡脉冲,经时序控制电路调制产生 T6963C 的工作时钟脉冲系列,根据工作方式设置电路生成各路控制及驱动时序脉冲,从而实现 T6963C 的工作
12、控制。其引脚图如图 3-2。图 3-2 T6963C 引脚图控制部提供了使用引脚电平设置内部工作状态的功能,使 T6963C 上电后就开始对所连接的液晶显示驱动系统进行正常的控制及驱动。这将避免因上电控制器尚未进行初始化而使液晶显示驱动系统不能正常工作,导致液晶显示屏上出现不希望的显示状态。液晶显示屏控制系统的设计3.2 驱动方式的设置驱动方式是指 T6963C 向液晶显示驱动系统传输显示数据的格式。他根据所要控制的液晶显示驱动系统的数据传输格式的要求而定。T6963C 可以实现四种数据传输格式,它由引脚 和 SDSEL 的电平状态设置。DUAL: 液晶显示器件电极排列形式的设置。当 =1 时
13、,液晶显示器件为单屏结构;当 =0 时,液晶显示器DUAL件为双屏结构。SDSEL: 数据传输格式设置。当 SDSEL=1 时,数据传输格式为 2 位并行同步传输;当 SDSEL=0 时,数据传输格式为 1 位串行传输。这两个设置引脚的电平组合确定了驱动部中数据传输的输出端。如表 3-1:DUALSDSEL 上半屏数据传输线 下半屏数据传输线1 1 HOD,ED 1 0 ED 0 1 HOD,ED LOD,ED0 0 ED ED表 3-13.2.1 显示窗口长度设置显示窗口长度是指 T6963C 所要控制的液晶显示器件水平方向最大的像素点数。显示窗口长度的设置将确定了驱动部向液晶显示驱动系统发
14、送的显示数据的个数,不管实际控制的显示屏的点阵数如何,他已固定了驱动信号的时序关系。该设置由引脚 MD3 和MD2(显示数据传输量设置端)的电平组合实现,如表 3-2:MD3 MD2 像素点数 字符数1 1 256 32液晶显示屏控制系统的设计1 0 320 400 1 512 640 0 640 80表 3-23.2.2 显示窗口宽度设置显示窗口宽度是指 T6963C 所要控制的液晶显示器件垂直方向最大的像素点数。显示窗口宽度的设置将确定了驱动部向液晶显示驱动系统发送的帧信号时序和占空比系数。该设置由引脚 MDS,MD1 和 MD0(显示帧信号设置端)与 设置端组合实现,如表 3-DUAL3
15、: DUALMDS MD1 MD0 像素点行数 占空比系数1/0 0 1 1 16/32 161/0 0 1 0 32/64 321/0 0 0 1 48/96 481/0 0 0 0 64/128 641/0 1 1 1 80/160 801/0 1 1 0 96/192 961/0 1 0 1 112/224 1121/0 1 0 0 128/256 128表 3-33.2.3 显示字符的字体设置显示字符的字体选择实际上是选择字符间距。T6963C 内部字符库是 5*8 点阵字符字模,在垂直方向字模数据中留有一行的间距,是不可变动的;但在水平方向字模数据将一字节的高三位作为字间距处理,即字
16、间距可以为一点距,两点距或三点距,也可以没有。T6963C 可以根据需要通过引脚 FS1 和 FS0(字体选择端)的电平组合来设置字符间距,这里表示为字符的字体。组合设置如表 3-4:FS1 1 1 0 0FS0 1 0 1 0字体 5*8 6*8 7*8 8*8表 3-4液晶显示屏控制系统的设计字体选择的实现是在显示数据传输过程中将一字节的 8 位字模数据有选择地传输几位。比如仅取 8 位数据中低 5 位作为显示数据传输而舍弃高 3 位,那么显示为 5*8 点阵字体的字符;或取 8 位数据中低六位作为显示数据传输而舍弃高 2 位,那么显示为 6*8点阵字体的字符;再或取 8 位数据中低 7
17、位作为显示数据传输而舍弃高 1 位,那么显示为 7*8 点阵字体的字符;如果 8 位数据全部作为显示数据传输,那么显示位 8*8 点阵字体的字符。这是在文本显示方式下。在图形显示方式下,则将是取舍图形数据有效位的问题了。振荡器的晶体振荡器的选择振荡器时钟与控制器所控制的液晶显示驱动系统的驱动帧频(行数)和数据传输量(列数)有关。晶体的频率 F 可以由下列公式计算得来:OSCF 2F =2*(8M*8N*Fr)P其中 F 驱动位移时钟频率,即 HSCP(LSCP)的脉冲频率;SCPM字符数/行,8M 即最大驱动的像素数/行;N字符行数/帧,8N 即最大驱动的像素行数;Fr液晶显示器件所需的扫描频
18、率,通常为 60 或 70Hz。控制部的引脚设置功能使得 T6963C 能够上电就能正常工作,但也给 T6963C 通用性带来不便,因而 T6963C 内置液晶显示模块上。T6963C 不仅具备基本的文本显示和图形显示功能,而且还具备文本属性显示功能,这是 T6963C 控制器的独特的功能。文本属性显示功能是将文本显示由通常的单字节数据处理扩大成双字节数据处理。在这种功能下把显示存储器区划分为文本代码区和文本属性区。文本代码区是用与存储作为字符显示的字符代码;文本属性区是用与存储作为相应字符显示的字符属性,这种属性由文本属性区单元中一个字节数据的低 4 位表示,有 6 种属性。如表 3-5:文
19、本属性码d3 d2 d1 d0 字符显示效果0 0 0 0 正向显示,不闪烁液晶显示屏控制系统的设计0 1 0 1 负向显示,不闪烁1 0 0 0 正向显示,闪烁1 1 0 1 负向显示,闪烁* 0 1 1 禁止显示(正向)* 1 * 0 禁止显示(负向)表 3-5文本属性区的单元与文本显示区对应单元组合在一起控制显示屏上对应的字符块的显示效果。例如:文本属性数据为 05H,则对应的字符显示效果是一个负向显示的“0” 。字符代码为 21H,文本属性数据为 08H,则对应的字符显示效果是一个正向闪烁显示的“A” 。T6963C 的文本属性功能的实现是以牺牲图形显示功能为代价的。T6963C 将图
20、形地址指针计数器用作文本属性区的寻址。所以文本属性功能不能与图形显示功能并存。T6963C 具有显示合成功能。它可以将文本显示与图形显示通过某种合成逻辑同时在显示屏上显示。这种合成逻辑有逻辑“与” ,逻辑“或”以及逻辑“异或”等,是通过选择器实现的。T6963C 还可以将显示屏上显示内容“屏读”或“屏拷贝” ,这也是 T6963C所独特的功能。T6963C 将传送给液晶显示驱动系统的合成数据反馈给复制电路,再由其送到数据栈或图形显示区。T6963C 还具有光标控制器和光标指针寄存器。它用与在文本显示方式下光标的显示控制。光标数据是在文本数据锁存器处与文本字符数据合成后一起送入液晶显示驱动系统的。T6963C 控制部具有管理显示存储器和字符发生器的能力。T6963C 内置有 128 种 5*8点阵的 ASCI 字符字模库 CGROM,字符代码为 00H7FH。并允许在显示存储器内开辟一个用户自定义字符 8*8 点阵字模库 CGROM。在使用内部 CGROM 同时,T6963C 也可以支持CGRAM,字符代码定义在 80HFFH。T6963C 可以管理 64K 的显示存储器。它可以把显示存储器分为文本显示区,图形显示区,文本属性区或自定义字符库区等。T6963C 管理显示存储器的引脚有:ad15ad0 输出 16 位地址总线。d7d0 三态 8 位数据总线。