LCD1602原理及显示程序_第1页
LCD1602原理及显示程序_第2页
LCD1602原理及显示程序_第3页
LCD1602原理及显示程序_第4页
LCD1602原理及显示程序_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品得通过器 件,如在计算器、 万用表、 电子表及很多家用电子产品中都可以瞧到,显示得主要就是数字、专用符号与图形.在单片机得人机交流界面中,一般得输出方式有以下几种:发光管、L E D数码管、液晶显示器。发光管与 LED 数码管比较常用 ,软硬件都比较简单 ,在前面章节已经介 绍过 ,在此不作介绍,本章重点介绍字符型液晶显示器得应用。 在单片机系统中应用晶液显示器作为输出器件有以下几个优点: 显示质量高 由于液晶显示器每一个点在收到信号后就一直保持那种色彩与亮度,恒定发光 ,而不像阴极IC 上 ,因而耗电量比其它显示射线管显示

2、器 (CRT) 那样需要不断刷新新亮点因此 ,液晶显示器画质高且不会闪烁 . 数字式接口 液晶显示器都就是数字式得 ,与单片机系统得接口更加简单可靠,操作更加方便。 体积小、重量轻 液晶显示器通过显示屏上得电极控制液晶分子状态来达到显示得目得,在重量上比相同显 示面积得传统显示器要轻得多。 功耗低 相对而言 ,液晶显示器得功耗主要消耗在其内部得电极与驱动 器要少得多。10。& 1液晶显示简介 液晶显示原理 液晶显示得原理就是利用液晶得物理特性 ,通过电压对其显示区域进行控制,有电就有显示 , 这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示得

3、特点,目前已经被广泛应用在便携式电脑、数字摄像机、P DA移动通信工具等众多领域。 液晶显示器得分类液晶显示得分类方法有很多种 ,通常可按其显示方式分为段式、字符式、点阵式等。除了黑 白显示外,液晶显示器还有多灰度有彩色显示等。如果根据驱动方式来分,可以分为静态 驱动(S tatic)、单纯矩阵驱动(SimpI e M at r ix)与主动矩阵驱动 (A c tiv e M a trix)三种. 液晶显示器各种图形得显示原理:线段得显示点阵图形式液晶由M >4N个显示单元组成,假设L CD显示屏有64行,每行有12 8列,每8列 对应1字节得8位,即每行由16字节,共16 >8=

4、128个点组成屏上64X1 6个显示单元与显 示RA M区1 0 24字节相对应,每一字节得内容与显示屏上相应位置得亮暗对应。例如屏得 第一行得亮暗由R AM区得OOOH- 00 F H得16字节得内容决定,当(OOOH)= F FH时, 则屏幕得左上角显示一条短亮线,长度为8个点;当(3F FH)=FFH时,则屏幕得右下角显示一这就就是 LCD,既要找到与显示“1",其它得为条短亮线;当(000H )= F FH , (001 H )= 0 0H , (0 0 2H) =0 0H ,(0 0EH)=0 0 H,(00 F H)=OOH 时,则在屏幕得顶部显示一条由 8段亮线与 8条

5、暗线组成得虚线。 显示得基本原理。 字符得显示 用L C D显示一个字符时比较复杂,因为一个字符由6X8或8X8点阵组成 屏幕上某几个位置对应得显示 RAM 区得 8字节,还要使每字节得不同位为“0 ”,为 “1得”点亮 ,为“0得”不亮这样一来就组成某个字符。但由于内带字符发生器得控 制器来说 ,显示字符就比较简单了 ,可以让控制器工作在文本方式 ,根据在 LCD 上开始显示得 行列号及每行得列数找出显示RAM对应得地址,设立光标,在此送上该字符对应得代码即可汉字得显示汉字得显示一般采用图形得方式,事先从微机中提取要显示得汉字得点阵码(一般用字模提取软件),每个汉字占32B,分左右两半 各占

