资源描述
基于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。
计算机和单片机数据通信,采取串行通信,和并行通信相比,串行通信含有传输距离远,接口电路和软件编程简单等特点,所以本系统选择串行通信。串行通信接口电路见后面硬件电路设计。
RXD
TXD
89C51
GND
GND
TXD
RXD
外
部
设
备
GND
GND
图2-1 串行通信方法
3 液晶显示模块介绍
液晶显示模块单元电路关键包含显示控制器、行驱动器、列驱动器、电源偏置电路、显示存放器、液晶显示器、液晶显示模块接口。
(1) 显示控制器 关键由控制器T6963C组成,可提供和外部MCU数据接口及对显示存放器读写操作;并可控制行,列驱动器时序电路,数据格式和显示格式等。
(2) 行驱动器 由行驱动器T6A40组成,用于把控制器串行数据转换成LCD屏所需要并行行数据。
(3) 列驱动器 由列驱动器T6A39组成,可接收控制器串行数据并将其转换成LCD屏所需要并行列数据。
(4) 电源偏置电路 关键为行、列驱动器提供LCD所需多种偏置电压。
(5) 显示存放器 由一块32K随机存放器(RAM)组成,可为液晶显示模块提供显示数据存放空间。
(6) 液晶显示器(LCD) 提供128行、240列点阵显示器幕。
(7) 液晶显示模块接口 用于提供和单片机接口。
液晶显示模块原理框图图3-1。
行 驱
动 器
行 驱
动 器
显 示
控 制 器
液 晶 显 示 屏
240*128 DOTS
列 驱
动 器
列 驱
动 器
列 驱
动 器
显 示 存 储 器
电 源 偏 置
液 晶 显 示 模 块 接 口
图3-1 液晶显示模块原理框图
3.1 显示控制器
显示控制器关键由T6963C组成,它由振荡器、时序控制电路、工作方法设置寄存器及电路,内部字符库CGROM及光标控制电路,显示存放器管理电路和运算电路和多种功效电路组成。控制部经过振荡器外接晶体振荡器产生振荡脉冲,经时序控制电路调制产生T6963C工作时钟脉冲系列,依据工作方法设置电路生成各路控制及驱动时序脉冲,从而实现T6963C工作控制。其引脚图图3-2。
图3-2 T6963C引脚图
控制部提供了使用引脚电平设置内部工作状态功效,使T6963C上电后就开始对所连接液晶显示驱动系统进行正常控制及驱动。这将避免因上电控制器还未进行初始化而使液晶显示驱动系统不能正常工作,造成液晶显示器上出现不期望显示状态。
3.2驱动方法设置
驱动方法是指T6963C向液晶显示驱动系统传输显示数据格式。她依据所要控制液晶显示驱动系统数据传输格式要求而定。T6963C能够实现四种数据传输格式,它由引脚和SDSEL电平状态设置。
: 液晶显示器件电极排列形式设置。
当=1时,液晶显示器件为单屏结构;当=0时,液晶显示器件为双屏结构。
SDSEL: 数据传输格式设置。
当SDSEL=1时,数据传输格式为2位并行同时传输;当SDSEL=0时,数据传输格式为1位串行传输。
这两个设置引脚电平组合确定了驱动部中数据传输输出端。如表3-1:
SDSEL
上半屏数据传输线
下半屏数据传输线
1
1
HOD,ED
—
1
0
ED
—
0
1
HOD,ED
LOD,ED
0
0
ED
ED
表3-1
3.2.1显示窗口长度设置
显示窗口长度是指T6963C所要控制液晶显示器件水平方向最大像素点数。显示窗口长度设置将确定了驱动部向液晶显示驱动系统发送显示数据个数,不管实际控制显示器点阵数怎样,她已固定了驱动信号时序关系。该设置由引脚MD3和MD2(显示数据传输量设置端)电平组合实现,如表3-2:
MD3
MD2
像素点数
字符数
1
1
256
32
1
0
320
40
0
1
512
64
0
0
640
80
表3-2
3.2.2显示窗口宽度设置
显示窗口宽度是指T6963C所要控制液晶显示器件垂直方向最大像素点数。显示窗口宽度设置将确定了驱动部向液晶显示驱动系统发送帧信号时序和占空比系数。该设置由引脚MDS,MD1和MD0(显示帧信号设置端)和设置端组合实现,如表3-3:
MDS
MD1
MD0
像素点行数
占空比系数
1/0
0
1
1
16/32
16
1/0
0
1
0
32/64
32
1/0
0
0
1
48/96
48
1/0
0
0
0
64/128
64
1/0
1
1
1
80/160
80
1/0
1
1
0
96/192
96
1/0
1
0
1
112/224
112
1/0
1
0
0
128/256
128
表3-3
3.2.3显示字符字体设置
显示字符字体选择实际上是选择字符间距。T6963C内部字符库是5*8点阵字符字模,在垂直方向字模数据中留有一行间距,是不可变动;但在水平方向字模数据将一字节高三位作为字间距处理,即字间距能够为一点距,两点距或三点距,也能够没有。T6963C能够依据需要经过引脚FS1和FS0(字体选择端)电平组合来设置字符间距,这里表示为字符字体。组合设置如表3-4:
FS1
1
1
0
0
FS0
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位作为显示数据传输而舍弃高1位,那么显示为7*8点阵字体字符;假如8位数据全部作为显示数据传输,那么显示位8*8点阵字体字符。这是在文本显示方法下。在图形显示方法下,则将是取舍图形数据有效位问题了。
振荡器晶体振荡器选择
振荡器时钟和控制器所控制液晶显示驱动系统驱动帧频(行数)和数据传输量(列数)相关。晶体频率F能够由下列公式计算得来:
F=2F=2*(8M*8N*Fr)
其中F——驱动位移时钟频率,即HSCP(LSCP)脉冲频率;
M——字符数/行,8M即最大驱动像素数/行;
N——字符行数/帧,8N即最大驱动像素行数;
Fr——液晶显示器件所需扫描频率,通常为60或70Hz。
控制部引脚设置功效使得T6963C能够上电就能正常工作,但也给T6963C通用性带来不便,所以T6963C内置液晶显示模块上。
T6963C不仅含有基础文本显示和图形显示功效,而且还含有文本属性显示功效,这是T6963C控制器独特功效。文本属性显示功效是将文本显示由通常单字节数据处理扩大成双字节数据处理。在这种功效下把显示存放器区划分为文本代码区和文本属性区。文本代码区是用和存放作为字符显示字符代码;文本属性区是用和存放作为对应字符显示字符属性,这种属性由文本属性区单元中一个字节数据低4位表示,有6种属性。如表3-5:
文本属性码
字符显示效果
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将图形地址指针计数器用作文本属性区寻址。所以文本属性功效不能和图形显示功效并存。
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为写操作。
输出 存放器操作使能信号。低电平有效。
, 输出 存放器操作使能信号。在单屏结构设置()时有效。它们有效地址范围是:
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中作为输入端那个信号需和T6963CLP信号相连。
列驱动器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:
电 源
电 路
单 片 机
RS232接口电路
EPROM
液晶显示模块接口
图4-1 总电路原理框图
单片机系统板功效是控制液晶显示模块进行显示,它特点是采取了7805整流电源电路为系统板提供5V电压,可实现便携式设计,另外系统板还配置了一个RS232接口,能够实现和计算机数据传输。
4.3 单片机和液晶显示模块接口
单片机和液晶显示模块接口通信这里采取间接访问方法。间接控制方法是将内置T6963C控制器液晶显示模块和计算机系统中某个并行I/O接口连接,计算机经过对该I/O接口间接操作来实现对模块控制。间接控制方法在硬件电路上需要一个8位并行接口和模块数据线连接,作为数据总线,还需要一个3位并行接口作为时序控制信号线如89C51P3.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显示控制能力。
指令状态开启
状态检验
写参数1(低8位)
写指令
状态检验
写参数2(高8位)
状态检验
结 束
初始化
清 零
定入显示数据
状态读取
状态检测
写指令(读数据)
T6963C模块控制指令可带1个或2个参数,或无参数。每条指令实施全部是先送入参数,再送入指令代码。而且当向T6963C中读、写数据或向其中写入命令时,必需严格遵照T6963C时序。假如所送参数多于要求个数,以最终送入有效。每次操作之前必需优异行状态字检测。显示过程步骤图图5-1:
图5-1 显示过程步骤图
图5-2 双参数指令传输步骤图
以上每一步骤又要完成以下步骤:对于无参数或自动指令,以上过程只需1次,单参数指令需两次,而双参数指令则需进行3次(前2次传参数,最终传指令)。图5-2以双参数指令为例给出其指令传输过程。
液晶显示模块指令说明以下:
(1)读状态字
S7
S6
S5
S4
S3
S2
S1
S0
格式
T6963C状态字由七位标志位组成,它们是:
S0 指令读写状态 1:准备好 0:忙
S1 数据读写状态 1:准备好 0:忙
S2 数据自动读状态 1:准备好 0:忙
S3 数据自动写状态 1:准备好 0:忙
S4 未用
S5 控制器运行检测可能性 1:可能 0:不能
S6 屏读/屏拷贝犯错状态 1:犯错 0:正确
S7 闪烁状态检测 1:显示 0:关显示
(2)地址指针设置
0
0
1
0
0
N2
N1
N0
格式 D1 D2
该指令为双参数(D1,D2)指令。指令代码中N1,N2,N0取值”1”为有效,”0”为无效,而且不能同时为”1”,依据N取值,该指令有三种含义,如表5-1:
D1
D2
指令代码
功效
水平位置(低7位有效)
垂直位置(低5位有效)
21H(N0=1)
光标地址设置
偏置地址(低5位有效)
00H
22H(N1=1)
CGRAM偏置地址
低字节
高字节
24H(N2=1)
显示地址设置
表5-1
(3)显示区域设置
0
1
0
0
0
0
N1
N0
格式 D1 D2
该指令是双参数指令,它将在显示存放器内划分出各显示区域范围。它是由设定显示区域首地址和宽度来确定该显示区域范围,同时也确定了显示存放器单元和显示器上各点像素对应关系。该指令中N1,N0有四种组合,每种组合有不一样含义。具体功效参见表5-2:
N1 N0
D1
D0
指令代码
功效
0 0
低字节
高字节
40H
文本显示区首地址
0 1
字节数
00H
41H
文本显示宽度
1 0
低字节
高字节
42H
图形显示区首地址
1 1
字节数
00H
43H
图形显示区宽度
表5-2
(4)显示方法设置
1
0
0
0
CG
N2
N1
N0
格式
该指令为显示方法设置,无参数。它多个设置位功效以下:
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:
N2 N2 N0
显示方法
说明
0 0 0
逻辑“或”
文本和图形以逻辑“或”关系合成显示
0 0 1
逻辑“异或”
文本和图形以逻辑“异或”关系合成显示
0 1 1
逻辑“和”
文本和图形以逻辑“和”关系合成显示
1 0 0
文本属性
文本显示特征以双字节表示
表5-3
(5)显示状态设置
1
0
0
1
N3
N2
N1
N0
格式
该指令设置了目前显示状态,无参数。该指令有4个设置位,每一位全部代表一个显示状态设置,它们能够同时有效,也能够部分有效,也能够全部无效。这4个设置位功效以下:
N0 光标闪烁设置开关 N0=1为启用光标闪烁;N=0为严禁光标闪烁。
N1 光标显示设置开关 N0=1为启用光标显示;N=0为严禁光标显示。
N2 文本显示设置开关 N0=1为启用文本显示;N=0为严禁文本显示。
N3 图形显示设置开关 N0=1为启用图形显示;N=0为严禁图形显示。
(6)数据自动读写设置
1
0
1
1
0
0
N1
N0
格式
使用该指令将进入或退出数据自动读或自动写方法。在自动读或自动写方法中,计算机能够连续将显示数据写入显示存放器中或从显示存放器中读取数据。在每次读或写操作后,显示地址自动加一。进入自动读方法或自动写方法时,状态位将由S2(自动读方法)或S3(自动写方法)替换S1和S0。在自动读或自动写方法完成时要输入退出自动读写方法命令。在自动读写方法中写入其它指令全部是无效。
该指令中有两位设置位N1,N0。这两位将产生三个子指令,如表5-4:
N1 N0
指令代码
功 能
0 0
B0H
进入自动写方法
0 1
B1H
进入自动读方法
1 *
B2H/B3H
进入自动读写状态
表5-4
(7)数据一次读写设置
1
1
0
0
0
N2
N1
N0
格式
该指令是一次读写数据操作指令。在每次读写数据操作后,显示地址全部要依据指令代码设置而修正:加一,减一或不变。该指令在写入数据时所带一个参数就是所要写入显示数据。当读数据操作时,该指令不带参数,直接写入指令代码。该指令有三个设置位N2,N1,N0。它们组合功效如表5-5:
参数D1
N2 N1 N0
指令代码
功 能
数据
0 0 0
C0H
数据写,地址加一
—
0 0 1
C1H
数据读,地址加一
数据
0 1 0
C2H
数据写,地址减一
—
0 1 1
C3H
数据读,地址减一
数据
1 0 0
C4H
数据写,地址不变
—
1 0 1
C5H
数据读,地址不变
表5-5
5.2初始化子程序设计
初始化部分包含对液晶显示模块初始化设置、液晶显示模块显示RAM清零、单片机内部RAM清零。其中液晶显示模块初始化设置包含设置显示方法、显示区域首地址及宽度、光标形状设置。
开 始
设置文本显示区首地址
设置文本显示区宽度
设置图形显示区首地址
设置文本属性区首地址
设置图形显示区宽度
设置文本属性区宽度
光标形状设置
显示方法设置
显示开关设置
结 束
初始化子程序步骤图图5-3:
图5-3 初始化子程序步骤图
5.3 串行通信子程序设计
单片机和PC机之间串行通信关键包含两个过程:由8051传送数据至PC机;8051接收PC机传来数据。
串行通信子程序步骤图图5-4:
开 始
通信初始化
等候PC机传送数据
判定收到是否是数据起始标志
开始接收数据,判定是否结束标志
中止返回
继续接收数据
Y
Y
N
N
图5-4 串行通信子程序步骤图
5.4 显示控制子程序设计
显示应用程序部分关键是单独显示子程序,经过一个单独按键进行控制,按一次按键实施一个显示子程序,显示完最终一个显示子程序,自动回到第一个显示子程序,实现循环显示。
显示子程序包含汉字、图形及图象显示,而且实现了汉字平移和图形动态显示。其中汉字平移是经过实施一个定时中止程序来不停改变显示区域首地址实现,因为显示区域首地址是和液晶显示模块显示RAM单元每一字节相对应,首地址加一意味着显示RAM单元一个字节改变,在黑白模式下即对应着八个像素改变,所以在显示器上汉字平移是跳跃式,间距为八个像素点;而图形平移是经过显示控制器T6963C位操作指令实现,该位操作指令能够实现对显示器每一像素点亮暗操作,所以能够实现图形平滑移动。
显示子程序经过指针从数据库中逐一提取数据送如液晶显示模块显示RAM进行显示。数据库中数据为要显示内容,此汉字字模提取软件不仅能够提取汉字字模十六进制数据,而且能够提取图象十六进制数据。
开始
计算图形显示RAM 地址
图形显示区宽度
图形显示区首地址
计算汉字库字符首地址
设置显示RAM地址
取字库地址指针
取字模数据
写入数据
结束
图5-6 文本显示图形步骤图
开始 始
计算显示RAM地址
文本显示区首地址
设置显示RAM地址
取汉字代码
写入汉字代码
结束
图5-5 文本显示汉字步骤图
6系统调试
6.1 分步调试
6.1.1 LCD液晶显示电路调试显示
硬件电路设计及软件设计好以后进行各模块调试,首先调试字符显示部分,单片机调试使用TOPICE52单片机仿真器。
采取直接查字符码表显示措施,将要显示汉字字符码直接写在单片机程序中,编程时先将程序存贮区中字符码全部转移到系统扩展数据存贮器6264中,然后从6264中查找字符码并输出显示。
6.1.2 计算机串行口调试
首先利用“串口精灵”串口调试软件,检验计算机串口数据收发功效是否有效,具体方法是:将从串口接出DB9芯电缆插头第2、3脚短接(立即串口数据发送和接收端短接),然后打开“串口精灵”软件,在发送窗口中输入一串要发送字符或数据,并将这些字符或数据发送出去,在数据接收窗口中观察接收到字符或数据是否和发送一致。
硬件调试完成后,利用一样措施调试自己在PC机上编写通信程序。
6.1.3 计算机和单片机通信电路调试
因为单片机通信已经调试完成,将计算机和单片机相连以后调试也就是调试单片机数据收发功效。编制程序使二者之间相互发送数据,在TOPICE52仿真软件数据窗口和计算机屏幕中监视接收数据。
6.2 系统统一调试
经过以上每一步调试并全部成功后,就能够将硬件及软件结合起来进行系统统一调试。
经过以上步骤调试,将计算机程序烧录到89C51单片机内部ROM中,用屏蔽线将液晶显示系统和计算机串行口连接起来,就能实现计算机对LCD显示器实时控制,能够实时更新显示内容、显示方法。
6.3仿真及结果
在C8051F020系统试验箱上液晶显示器上,我实现了这些动态显示功效,特设计了以下多个显示场景:
(1)场景一:
第一个场景是在液晶显示器上静态显示位图,图6.1所表示:
图6.1 位图上下滚动
在这个场景中,是对位图128*64模拟上下滚动。
(2)场景二
第二个场景是图形动态显示模拟,它们是从左向右推出,一直移动到显示器最右端。具体图6.2所表示:
展开阅读全文