项目10单片机LCD液晶显示器实验测试.docx
《项目10单片机LCD液晶显示器实验测试.docx》由会员分享,可在线阅读,更多相关《项目10单片机LCD液晶显示器实验测试.docx(32页珍藏版)》请在冰豆网上搜索。
项目10单片机LCD液晶显示器实验测试
项目10、单片机LCD液晶显示器实验测试
教学容:
任务1:
1602液晶显示器的原理及电路设计
任务2:
程序设计与仿真调试
教学目的:
一、了解LCD夜晶显示器的工作原理。
二、掌握LCD夜晶显示器的编程控制方法。
任务1:
1602液晶显示器的原理及电路设计
LCD是LiquidCrystalDisplay的简称
是一种利用液晶的扭曲/向列制成的新型显示器。
一、LCD勺特点:
(1)显示质量咼,由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT那样需要不断刷新亮点,因此,液晶显示器画质量咼且不会闪烁。
(2)数字式接口液晶显示器都是数字式的,与单片机系统的接口更加喜欢简单可靠,操作
更加方便。
(3)体积小、重量轻液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在
重量上比相同的显示面积的传统显示器要轻的多。
(4)、功耗低
相对而言,液晶显示器的功耗主要消耗在其部的电极和驱动IC上,因而耗电量比其他显示要少得多。
二、液晶显示器原理液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样就可以显示出图形,液晶显示器具有厚度薄、适用于大规模集成电路直接驱动和易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机和PDA移动通信工具等众多领域。
三、LCD的分类
1、显示方式:
(1)段式
(2)字符式(3)点阵式
(1)段式的应用:
计算器、电子表、数字万用表等;
显示类型与数码管类似,靠7个字段拼凑数字显示;
一般只能显示0~9,A~F16种字符;
驱动简单,耗电量小;
在仅需要显示数字的场合应用较多;也用来在便携式应用的场合来代替数码管。
(2)、点阵字符式:
有192种置字符,包括数字、字母、常用标点符号等。
另外用户也可以自定义5*7点阵的字符等。
(3)、点阵图形式:
除可以显示字符外,还可显示各种图形信息、汉字等。
区别:
(1)点阵型Lcd就是整个Lcd由若干个点构成,如240128就是240*128个点,可以显示图形和汉字、字母、符号等,要显示的容大小可以自己定义
(2)字符型Lcd固定每行显示多少个字符,每个字符显示的位置固定。
(3)段式一般没有专门的控制器,显示的东西都是相对固定的,一般把显示的容直接开模做。
有专门的多段码液晶驱动控制芯片。
(4)字符型、图形式的液晶则有控制器(要翻译MCI送来的控制命令)。
不同的控制器指令不一样。
而具体的液晶结构,也需要不同的控制器。
主要是点阵结构、扫描模式。
2、色彩度
(1)黑白
(2)多灰度
(3)彩色显示
3、驱动方式:
(1)主动矩阵驱动
优点:
①.广阔的视角
LCD是被动显示技术,需要强的背景光线穿过液晶层来形成图像。
LCD勺特
性决定不会产生视觉疲劳的优良性能,同时用为它需要定向的背景光限制了可视角度。
LUXEONLC采用的A-si主动矩阵技术结合其原创的SuperviewTM技术从两个方面有效解决了可视角的难题:
a.显示屏漫射增益技术:
利用菲涅尔透镜原理,显示屏对特殊的处理,以增大漫反射;在扩大视角的同时可提升显示对比度和亮度均匀性。
需要极高的工艺水准。
b.液晶微单元技术:
将每个液晶单元分割成大量微小的部分,事先将这些微小子单元以不同的方向倾斜,这就使得传播光线在到达这些微小面板的时候向各个方向散射,从而增大可视角度。
②.丰富色域表现,可以真正达到16.7M色
液晶本身没有颜色,每个LCD的子像素显示的颜色取决于色彩过滤器。
LCDPanel的数字信号控制器控制滤色片产生各种颜色。
主动矩阵LCD采用8位控制器,可以产生256级灰度。
每个子像素能够表现256级,那么你就能够得到256X3种色彩,每个像素能够表现16,777,216种颜色。
由于人的眼睛对亮度的感觉并不是线性变化的,人眼对低亮度的变化更加敏感,所以普通的24位的色度并不能完全达到理想要求。
框架速率控制(FRC:
通常只应用于高端专业产品;通过时间控制在显示每屏图像时多次刷新像素;与高频振动中将灰度的混合用空间来显示不同色彩过渡层。
如果显示一幅画面需要的时间分为很多帧,像素就可以在帧的切换当中造成一种灰度的过渡态,四帧就可以造成三个过渡态。
可以不降低图像的分辨率,实现完美的色彩表现。
(2)静态驱动
静态驱动法是指在像素前后电极士几施加驱动电压时呈显示状态,不施加驱动电压时则呈非显示状态的一种直接驭动方法从前面叙述可知,液晶显示器不宜施加直流电压.故静态驱动法施加到电极上的电压信号为交变信号,也就是说静态驱动方法的基本思想是在相对应的一对电极间连续外加电场或不外加电场。
3)单纯矩阵驱动
4、采光方式
LCD可公为带背光源和不带背光源两类
不带背光源LCD是靠显示器背面的反射膜将射入的自然光从下面反射出来
完成的。
大部分设备的LCD是用自然光的光源,可选用不带背光的LCD
若产品工作在弱光或黑暗条件下时,则选择带背光的LCD。
在电子工业中,背光是一种照明的形式,常被用于LCD显示上。
背光式和
前光式不同之处在于背光是从侧边或是背后照射,而前光顾名思义则从前方照射。
他们被用来增加在低光源环境中的照明度和电脑显示器、液晶荧幕上的亮度,以和CRT显示类似的方式产生出光。
其光源可能是白炽灯泡、电光面板(ELP)、发光二极管(LED)、冷阴极管(CCFL)等。
电光面板提供整个表面均匀的光,而其他的背光模组则使用散光器从不均匀的光源中来提供均匀的光线。
背光可以是任何一种颜色,单色液晶通常有黄、绿、蓝、白等背光。
而彩色显示采用白色白光,因其涵盖最多色光。
LED背光被用在小巧、廉价的LCD面板上。
他的光通常是有颜色的,虽然白色背光已经愈来愈普遍了。
电光面板经常被使用在大型显示上,这时均匀的背光是很重要的。
电光面板需要经由高压的交流电来驱动,这部份由反用换流器回路来提供。
冷阴极管被用在像是电脑显示器上,颜色上通常是白色的,这同样也需要反用换流器和散光器。
白炽背光则在需要高亮度时被使用,但是其缺点则是白炽灯泡的寿命相当有限,而且会产生相当多的热量。
LED背光可增进LCD显示的色彩表现。
LED光是经由三个各别的LED所产生出来,提供相当吻合LCD像点滤色器自身的色光谱。
四、图形显示的原理
1、线段:
点阵图形式液晶由M*N个显示单元组成,假设LCD显示屏有64行,每行有
128列,每8列对应1字节的8位,即每行由16字节,共16*8=128个点组成,
16字节恰位/字节二128个位
64*16字节二1024个显示单元
屏上64*16个显示单元与显示RAMK1024字节相对应,每一字节的容和显
示屏上相应位置的亮暗对应。
例如:
屏的第一行的亮暗由RAMaq的0001~~00FH的16字节的容决定,当
(000H=(FFH)时,则屏幕左上角显示一条短亮线。
(1024)10=(400)16
000H~~~~3FFH
2、字符的显示:
用LCD显示一个字符时比较复杂,因为一个字符由6*8或8*8点阵组成,
既要找到屏幕上某几个位置对应的显示RAM区的8字节,还有使每字节的不同位为“1”,其他的为“0”。
这样就组成了某个字符,但对于带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示器RAM对应的地址,设立光标,在
此送上该字符对应的代码即可。
3、显示汉字
(1)汉字编码
汉字的输入法:
音码、形码、区位码
1区位码:
1980年,为了使每一个汉字有一个全国统一的代码,我国颁布了第一个汉字编码的国家标准:
GB2312-80《信息交换用汉字编码字符集》。
将其中的汉字和其他符号按照一定的规则排列成为一个大的表格,在这个个表格中,第一(横)行称为一个“区”,每一(竖)列称为一个“位”,整个表格共有94区,每区有
94位,并将“区”和“位”用十进制数字进行编号:
即区号为01-94,位号为
01-94。
第01-09区:
分别存放了682个
标点符号
运算符号
制表付号
数字
序号
英文字母
俄文字母
日文假名
希腊字母
汉语拼音字母
汉语注音字母等
第10-15区
有待扩展的空白区
第16-55区:
(最常用的汉字)
按照汉语拼音的顺序依次存放了
3755个一级汉字
第56-87区:
(次常用的汉字)
按照部首顺序依次存放了3008个
二级汉字
第88区以后
有待扩展的空白区
例如:
保:
区位码:
十进制:
1703D十六进制:
1103H
为了去除ASCII表里的前30(20H个控制符,在区位码的基础上加上2020H形成国标码。
国标码是3123H。
但ASCII码表里:
西文字符“T和“#”的ASCII也为31H和23H
所以就产生了二义性。
计算机在RAM卖取时,无法判断。
决定把最高位置1,这样保的机码就形成了:
B1A3H
最终的公式:
区位码H+2020H=国标码+8080H=机码
或:
区位码+A0A0H机码
得出以下两个结论:
结论1:
汉字机码的每个字节都大于128(FFH),这就解决了与西文字符的ASCII码冲突的问题
结论2:
汉字机码一个汉字占两个字节
2ANSI
为使计算机支持更多语言,通常使用0x80~0xFF围的2个字节来表示1个字符。
比如:
汉字'中'在ANSI编码中文操作系统中,使用[0xD6,0xD0]这两个字节存储。
不同的国家和地区制定了不同的标准,由此产生了GB2312,BIG5,JIS等
各自的编码标准。
这些使用2个字节来代表一个字符的各种汉字延伸编码方
式,称为ANSI编码。
在简体中文系统下,ANSI编码代表GB2312编码,在日文操作系统下,ANSI编码代表JIS编码。
不同ANSI编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段ANSI编码的文本中。
当然对于ANSI编码而言,0x00~0x7F之间的字符,依旧是1个字节代表1个字符。
这一点是ASNI编码与Unicode编码之间最大也最明显的区别。
举例:
在桌面上新建一文本文档。
容为:
联通,如果按照ANSI方式存盘将会出现什么问题?
3Unicode编码(具体容学生可下去自已了解)
Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方
案。
Unicode用数字0-0x10FFFF来映射这些字符,最多可以容纳1114112个字符,或者说有1114112个码位。
码位就是可以分配给字符的数字。
UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。
通用字符集(UniversalCharacterSet,UCS是由ISO制定的ISO10646
(或称ISO/IEC10646)标准所定义的标准字符集。
UCS-2用两个字节编码,UCS-4用4个字节编码。
历史上存在两个独立的尝试创立单一字符集的组织,即国际标准化组织
(ISO)和多语言软件制造商组成的统一码联盟。
前者开发的ISO/IEC10646项目,后者开发的统一码项目。
因此最初制定了不同的标准。
1991年前后,两个项目的参与者都认识到,世界不需要两个不兼容的字符集。
于是,它们开始合并双方的工作成果,并为创立一个单一编码表而协同工作。
从Unicode2.0开始,Unicode采用了与ISO10646-1相同的字库和字码;
ISO也承诺,ISO10646将不会替超出U+10FFFF勺UCS-4编码赋值,以使得两者保持一致。
两个项目仍都存在,并独立地公布各自的标准。
但统一码联盟和ISO/IECJTC1/SC2都同意保持两者标准勺码表兼容,并紧密地共同调整任何未来勺扩展。
在发布勺时候,Unicode一般都会采用有关字码最常见勺字型,但ISO10646一般都尽可能采用Century字型。
UCS-4根据最高位为0的最高字节分成2八7=128个group。
每个group再根据次高字节分为256个平面(plane)。
每个平面根据第3个字节分为256行
(row),每行有256个码位(cell)。
group0的平面0被称作BMP(BasicMultilingualPlane)。
将UCS-4的BMP去掉前面的两个零字节就得到了UCS-2每个平面有2八16=65536个码位。
Unicode计划使用了17个平面,一共有17*65536=1114112个码位。
在Unicode5.0.0版本中,已定义的码位只有238605个,分布在平面0、平面1、平面2、平面14、平面15、平面16。
其中平面15和平面16上只是定义了两个各占65534个码位的专用区(PrivateUseArea),分别是0xF0000-0xFFFFD和0x100000-0x10FFFD所谓专用区,就是保留给大家放自定义字符的区域,可以简写为PUA。
平面0也有一个专用区:
0xE000-0xF8FF,有6400个码位。
平面0的0xD800-0xDFFF共2048个码位,是一个被称作代理区(Surrogate)的特殊区域。
代理区的目的用两个UTF-16字符表示BMP以外的字符。
在介绍UTF-16编码时会介绍。
如前所述在Unicode5.0.0版本中,238605-65534*2-6400-2408=99089。
余下的99089个已定义码位分布在平面0、平面1、平面2和平面14上,它们对应着Unicode目前定义的99089个字符,其中包括71226个汉字。
平面0、平
面1平面2和平面14上分别定义了52080、3419、43253和337个字符。
平面
2的43253个字符都是汉字。
平面0上定义了27973个汉字
(2)汉字显示
①64*64点阵
2LCD上多米用16*16点阵
0x40,0x40,0x20,0x20,
0x27,0xFE,
0x84,0x04,
0x40,0x38,
0x01,0xC0,
0x11,0x00,
0x11,0xFC,0x21,0x10,
0x21,0x10,
0xC7,0xFE,
0x40,0x00,
0x40,0x10,
0x41,0x08,
0x42,0x04,
0x4C,0x04,
③64*128点阵的LCD可以显示的字符个数的计算
64*128点阵=8192个点
64*128点阵=8192个点/16*16点阵=32
16个字符*2行=32
4显示汉字要取汉字的字模。
可以自己手工操作,也可以网上下载共享软件。
要了解汉字取模的方式。
并要掌握字节表示的含义。
任务2:
程序设计与仿真
一、教学目标:
1、制作一个用LCD显示字符的单片机系统。
2、制作一个用LCD显示汉字的单片机系统。
3、掌握单片机的LCD显示接口电路工作原理及其应用。
4、初步掌握单片机应用系统分析和软硬件设计的基本方法,建立单片机系统设计的基本概念。
二、1602字符型简介
1、1602字符型技术参数:
显示容量:
16*2个字符
芯片工作电压:
4.55.5V
工作电流:
2.0mA(5.0V)
模块最佳工作电压:
5.0V
字符尺寸:
2.95*4.35mm
指令:
11种
2、引脚功能:
1602字符型LCD采用标准的14脚或16脚接口,各引脚接口说明如下表:
编号
符号
引脚说明
编号
符号
引脚说明
1
VSs
电源地
9
D2
数据
2
Vdd
电源正极
10
D3
数据
3
Vl
液晶显示偏压
11
D4
数据
4
RS
数据/命令选择
12
D5
数据
5
R/W
读/写选择
13
D6
数据
6
E
使能信号
14
D7
数据
7
DO
数据
15
BLA
背光源正极
8
D1
数据
16
BLK
背光源负极
第1脚:
Vss为地电源。
第2脚:
Vdd接5V正电源。
第3脚:
V-为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影“,使用时可通过一个10K殴的
电位器调整对比度。
第4脚:
RS为数据/命令选择线,高电平时选择数据寄存器,低电平时选择指令寄存器。
第5脚:
R/W为读写选择线,高电平时进行读操作,低电平时进行写操作,当RS和R/W共同为低电平时可以写入指令或显示地址,当RS为低电平时
而R/W为高电平时可以读忙信号,当RS为高电平而R/W为低电平时可以写入数据。
第6脚:
Eumc为使能端,当E端由高电平跳变成低电平时,液晶模块执行
命令
第7~14脚:
D0----D7为8位数据线
第15脚:
背光源正极
第16脚:
背光源负极
3、指令说明:
齢喀加
控制信号
4
运嗣间
250KHZQ
功紗
SETDE6DBSPB4DBSDB2DEI脱
00)00001^
VvAWV*YXrW
1.伽押
蓿DDFM和AC的值2
!
日他
QQ
伽
00J00&1
WWVsrWW
L&tn抻
AC=O光标i画页回HOJfE位门'
献方式役昏
[
[
00J001I/DS*3
VtArVr
4(际
谟诙,画瞬方龙
QQ2QLDc肝
40lls+
设証示,光标戲烁刊知
光林画面位铁
C
0」
00J1S/CR/L*
40u£^
光标,Sffi移动忑瓢加&训
功能设昏
001DLnF*
w—「…’
40u£・
工伽锻f械化龄2
c(™丸址设味
Of
01ABA4ASA2Al妙
40us¥
设負CCM地址
EDRAM地址设苣*
OP
1AEA5A4A3A2A13
40us"
设貫DDRAI地址PH
谨BF■及M值*
2
LQ
BFAC£AC5叔AC3AC2AXC1ACO-
Ous+J
it'tBF值地址才数器曲值』
写数据"
2
数据门
数据写入DDF鑼/CGRilH
读数据J
1+3
数据小
dQus*
DDm/CGRO娠融•
I/D=h数据读周攝作后+AC自勾増1S/C=1:
S1面平移一个宇符位N=l:
两M显不*‘
I/D=0:
敎据读勇撓作后,AC自动减1S/C=O!
?
C标平移一个字符位一行见示心
5^1:
数捋谨/写操作,倒面平移对匸上右移
*上5*10点阵字符心
5=0:
数据读得操作,阻面不动R/t=O;左移
F=0:
&*?
点库字符Q
D:
显示开关,T一开「旷一关ILFi8位数捱接口
BF=li'It*-
Q光标开关一开「0”一关EL=O:
.4位敢挺接口
BF=O:
邃备好Q1
缶闪酹关-开;S”一关Q'
①清屏指令:
使DDRA的容全部被清除,屏幕光标回原位,地址计数器AC=0运行时间(250KHz):
1.64ms。
②归位指令:
使光标和光标所在位的字符回原点(屏幕的左上角)。
但DDRAM单元容不变。
地址计数器AC=Q运行时间(250KHz):
1.64ms。
3输入方式设置。
该指令设置光标、画面的移动方式。
l/D=l:
数据读写操作后,AC自动增1;
l/D=Q:
数据读写操作后,AC自动减l;
S=1:
当数据写入DDRAJM显示将全部左移(I/D=1)或全部右移(I/D=Q),
此时光标看上去未动,仅仅是显示容移动,但从DDRAM中读取数据时,显示不移动;
S=Q:
显示不移动,光标左移(I/D=1)或右移(I/D=Q)。
4显示开关控制。
该指令设置显示、光标及闪烁开、关。
D:
显示控制,D=1,开显示(DisplayON),D=Q关显示(DisplayOFF);
C:
光标控制,C=1,开光标显示,C=Q,关光标显示;
B:
闪烁控制,B=1,光标所指的字符同光标一起以Q.4s交变闪烁,B=Q,不闪烁。
运行时间(25QKHz):
4Qs。
5光标或画面移位。
该指令使光标或画面在没有对DDRAM进行读写操作时被左移或右移,不影响DDRAMS/C=Q、R/L=1,光标左移一个字符位,AC自动减1;S/C=Q、R/L=1,光标右移一个字符位,AC自动加1;S/C=1、R/L=Q,光标和画面一起左移一个字符位;S/C=I、R/L=1,光标和画面一起右移一个字符位。
运行时间(250KHZ):
40卩s。
6功能设置。
该指令为工作方式设置命令(初始化命令)。
对HD44780初始化时,需要设置数据接口位数DL(4位或8位)、显示行数N、点阵模式F(5X7或5x10)。
DL:
设置数据接口位数,DL=1,8位数据总线DB7-DBQDL=0,4位数
据总线DB&DB4而DB3-DB0不用,在此方式下数据操作需两次完成;
N:
设置显示行数,N=1,2行显示;N=0,1行显示。
F:
设置点阵模式,F=0,5X7点阵,F=1,5X10点阵。
运行时间(250KHz):
40卩s。
7CGRAM地址设置。
该指令设置CGRAI地址指针。
A5〜A0=000000〜111111。
地址码A5~A0被送入AC中,在此后,就可以将用户自定义的显示字符数据写入CGRAI或从CGRAI中读出。
运行时间(250KHz):
40^s。
8DDRAM地址设置。
该指令设置DDRA地址指针。
若是一行显示,地址码A6〜A0=00〜4FH有效;若是二行显示,首行址码A6〜A0=00〜27H有效,次行址码A6〜A0=40〜67H有效。
在此后,就可以将显示字符码写入DDRAI或从DDRA中读出。
运行时间(250KHz):
40卩s。
9读忙标志BF和AC值,该指令读取BF及ACBF为部操作忙标志,BF=1,忙,BF=Q不忙。
AC4AC0为地址计数器AC的值。
当BF=0时,送到DB〜DB0的数据(AC6〜AC0)有效。
⑩写数据到DDRA或CGRA,该指令根据最近设置的地址性质,将数据写
入DDRA或CGRA中。
实际上,数据被直接写入DR再由部操作写入地址
指针所指的DDRAI或CGRAM运行时间(250KHz):
4卩s。
11读DDRA或CGRA数据,该指令根据最近设置的地址性质,从DDRA或
CGRA读数据到总线DB7-DBO上。
运行时间(250KHz):
40卩s。
读操作时序:
1C