6、16B,左边为1、3、5右边为2、4、6 根据在L CD上开始显示得行列号及每行得列数可找出显示R A M对应得地址,设立光标,送上要显示得汉字得第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节直到32B显示完就可以 LCD上得到一个完整汉字。10 .8o 2160 2字符型LCD简介LCD,目前常用161602字符型液晶显字符型液晶显示模块就是一种专门用于显示字母、数字、符号等点阵式* 1,16*2,20*2与40* 2行等得模块。下面以长沙太阳人电子有限公司得U1R5IMFt3Cl示器为例,介绍其用法。一般1 6 0 2字符型液晶显示器实物如图105 3:HE图1 0 53

7、1 6 02字符型液晶显示器实物图10.8、2、1 1602L CD得基本参数及引脚功能1 60 2 LCD分为带背光与不带背光两种,基控制器大部分为HD 44 7 80,带背光得比不带背光得厚,就是否带背光在应用中并无差别,两者尺寸差别如下图10-54 所示:eve-gg00 075 073 7-*-2.541 dooooooMoooooodsi n 麽窗MSs.r 13 0-r5. &9.015*-4、55、5V图1 0 54 1602LC D尺寸图 1602 LCD主要技术参数: 显示容量:16 >2个字符 芯片工作电压:工作电流:2、0m A ( 5、0 V) 模块最佳工

8、作电压:5、0 V字符尺寸:2、95>4、35 ( W< H) m m 引脚功能说明160 2LCD采用标准得14脚(无背光)所示: 编号或16脚(带背光)接口,各引脚接口说明如表10-135678符号引脚说明编号符号引脚说明VSS电源地9D2数据VDD电源正极10D3数据V L液晶显示偏压1 1D4数据RS数据/命令选择12D5数据R /W读/写选择13D 6数据E使能信号14D7数据D 0数据15B L A背光源正极D1数据16BL K背光源负极表10 13:引脚接口说明表第1脚:V S S为地电源.第2脚:V D D接5V正电源。,接正电源时对比度最弱,接地时对比度最高,对比

9、度第3脚:VL为液晶显示器对比度调整端 过高时会产生 鬼影”使用时可以通过一个 10K得电位器调整对比度.第4脚:R S为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R / W为读写信号线,高电平时进行读操作低电平时进行写操作。当R S与R /W共同为低电平时可以写入指令或者显示地址,当R S为低电平R/W为高电平时可以读忙信号,当R S为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D 7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极.1 0.8.2. 3 1 6 02 L CD

10、得指令说明及时序1 60 2液晶模块内部得控制器共有1指令序号清显示光标返回 置输入模式显示开/关控制 光标或字符移位1011置功能置字符发生存贮器地址置数据存贮器地址读忙标志或地址写数至U CGRAM 或DD R A M)从 CGRA M或 DD RA M读数1 4 :控制命令表4所示:1条控制指令,如表1R/W0D7D6D5D4D21S/CR/LDL/DC1字符发生存贮器地址01显示数据存贮器地址 计数器地址BF要写得数据内容读出得数据内容表10160 2液晶模块得读写操作、屏幕与光标得操作都就是通过指令编程来实现得。 高电平、0为低电平)指令1:清显示,指令码0 1H,光标复位到地址 0

11、0H位置.指令2:光标复位,光标返回到地址 0 0 H。指令3:光标与显示模式设置I/D:光标移动方向,高电平右移,低电平左移字就是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。D:控制整体显示得开与关,高电平表示开显示,低电平表示关显示 C: 控制光标得开与关,高电平表示有光标,低电平表示无光标B:控制光标就是否闪烁,高电平闪烁,低电平不闪烁.指令5:光标或显示移位S/C :高电平时移动显示得文字,低电平时移动光标.指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单 行显示,高电平时双行显示 F:低电平时显示5x7得点阵字符,高电平时显

