基于51单片机的液晶显示屏控制系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于51单片机的液晶显示屏控制系统设计
1 概述
1.1系统背景
液晶显示器件在中国已有二十余年的发展历史。
二十余年来,液晶显示器件从实验室走向大规模生产集团,形成了独立的产业部门。
现在,液晶显示几乎已经应用于生产,生活的各个领域,人们几乎时时处处都要与这一神奇而又普通的面孔打交道。
液晶显示是集单片机技术、微电子技术、信息处理于一体的新型显示方式。
由于液晶显示器具有低压低功耗,显示信息量大易于彩色化,无电磁辐射,长寿命,无污染等特点.LCD是目前显示产业中发展速度最快,市场应用最广的显示器件,成为众多显示媒体中的佼佼者,在越来越多的领域中发挥作用,是目前显示器件中一个理想的选择。
LCD在监控系统中的应用:目前大多数监控系统自带的显示系统为LED数码管显示,这样显示效果比较单一,只能显示监控系统的测量值。
而LCD液晶显示器不仅可以显示数值、汉字等,并且可以显示文本和图形。
利用LCD和键盘实现人机交互,使监控系统独立工作成为可能。
通过监控系统对现场的单回路控制器进行参数设置,对各个单回路控制器的工作进行监控。
LCD在时钟中的应用:在日常生活中我们会经常看到时间的显示,这些显示大都是采用液晶显示器来显示的,而对其中的汉字无法用显示来解决.我们利用LCD液晶模块制成的小屏幕实现了时间的显示,显示格式为“时时:分分:秒秒”。
另外,可以增加闹钟功能,时间到了则产生音乐声;还可以增加万年历显示“年月日"等多项功能。
LCD在大屏幕显示中的应用:大屏幕显示的应用范围极广,随着社会发展,公众生活的加强,人们对能够面向广大公众传递信息的显示装置越来越感到必需。
使用液晶投影显示大屏幕,不仅有投影仪,指挥用大屏幕,还有液晶投影彩色电视。
它可以用一个体积很小的系统装置,实现100英寸以上的非常漂亮的大屏幕电视显示。
它与传统的显示媒体相比,具有分辨率极高,透过性好,显示内容丰富,彩色易于控制等优点。
随着计算机技术及电子通信技术的发展,LCD显示屏作为一种新的传媒工具,现已经应用到商业、军事、车站、宾馆、体育、新闻、金融、证券、广告以及交通运输等许多行业,大到几十平方米的大屏幕,小到家庭影院用的图文显示屏,以及政府部门应用的电子黑板,证券、银行等部门用的信息数字混合屏。
LCD显示屏带来广泛的社会效益和经济效益,具有良好的发展前景.
1。
2系统概述
本实验系统分为单片机最小系统板和液晶显示屏两部分。
单片机最小系统负责接收个人计算机所编辑的文本及内容,通过RS232串行接口通信完成单片机与PC机之间的数据传送,而个人计算机(即PC机),主要完成显示内容的编辑、字符码的查找、字符数据的发送等工作。
基于Windows操作系统下的文本编辑软件有很多种,例如:记事本、Micorsoft Word、写字板等,我们可以采用任何一种编辑软件将要显示的内容(包括汉字、中英文字母、标点符号等)编辑成一个文本文件,然后通过已经编写好的应用程序在特定的字库中依次搜索到文本文件中的内容,并且取出该字符的字模数据,此项工作称为字模数据的提取;字模数据文件的生成也就是将取出的字模按顺序存放到一个十六进制文件中;字符数据建立好之后将其存放在PC机的硬盘上,等到需要的时候通过串行通信软件将字符数据文件发送给液晶显示系统模块。
LCD显示屏包括主控制模块和LCD液晶显示模块。
主控制模块负责接收单片机发送过来的字模数据文件,并且协调各个LCD液晶显示模块工作,主控制器模块的核心是T6963C 控制器,为了存储字模数据还在主控制器模块中扩展了一片8K存储器芯片6264;LCD液晶显示模块由两片行驱动器T6A40和三片列驱动器T6A39进行驱动,该模块一边接收主控制模块的数据,一边将数据送LCD液晶显示屏显示,为了方便系统的扩展,各模块之间采用串行口接收数据,并且接到系统串行总线上。
本系统主要是实现单片机与液晶显示模块之间的接口技术,可以采用间接控制方式完成。
将液晶显示模块接口与单片机系统板中的某个并行I/O接口连接,计算机通过对该I/O 接口的操作间接的实现对模块的控制。
2系统设计方案
此LCD液晶显示控制系统设计的关键是要实现LCD的显示控制.应该先从显示方式的确定入手,接下来设计相应显示方式的电路,要实现显示内容的实时更新,就必须考虑字模数据的存储及通信电路的设计。
2.1字模数据的存储
由于89C51单片机内部程序存储器(ROM)只有4K空间,本设计采用16×16点阵显示一个汉字,每一行需要两个字节数据,一个汉字占16×2=32字节,汉字一共有6000多个,不可能将庞大的汉字字库存入在单片机内部,即使将预先要显示的内容存入ROM中,也不便于实时控制,所以只有考虑扩展外部数据存储器.
利用Windows自带的字库(即使用软字库)的方式扩展外部数据存储器.通过软件编程直接在字库中找到需要显示字符的区位码并读出其字符码,存于一个文本文件中,待所有显示内容的字符码查询完毕后,将存放所有字符码的文本文件通过串行通信发送给单片机,单片机将接收到的数据存放在外部扩展的数据存储器中,数据接收完毕后,单片机就从存储器中依次读出每一个字符的字符码并送到LCD显示屏显示。
该方案与方案一相比,虽然通信过程占整个显示周期的比例相对较大,但是硬件电路设计简单,成本较低,减少了单片机查询硬件字库所需要的时间,提高了单片机动态扫描的速度,字符显示的稳定度较高。
2。
2通信电路
串行通信是指一个数据的所有位按一定的顺序和方式,一位一位地通过串行输入/输出口进行传送。
由于串行通信是数据的逐位顺序传送,在进行串行通信时,只需一根传输线,其传送的数据位多且通信距离长。
串行通信方式如图2-1。
计算机与单片机的数据通信,采用串行通信,与并行通信相比,串行通信具有传输距离远,接口电路与软件编程简单等特点,所以本系统选用串行通信。
串行通信接口电路见后面的硬件电路设计。
图2-1 串行通信方式
3 液晶显示模块简介
液晶显示模块单元电路主要包括显示控制器、行驱动器、列驱动器、电源偏置电路、显示存储器、液晶显示屏、液晶显示模块接口.
(1)显示控制器主要由控制器T6963C组成,可提供与外部MCU的数据接口及对显示存储器的读写操作;并可控制行,列驱动器的时序电路,数据格式和显示格式等。
(2)行驱动器由行驱动器T6A40组成,用于把控制器的串行数据转换成LCD屏所需要的并行行数据。
(3)列驱动器由列驱动器T6A39组成,可接受控制器的串行数据并将其转换成LCD屏所需要的并行列数据。
(4)电源偏置电路主要为行、列驱动器提供LCD所需的各种偏置电压。
(5)显示存储器由一块32K的随机存储器(RAM)组成,可为液晶显示模块提供显示数据的存储空间。
(6)液晶显示屏(LCD)提供128行、240列的点阵显示屏幕。
(7)液晶显示模块接口用于提供与单片机的接口。
液晶显示模块的原理框图如图3-1.
图3—1 液晶显示模块原理框图
3.1显示控制器
显示控制器主要由T6963C组成,它由振荡器、时序控制电路、工作方式设置寄存器及电路,内部字符库CGROM及光标控制电路,显示存储器管理电路以及运算电路和各种功能电路组成.控制部通过振荡器外接晶体振荡器产生振荡脉冲,经时序控制电路调制产生T6963C的工作时钟脉冲系列,根据工作方式设置电路生成各路控制及驱动时序脉冲,从而实现T6963C的工作控制。
其引脚图如图3-2.
图3-2 T6963C引脚图
控制部提供了使用引脚电平设置内部工作状态的功能,使T6963C上电后就开始对所连接的液晶显示驱动系统进行正常的控制及驱动。
这将避免因上电控制器尚未进行初始化而使液晶显示驱动系统不能正常工作,导致液晶显示屏上出现不希望的显示状态.
3。
2驱动方式的设置
驱动方式是指T6963C向液晶显示驱动系统传输显示数据的格式。
他根据所要控制的液晶显示驱动系统的数据传输格式的要求而定.T6963C可以实现四种数据传输格式,它由引脚DUAL和SDSEL的电平状态设置。
DUAL:液晶显示器件电极排列形式的设置。
当DUAL=1时,液晶显示器件为单屏结构;当DUAL=0时,液晶显示器件
为双屏结构。
SDSEL: 数据传输格式设置。
当SDSEL=1时,数据传输格式为2位并行同步传输;当SDSEL=0时,数据
传输格式为1位串行传输。
这两个设置引脚的电平组合确定了驱动部中数据传输的输出端。
如表3-1:
表3-1
3.2.1显示窗口长度设置
显示窗口长度是指T6963C所要控制的液晶显示器件水平方向最大的像素点数.显示窗口长度的设置将确定了驱动部向液晶显示驱动系统发送的显示数据的个数,不管实际控制的显示屏的点阵数如何,他已固定了驱动信号的时序关系。
该设置由引脚MD3和MD2(显示数据传输量设置端)的电平组合实现,如表3-2:
表3—2
3.2。
2显示窗口宽度设置
显示窗口宽度是指T6963C所要控制的液晶显示器件垂直方向最大的像素点数。
显示窗口宽度的设置将确定了驱动部向液晶显示驱动系统发送的帧信号时序和占空比系数.该设置由引脚MDS,MD1和MD0(显示帧信号设置端)与DUAL设置端组合实现,如表3-3:
表3—3
3。
2。
3显示字符的字体设置
显示字符的字体选择实际上是选择字符间距。
T6963C内部字符库是5*8点阵字符字模,在垂直方向字模数据中留有一行的间距,是不可变动的;但在水平方向字模数据将一字节的高三位作为字间距处理,即字间距可以为一点距,两点距或三点距,也可以没有。
T6963C可以根据需要通过引脚FS1和FS0(字体选择端)的电平组合来设置字符间距,这里表示为字符的字体。
组合设置如表3—4:
表3-4
字体选择的实现是在显示数据传输过程中将一字节的8位字模数据有选择地传输几位.比如仅取8位数据中低5位作为显示数据传输而舍弃高3位,那么显示为5*8点阵字体的字符;或取8位数据中低六位作为显示数据传输而舍弃高2位,那么显示为6*8点阵字体的字符;再或取8位数据中低7位作为显示数据传输而舍弃高1位,那么显示为7*8点阵字体的字符;如果8位数据全部作为显示数据传输,那么显示位8*8点阵字体的字符.这是在文本显示方式下。
在图形显示方式下,则将是取舍图形数据有效位的问题了。
振荡器的晶体振荡器的选择
振荡器时钟与控制器所控制的液晶显示驱动系统的驱动帧频(行数)和数据传输量(列数)有关.晶体的频率F
OSC
可以由下列公式计算得来:
F
OSC =2F
SCP
=2*(8M*8N*Fr)
其中F
SCP
-—驱动位移时钟频率,即HSCP(LSCP)的脉冲频率;
M——字符数/行,8M即最大驱动的像素数/行;
N--字符行数/帧,8N即最大驱动的像素行数;
Fr—-液晶显示器件所需的扫描频率,通常为60或70Hz。
控制部的引脚设置功能使得T6963C能够上电就能正常工作,但也给T6963C通用性带来不便,因而T6963C内置液晶显示模块上。
T6963C不仅具备基本的文本显示和图形显示功能,而且还具备文本属性显示功能,这是T6963C控制器的独特的功能。
文本属性显示功能是将文本显示由通常的单字节数据处理扩大成双字节数据处理。
在这种功能下把显示存储器区划分为文本代码区和文本属性区。
文本代码区是用与存储作为字符显示的字符代码;文本属性区是用与存储作为相应字符显示的字符属性,这种属性由文本属性区单元中一个字节数据的低4位表示,有6种属性。
如表3-5:
表3-5
文本属性区的单元与文本显示区对应单元组合在一起控制显示屏上对应的字符块的显示效果.例如:
文本属性数据为05H,则对应的字符显示效果是一个负向显示的“0".
字符代码为21H,文本属性数据为08H,则对应的字符显示效果是一个正向闪烁显示的“A”。
T6963C的文本属性功能的实现是以牺牲图形显示功能为代价的。
T6963C将图形地址指针计数器用作文本属性区的寻址。
所以文本属性功能不能与图形显示功能并存.
T6963C具有显示合成功能。
它可以将文本显示与图形显示通过某种合成逻辑同时在显示屏上显示。
这种合成逻辑有逻辑“与",逻辑“或”以及逻辑“异或”等,是通过选择器实现的.T6963C还可以将显示屏上显示内容“屏读”或“屏拷贝”,这也是T6963C所独特的功能。
T6963C将传送给液晶显示驱动系统的合成数据反馈给复制电路,再由其送到数据栈或图形显示区.
T6963C还具有光标控制器和光标指针寄存器.它用与在文本显示方式下光标的显示控制.光标数据是在文本数据锁存器处与文本字符数据合成后一起送入液晶显示驱动系统的.
T6963C控制部具有管理显示存储器和字符发生器的能力.T6963C内置有128种5*8点阵的ASCI字符字模库CGROM,字符代码为00H~7FH.并允许在显示存储器内开辟一个用户自定义字符8*8点阵字模库CGROM。
在使用内部CGROM同时,T6963C也可以支持CGRAM,字符代码定义在80H~FFH。
T6963C可以管理64K的显示存储器.它可以把显示存储器分为文本显示区,图形显示区,文本属性区或自定义字符库区等.
T6963C管理显示存储器的引脚有:
ad15~ad0 输出 16位地址总线。
d7~d0 三态 8位数据总线。
r/w 输出读写选择控制线。
r/w=1为读操作;r/w=0为写操作。
___
ce输出存储器操作使能信号.低电平有效。
____
1 ce,____
ce输出存储器操作使能信号。
在单屏结构设置(DUAL)时有效。
它们的有效地址范围是:
ce0 0000H~07FFH
ce1 0800H~0FFFH
T6963C多用于单屏结构的液晶显示驱动系统的控制,但也具备控制双屏结构液晶显示驱动系统的能力。
在双屏结构的液晶显示驱动系统的控制中,T6963C自动将ad15地址线作为上下屏的显示存储器的分界,ad15=0的部分为上下屏的显示存储器区,ad15=1为下半屏的显示存储区。
计算机设置的显示区域都在上半屏的显示存储区内,而T6963C将自动地从相应的下半屏的显示存储区的区域中提取下半屏的显示数据。
这样的处理对计算机写入显示数据时是比较麻烦的,这也许是T6963C少用于双屏结构液晶显示驱动控制系统的原因。
另外,T6963C保留了四个测试引脚,它们是测试信号输入端T1,T2;检测信号输出端CH1,CH2。
在T6963C的应用是,这四个引脚不必考虑。
3.3列驱动方式
列驱动器T6A39是80路列驱动器,它采用了CMOS工艺,具有低功耗、耐高压和高速运行等特点。
列驱动器T6A39电路由两路8*5位双向移位寄存器、串/并转换器及液晶显示驱动电路和数据位选择寄存器、数据方向控制器、驱动时序控制器、LCD偏压电路组成。
8*5位双向移位寄存器的作用是把接收到的串行数据转换成符合要求的并行数据,并传递给两组液晶显示驱动电路。
液晶显示驱动电路的作用是在LCD偏压电路供给的偏置电路下,将得到的80位并行数据转换成LCD所需的并行输出数据信号电平。
T6A39的数据输入端为DI1、DI2、DI3、DI4.T6A39的数据接受形式有三种:一位串行、二位并行和四位并行方式。
这三种方式通过设置端DUAL,DIR和DF1、DF2的电位组合设置.
T6A39还有两个数据接收使能信号EI01、EI02,正脉冲信号有效,它们中之一作为输入端启动本片数据接收工作,另一个作为输出表示本片数据接收已满,停止接收工作,这两个信号作为级联信号使用,即作为输入的一端与上一级的输出端连接,由上一级数据接
收已满信号启动本级工作,作为输出的一端与下一级的输入端连接,本级数据接收已满,停止接收工作,发出信号以启动下一级的工作。
当几片T6A39级联使用时,第一片T6A39的数据接收使能信号EI01和EI02中作为输入端的那个信号需与T6963C的LP信号相连。
列驱动器T6A39工作原理如下:首先设置好数据位选择电路、数据方向控制电路、驱动时序控制电路,当数据由数据输入端DI1、DI2、DI3、DI4输入到串/并转换器后,该电路将等待接收满8位后把数据并行地移入8*5位双向移位寄存器内,然后在LP与FR信号的作用下通过液晶显示驱动电路将数据输出。
3.4行驱动方式
行驱动器T6A40是68路行驱动器,它采用CMOS工艺,具有低功耗、耐高压和高速运行等特点
行驱动器T6A40电路由两路34位双向移位寄存器、数据方向控制器、SCP极性控制器、液晶显示驱动电路及LCD偏压电路组成.
行驱动器T6A40片内有两个34位双向移位寄存器,串行数据可从DI01和DI02两个端子输入或输出。
数据方向控制器根据单/双屏选择端子DUAL和流向选择端子DIR逻辑电平产生流向控制信号。
SCP极性控制器产生SCP信号,由触发方式选择端子TSW来控制SCP的有效触发方式:当TSW=0时,数据在SCP的上升沿输出至驱动输出端;当TSW=1时,数据在SCP的的下降沿输出至驱动输出端。
行驱动器T6A40 工作原理如下:两个34位双向移位寄存器产生的两个34位并行数据将输出到两个LCD驱动电路中,并在LCD偏压电路作用下产生68位并行LCD行输出信号,最后加到LCD屏的行输入端。
4硬件设计
4.1硬件电路设计要求
(1)控制液晶显示模块实现英文、汉字、图形、及图像的显示.
(2)实现便携式设计.
(3)可提供实现与计算机的数据传输的接口电路。
4.2总体电路设计构架
单片机系统板主要由单片机、EPROM、电源电路、RS232接口电路及液晶显示模块接口组成。
其电路原理框图如图4—1:
单片机系统板的功能是控制液晶显示模块进行显示,它的特点是采用了7805整流电源电路为系统板提供5V电压,可实现便携式设计,另外系统板还配备了一个RS232接口,可以实现与计算机的数据传输。
4.3单片机与液晶显示模块接口
单片机与液晶显示模块接口的通信这里采用间接访问方式。
间接控制方式是将内置T6963C控制器的液晶显示模块与计算机系统中某个并行I/O接口连接,计算机通过对该I/O接口的间接操作来实现对模块的控制。
间接控制方式在硬件电路上需要一个8位并行接口与模块的数据线连接,作为数据总线,还需要一个3位并行接口作为时序控制信号线如89C51的P3。
2作为C/D,P3。
3作为WR,以及P3.4作为RD。
由于使用了专用的并行接口连接模块,而且该并行接口自身在计算机系统中有相应的片选地址,所以模块的片选信号可以直接接地作选通态,间接控制方式的接口电路与时序无关,时序完全靠软件编程实现。
计算机间接控制方式下与内置T6963C控制器的液晶显示模块的实用接口电路如下所示.模块的V0端所接的电位器是作为液晶驱动电源的调节器,调节显示的对比度.间接接口电路如图4-2:
图4—2 间接接口电路
4.4单片机与计算机的通信接口
单片机与计算机的通信采用简化三线的串行通信方式,即把单片机的发送端TXD直接和计算机的接收端RXD相连,接收端RXD直接和计算机的发送端TXD相连,但是单片机的+5V TTL信号电平与PC机的±10V信号电平不相容,所以必须进行电平转换,本设计中采用MAXIM公司生产的MAX232芯片,MAX232包含两路接收器和驱动器,适用于各种EIA232C 和V2.28/V。
24的通信接口。
MAX232芯片内部有一个电源电压变换器,可以把输入的+5V 电源电压变换成为RS-232C输出电平所需的±10V电压,所以,采用此芯片接口的串行通信系统只需要单一的+5V电源就可以了。
不像传统的RS232电平转换器发送器MC1488和接收器MC1489那样必须提供额外的+12V和—12V电源。
MAX232芯片引脚图如图4-3:
图4—3 MAX232引脚图图4-4 MAX232串行接口电路
此通信接口电路,只用了MAX232芯片中的一路接收器和驱动器,接至PC机串口的接
口使用RS-232标准的DB9芯接插座。
MAX232CPE接线也非常简单,只需要-5V电源,外接四只电容,即可产生+12V和—12V电压,输出标准的RS232接口信号。
而且MAX232CPE的价格不贵,所以采用MAX232CPE接口芯片实现RS232接口电路。
其接口电路如图4—4。
4。
5 电源电路
电源电路是由电源变压器,整流,滤波和稳压电路等四部分组成。
电源变压器是将交流电网220V的电压变为所需要的电压值,然后通过整流电路交流电压变为脉动的直流电压。
由于此脉动的直流电压还含有较大的波纹,必须通过滤波电路加以滤除,从而得到平滑的直流电压。
但这样的电压还随电网电压波动(一般有10%左右的波动),负载和温度的变化而变化。
因而在整流,滤波之后,还需接稳压电路。
稳压电路的作用是当电网电压波动,负载和温度变化是,维持输出直流电压稳定。
电源电路如图4—5:
图4-5 电源电路
5 系统软件设计
5。
1内置T6963C控制器软件特性
由于T6963C使用了硬件初始化设置,所以使得其指令功能集中于显示功能的设置上,从而加强了T6963C的显示控制能力。
T6963C模块的控制指令可带1个或2个参数,或无参数。
每条指令的执行都是先送入参数,再送入指令代码。
而且当向T6963C中读、写数据或向其中写入命令时,必须严格遵循T6963C的时序。
如果所送参数多于规定个数,以最后送入的有效。
每次操作之前必须先进行状态字检测.显示过程流程图如图5-1:
图5-1 显示过程流程图
图5-2 双参数指令传输流程图
以上每一步骤又要完成以下流程:对于无参数或自动指令,以上过程只需1次,单参数指令需两次,而双参数指令则需进行3次(前2次传参数,最后传指令)。
图5—2以双参数指令为例给出其指令传输过程. 液晶显示模块指令说明如下: (1)读状态字
格式
T6963C 的状态字由七位标志位组成,它们是: S0 指令读写状态 1:准备好 0:忙 S1 数据读写状态 1:准备好 0:忙 S2 数据自动读状态 1:准备好 0:忙 S3 数据自动写状态 1:准备好 0:忙 S4 未用
S5 控制器运行检测可能性 1:可能 0:不能 S6 屏读/屏拷贝出错状态 1:出错 0:正确 S7 闪烁状态检测 1:显示 0:关显示 (2)地址指针设置 格式 D1 D2
该指令为双参数(D1,D2)指令。
指令代码中的N1,N2,N0取值"1”为有效,"0”为无效,而且不能同时为”1”,根据N 的取值,该指令有三种含义,如表5—1:
表5-1
(3)显示区域设置 格式 D1 D2
该指令是双参数指令,它将在显示存储器内划分出各显示区域的范围。
它是由设定显示区域的首地址和宽度来确定该显示区域的范围,同时也确定了显示存储器单元与显示屏上各点像素的对应关系。
该指令中N1,N0有四种组合,每种组合有不同的含义。
具体功能参见表5—2:
表5-2
(4)显示方式设置 格式
该指令为显示方式的设置,无参数。
它的几个设置位功能如下: CG 位 字符发生器选择位。
当CG=0时,启用内部字符发生器CGROM,该字符库有128种字符,其代码为00H ~
7FH;同时可以建立128种8×8点阵的自定义字符发生器CGRAM ,
其字符代码规定在80H ~FFH 范围内;
当CG=1时,禁止内部CGROM ,字符显示完全取自自定义字符发生器CGRAM ,该字
符库为2K 字节容量,字符代码为00H ~FFH 。
N2,N1,N0位为显示方式设置位,它们的组合产生的显示方式如表5-3:。