12、示5 X 1 0得点阵 字符.指令7:字符发生器 R AM地址设置。指令8 : D DR A M地址设置.指令9:读忙信号与光标地址B F :为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙.指令10:写数据。指令1 1 :读数据。与HD 4 4780相兼容得芯片时序表如下: 读状态 输入 R S =L , R/W= H ,E=H(说明:1为S:屏幕上所有文输出 D0 D 7 =状态 字写指令输入RS=L , R/W= L, D 0 =高脉冲-D7 =指令码,E输出无读数据输入R S =H, R/W =H ,E =H输出D 0 D 7 =数据写数据输入R S= H

13、, R /W=L,D 脉冲0 -D 7 =数据,E=高输出无表10- 15:基本操作时序表读写操作时序如图1 0- 55与1 0-56所示:RStioi"IIFVR/Wtmi士二 10*DBOD&7VINd DataNtwo¥%LC 一写操作时序图 10 561 0 .8. 2o 4 1602L C D得R A M地址映射及标准字库表液晶显示模块就是一个慢显示器件,所以在执行每条指令之前一定要确认模块得忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就就是告诉模块在哪里显示字符,图10-57就是1 6 02得内部显示地址。图10-571

14、 6 0 2L C D内部显示地址例如第二行第一个字符得地址就是40H,那么就是否直接写入40H就可以将光标定位在第二行第一个字符得位置呢 ?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入得数据应该就是0100000 0 B ( 40H)+100 0 0000B(8 0 H)=11000000 B ( C 0H )。在对液晶模块得初始化中要先设置其显示模式,在液晶模块显示字符时光标就是自动右移得,无需人工干预。每次输入指令前都要判断液晶模块就是否处于忙得状态。1602液晶模块内部得字符发生存储器( C GROM)已经存储了16 0个不同得点阵字符图形如图10-5 8 所示

15、,这些字符有:阿拉伯数字、英文字母得大小写、常用得符号、与日文假名 等,每一个字符都有一个固定得代码,比如大写得英文字母“A”得代码就是0 10 0 0 0 0 1B(41H),显示时模块把地址4 1H中得点阵字符图形显示出来,我们就能瞧到字母“ A”CGROM ft CGRAM中字斟与字Hffl渺討虑SS00000010OOHaim;OlliIDIO J11価H1U»l,111ILllCGlAM£1)0Vp1P1-=H1flFXX X xoooirrI-IAQ4啣n 1T !电xxxxwioO)BRbrr彳制>p0<4)a3CScJ9<gXXX Xfl&

16、#39;lW14DTdIIX-tnXXX XDlO$£Ut'u寸才B0XXX XOILObdF1 V1 fI T-5P£XXKXOlll>CwW7聲Ji 7CItX XX<aX1彳4fXXKXXlDOl(Z)9I ,:VJr夕JJk-1X xxxioia(1)tiHJzjt1 XJki千y xxxioii+IKCk1廿tSKXXX xn,M7龙L¥I3:7Ts會XXXXllOlM3PK7<=+xxxxi 订 0C7>i>Nn-9弋八rX XM KHU/T007Vd0Lk图10- 58字符代码与图形对应图10。8。2。516 0

17、 2LCD得一般初始化(复位)过程延时15m S写指令3 8 H(不检测忙信号)延时5mS写指令3 8H(不检测忙信号)延时5mS写指令3 8H (不检测忙信号)以后每次写指令、读/写数据操作均需要检测忙信号写指令38H :显示模式设置写指令08H:显示关闭写指令0 1H :显示清屏写指令0 6H :显示光标移动设置写指令0 CH :显示开及光标设置1 0。8。31602L CD得软硬件设计实例在1 602LCD第一行显示网站名:在第二行显示联系电话:&实验前应先将显示切换开关切换到LCD工作状态.1 0。8.3. 1硬件原理图开始1 rLTD初始化1 r延时1P设第一行 显示位置1P

18、显示第一 行内容1P设第二行 显示位置1 r显示第二 行内容勺pLCD液晶显示,用16F8 7 7A写程序如下: 写一个字符串程序:#i nclu d e< pic、h>#d ef ine uc h a r unsign e d char#def i ne uint unsi gn ed intdefin e DB PORTD / /定义端口 #de f i n e r s R BO#def in e e RB1 _CONF I G( 0 x3 B 31);iex i e” ; /第二行con st u ch ar data= ” ha ppy ev e ryd ay "

19、/ 输入得字符串第一行c onst uc har da t a1=”x;/写指令函数 r dat ); /写数据函数voi d in i t ( );vo id write_mond(uc h ar d a t)voi d wr i te _da ta(u chavoi d dela y(u int x);V oid de l a y( uint x)uin t a, b;for (a=x; a>0;a-)for (b=110;b 0; b-);d in i t()/初始化指令vowri t e_mond(0 x 01); /00000000 0 1,清除屏幕显示writ e_ m o

20、nd(0x 2 8);/ /设置4位格式,2行,5 X 7 ,功能设定?w rite mond(0x0 C) ;/000000 1 1 00,开显示,无光标,不闪烁write _mond (0 x06 );/0000 0 00110,置输入模式,光标右移,屏幕上得文字不移动void wri t e_m o n d(uchar d at)?rs=0; /指令?D B = dat;?e=?wr i t e _mo n d(0x1 4) ; / /0001000100,设定CGR A M地址显示屏或光标移动方向1; 允许下降沿触发1- 0?d elay(5);e= 0;D B= DB <<

21、;4 ;/左移四位从 RD4RD7进入L CD delay( 5);e=1; de lay(5);e=0; void wr it e_d a ta( u char d at )r s=1;/ 数据DB = d a t ;e=1; / /允许?d ela y(5);e =0;delD B =?e =1;?delay(5) ;?e=0 ;void ma?uchara y( 5 );D B< <4;n()TRISD=0X 0 0; /定义端口寄存器PORTD=0X00;PORT B =0 X00;TR ISB=0X 00;?init ();?w rite始丄mond (Ox 80); /

22、第一行得DD RAM得地址,不加0 x 10时,也可以从/最左边开?fo r?w r(i=0; i <1 2; i + + )i te_da t a (dat a i: );/第一行得数据字符 del ay(5);?write_mond( 0 xc0);/ 第二行得 DDRAM 地址不加 0 x10 也可?fo r (i=0 ; i <16 ;i+ )?write_ d ata(dat a i); /第二行得数据字符 del ay(5);? /*? f o r( i = 0;i <1 6;i+ )w r ite_mond(0x1 8 ); /光标不动,数据左移一位 ?dela

23、y(5 ) ;*/?while(1);写近一个字符A程序如下:i ncl ude< pic、h># def ine u ch a r u n s igned c ha r#d efi n e u i n t unsi gn ed i nt#define D B POR TDdefin e rs RB0# define e RB 1_C ONFI G( 0X3B31);voi d in i t( );void w rite _mo n d(u c h a r d a t) ;/ 写指令函数vo id wri t e_data( uch ar da t);/ 写数据函数V oid di

24、s p _ ch ar ( u ch ar x, uc har y, u c har d at); 在屏幕某个位置显示 个字符 ,x(016),y(l -2)vo id del a y( ui ntx) ;voi d d ela y(uint x)uint a , b ;for( a =x;a0;a )for( b= 110; b 0 ;b);id init( )/初始化指令write_m o nd(0x0 l ); / 000 0 0 00001,清除屏幕显示wri te_mo nd (0 x2 8 );/设置4位格式,2行,5X7,功能设定wr i te_m ond(0 x 0C ); / 0 00 0 0 0 l 100,开显示,无光标,不闪烁?wrivoi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论