了解LCD液晶显示屏教学提纲.doc

上传人:1595****071 文档编号:49654700 上传时间:2022-10-09 格式:DOC 页数:19 大小:149.50KB
返回 下载 相关 举报
了解LCD液晶显示屏教学提纲.doc_第1页
第1页 / 共19页
了解LCD液晶显示屏教学提纲.doc_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《了解LCD液晶显示屏教学提纲.doc》由会员分享,可在线阅读,更多相关《了解LCD液晶显示屏教学提纲.doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Good is good, but better carries it.精益求精,善益求善。了解LCD液晶显示屏-了解LCD液晶显示屏.txt人生重要的不是所站的位置,而是所朝的方向。不要用自己的需求去衡量别人的给予,否则永远是抱怨。本文由shixiaoming08贡献pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。第一节:了解LCD液晶显示屏来源:(朗腾电子网站)作者:程敬锋一:字符型点阵式LCD液晶显示屏:LCD的应用很广泛,简单如手表上的液晶显示屏,仪表仪器上的液晶显示器或者是电脑笔记本上的液晶显示器,都使用了LCD。在一般的办公设备上也很常见,如传真

2、机,复印机,以及一些娱乐器材玩具等也常常见到LCD的足迹。本站要介绍的LCD为字符型点阵式LCD模块(liquidCrystalDisplayModule)简称LCM,或者是字符型LCD。字符型液晶显示模块是一类专门用于显示字母,数字,符号等的点阵式液晶显示模块。在显示器件上的电极图型设计,它是由若干个5*7或5*11等点阵符位组成。每一个点阵字符位都可以显示一个字符。点阵字符位之间有一空点距的间隔起到了字符间距和行距的作用。目前市面上常用的有16字*1行,16字*2行,20字*2行和40字*2行等的字符模块组。这些LCM虽然显示字数各不相同,但是都具有相同的输入输出界面。本章将以WINTEC

3、H16*2字符型液晶显示模块WM-C1602N为例,详细介绍字符兴高采烈晶显示模块的应用技术。一般字符LCD模块的控制器为日本日立新华通讯社司的HD44780及其替代集成电路,驱动器为HD44100及其替代的集成电路以下将会略做介绍。一般初学者由字符型LCD入手比较简单,学完之后,再进一步控制图案型LCD模块。图1.1所示为16*2地的外观,表1.2为LCM的接脚及功能。图1.1a:液晶显示模块WM-C1602N背后图1.1b:液晶显示模块WM-C1602N丰姿图1.1c:液晶显示模块WM-C1602N规格表1.2:液晶显示模块WM-C1602N的接脚及功能应用液晶显示模块WM-C1602N那

4、得先对她的内部结构有所了解,下一节我将会带大家进一步的了解液晶显示模块WM-C1602N。第二节:LCD液晶显示屏的内部结构来源:(朗腾电子网站)作者:程敬锋液晶显示模块WM-C1602N的内部结构可以分成三部份:一为LCD控制器,二为LCD驱动器,三为LCD显示装置,如图示2.1所示:图2.1:LCM内部方块图目前大多数的LCD液晶显示器的控制器都有采用一颗型号为HD44780的集成电路作控制器。HD44780是集控制器,驱动器于一体,专用于字符显示控制驱动集成电路。HD44780是字符型液晶显示控制器的代表电路。HD44780集成电路的特点:1:HD44780不仅作为控制器而且还具有驱动4

5、0*16点阵液晶像素的能力,并且HD44780的驱动能力可通过外接驱动器扩展360列驱动。2:HD44780的显示缓冲区及用户自定义的字符发生器CGRAM全部内藏在芯片内。3:HD44780具有适用于M6800系列MPU的接口,并且接口数据传输可为8位数据和4位数据传输两种方式。4:HD44780具有简单而功能较强的指令集,可实现字符移动,闪烁等显示功能。由于HD44780的DDRAM容量所限,HD44780可控制的字符高达每行80个字,也就是5*80=400点,HD44780内藏有16路行驱动器和40路列驱动器,所以HD44780本身就具驱动有16*40点阵LCD能力(即单行16个字符或两行

6、8个字符)。如果在外部加一HD44100外扩展多40路/列驱动,则可驱动16*2LCD。HD44780内藏的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如表2.3所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。比如数字“1”的代码是00110001B(31H)又如大写的英文字母“A”的代码是01000001B,(41H)。表2.3:液晶显示模块WM-C1602N的CGRAM字符图形代码对应表液晶显示模块WM-C1602N在显示“1”时,则我们只需将ASCII码31H存入DDRAM即可。显示时模块把地址31H中的点阵字

7、符图形显示出来,我们就能看到数字“1”了。DDRAM有80bytes空间,共可显示80个字,地址与实际显示位置的排列顺序跟LCD的型号有关,液晶显示模块WM-C1602N的显示地址如图2.2所示。图2.2:地址映射图基本了解液晶显示模块WM-C1602N的内部结构后!让我们再去熟悉指令的用法。跟我来继续学习。第三节:字符LCD液晶屏控制器的指令来源:(朗腾电子网站)作者:程敬锋字符LCD的指令共有11条,如表3.1所示已有详细功能和用法:表3.1:LCD的指令表注:表中的*表示可以为0或1。大家熟悉指令后,下一节大家来跟我做个实验用液晶显示字母“A”。第四节:让LCD液晶显示屏显示字母“A”实

8、例来源:(朗腾电子网站)作者:程敬锋做这实验之前我们得先准备好以下器材:1:WM-C1602N液晶显示模块一个,2:AT89C51芯片一片,3:编程器一台,编程器软件,4:当然少不了电脑一台。现在你可以按图4.1的驱动LCD电路做个电路板:图4.1:用89C51驱动LCD的电路其中VSS为地电源,VDD接5V正电源,图4.1中的VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。RW为读写信号线,高电平时进行读操作,低电平时进行写操作。

9、当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。DB0DB7为8位双向数据线,BLK和BLA是背光灯电源。大家可用万用板按图4.1中的原理去做,做好如图4.2图4.2上一课我们已经知道了字母“A”的代码是01000001B了,怎么!还不明白?你自己去查一下。其实现在有很多软件可以查出内码的可以在本站找到,不过我还是要让大家去理解为好。以下是显示字母“A”的程序:;*;让LCD显示字母“A”的程序;朗腾电子;*RSBITP3.0RWBITP3.1E

10、BITP3.5DB0_DB7DATAP1;*ORG00HAJMPSTARTORG000BHAJMPINSE;*ORG50HSTART:MOVTMOD,#0MOVTL0,#0MOVTH0,#0SETBEASETBET0SETBTR0MOVR5,#50MOVSP,#60HACALLINITMOVA,#10000000B;写入显示地址为第一行第一位。ACALLWriteMOVA,#01000001B;字母“A”的代码。ACALLWriteDDRLOOP:AJMPLOOP;*INSE:MOVTL0,#0;中断服务子程序。MOVTH0,#0DJNZR5,NOMOVR5,#50NO:RETI;*INIT:

11、MOVA,#00111000B;使用8Bits汇流排,显示两行,使用5*7的字型。LCALLWriteMOVA,#00001110B;显示器开,光标开,光标闪烁。LCALLWriteMOVA,#00000110B;字符不动,光标自动右移一格。LCALLWriteRET;*CheckBusy:;检查忙碌子程序。PUSHACCCB_Loop:CLRRSSETBRWCLRESETBEMOVA,DB0_DB7CLREJBACC.7,CB_LoopPOPACCACALLDELAYRET;*Write:;写入IR寄存器子程序。ACALLCheckBusyCLRECLRRSCLRRWSETBEMOVDB0_

12、DB7,ACCCLRERET;*WriteDDR:;写入DR寄存器子程序。ACALLCheckBusyCLRESETBRSCLRRWSETBEMOVDB0_DB7,ACCCLRERET;*DELAY:;延时子程序。MOVR6,#5D1:MOVR7,#248DJNZR7,$DJNZR6,D1RETEND以上程序书写时用二进制目的是为了方便大家去理解。将上面的程序编译好后用编程器将程序写入AT89C51芯片,然后将写好的AT89C51芯片插入刚才做好的实验板上,通电运行,OK!哈哈字母“A”出来了!做完实验后是不是觉得很有趣呢?好了!让我们熟悉指令的用法。第五节:字母“B”显示在二行的实例来源:(

13、朗腾电子网站)作者:程敬锋上一课我们已经实验了液晶显示屏显示字母“A”了,如图5.1所示,字母“B”显示在第二行第六位。你现在可以写出它的程序吗?还是我带大家来做个实验吧!现在先来介绍用软件查出字符“B”内码的方法,先你下载内码查询软件,点击:下载。解压后,点击图标启动软件,如图5.2所示,输入字符“B”图5.2点击“内码显示”按钮,42就是字符“B”的内码了,简单吧?以下是显示字母“B”的程序:;*;让LCD显示字母“B”的程序;朗腾电子;*RSBITP3.0RWBITP3.1EBITP3.5DB0_DB7DATAP1;*ORG00HAJMPSTARTORG000BHAJMPINSE;*OR

14、G50HSTART:MOVTMOD,#0MOVTL0,#0MOVTH0,#0SETBEASETBET0SETBTR0MOVR5,#50MOVSP,#60HACALLINITMOVA,#C6H;写入显示地址为第二行第六位。ACALLWriteMOVA,#42H;字母“B”的代码。ACALLWriteDDRLOOP:AJMPLOOP;*INSE:MOVTL0,#0;中断服务子程序。MOVTH0,#0DJNZR5,NOMOVR5,#50NO:RETI;*INIT:MOVA,#38H;使用8Bits汇流排,显示两行,使用5*7的字型。LCALLWriteMOVA,#0EH;显示器开,光标开,光标闪烁。

15、LCALLWriteMOVA,#06H;字符不动,光标自动右移一格。LCALLWriteRET;*CheckBusy:;检查忙碌子程序。PUSHACCCB_Loop:CLRRSSETBRWCLRESETBEMOVA,DB0_DB7CLREJBACC.7,CB_LoopPOPACCACALLDELAYRET;*Write:;写入IR寄存器子程序。ACALLCheckBusyCLRECLRRSCLRRWSETBEMOVDB0_DB7,ACCCLRERET;*WriteDDR:;写入DR寄存器子程序。ACALLCheckBusyCLRESETBRSCLRRWSETBEMOVDB0_DB7,ACCCL

16、RERET;*DELAY:;延时子程序。MOVR6,#5D1:MOVR7,#248DJNZR7,$DJNZR6,D1RETEND上面的程序运行结果如下图。下一节我给大家介绍建立液晶显示屏显相关子程序。第六节:建立LCD相关的子程序来源:(朗腾电子网站)作者:程敬锋掘指数数都有半年多没有更新网站了,这些日子里收到很多网友的电子邮件崔促完成文章,部份网友提及WM-C1602N液晶显示模块液晶显示模块购买难的问题。在此真诚感激这些支技我们的朋友,为了不失众望,今晚就为期待已久的朋友抽空写少少吧!至于WM-C1602N液晶显示模块购买并不困难,各电子商场均的售,并不一定是要WM-C1602N液晶显示屏

17、,其实是1602或162就“OK”,只不过是生产商不同而已。好了,闲话休提。上几课我们已经实验了液晶显示屏显示字母了,其实大家亦不难理解上几个例子的源程序,只不过是由几个子程序构成。以下介绍常用到的六个子程序:1:查看忙碌子程序。2:写指令到IR寄存器的子程序。3:写指令到DR寄存器的子程序。4:清除LCD显示器的子程序。5:启动LCD子程序。6:延时子程序。现在就给出开发液晶屏建立相关LCD规范的子程序。1:查看忙碌子程序:;*CheckBusy:;检查忙碌子程序。PUSHACC;将A的内容放到堆栈区内,在此这句可能没有意义,但在实际应用中ACC是频繁使用;所以在进入子程序之前先把ACC的内

18、容放入堆栈中,的,以免破坏原来在ACC的内容。CB_Loop:CLRRS;选择指令暂存器。SETBRW;选择读模式。CLRE;禁能LCD。SETBE;使能LCD。MOVA,DB0_DB7;LCD的DB0-DB7的资料经由P1口存入ACC中,将以便查对第7位元BF是否为0。CLRE;禁能LCD。JBACC.7,CB_Loop;判断由LCD读入资料的第7元位及BF是否为1,若为1表示LCD忙碌中。POPACC;将累加器ACC的内容从堆栈区取出。ACALLDELAY;调用延时程序。RET;返回。2:写指令到IR寄存器的子程序:;*Write:;写入IR寄存器子程序。ACALLCheckBusy;检查

19、忙碌。CLRE;禁能LCD。CLRRS;选择指令暂存器。CLRRW;选择写模式。SETBE;使能LCD。MOVDB0_DB7,ACC;将存在ACC内的指令码经由P1口输出到期LCD。CLRE;禁能LCD。RET;返回。3:写指令到DR寄存器的子程序:;*WriteDDR:;写入DR寄存器子程序。ACALLCheckBusy;检查忙碌。CLRE;禁能LCD。SETBRS;选择资料寄存器。CLRRW;选择写模式。SETBE;使能LCD。MOVDB0_DB7,ACC;将存在ACC内的指令码经由P1口输出到期LCD。CLRE;禁能LCD。RET;返回。4:清除LCD显示器的子程序:;*CLS:;清除L

20、CD显示器程序。MOVA,#01H;将01H放入ACC。ACALLWrite;写指令到IR寄存器RET;返回。5:启动LCD子程序:;*INIT:MOVA,#38H;使用8Bits汇流排,显示两行,使用5*7的字型。LCALLWrite;写指令到IR寄存器MOVA,#0EH;显示器开,光标开,光标闪烁。LCALLWrite;写指令到IR寄存器MOVA,#06H;字符不动,光标自动右移一格。LCALLWrite;写指令到IR寄存器RET;返回。6:延时间为R6*500us子程序:;*DELAY:;延时子程序。MOVR6,#5D1:MOVR7,#248DJNZR7,$DJNZR6,D1RET以上常

21、用LCD应用的相关子程序,下一节介绍如何用LCD液晶显示屏显示字符串。第七节:用LCD显示屏显示字符串来源:(朗腾电子网站)作者:程敬锋以下程序是要LCD液晶显示屏显示“Natiem实验来加深对LCD显示屏的应用和理解。Electron”及“natiem”,大家不妨动手(图7.1)程序流程图;*;让LCD显示字符串的程序;*RSBITP3.0RWBITP3.1EBITP3.5DB0_DB7DATAP1;*ORG00HAJMPSTARTORG000BHAJMPINSE;嵌入;*ORG50HSTART:MOVTMOD,#0MOVTL0,#0MOVTH0,#0SETBEASETBET0SETBTR0

22、MOVR5,#50MOVSP,#60HACALLINITACALLCLSMOVA,#80HACALLWriteMOVDPTR,#L1ACALLPR_STRINGMOVA,#C0HACALLWriteMOVDPTR,#L2ACALLPR_STRINGLOOP:AJMPLOOPL1:DB20h,4eh,61h,74h,69h,65h,6dh,20h,45h,6ch,65h,63h,74H,72h,6fh,6eh,00h,L2:DB7eH,6Eh,61H,74H,69H,65H,6DH,40H,32H,31H,63H,6eH,2eH,63H,6fH,6dH,00H;*INSE:MOVTL0,#0MO

23、VTH0,#0DJNZR5,NOMOVR5,#50NO:RETI;*INIT:MOVA,#38HLCALLWriteMOVA,#0EHLCALLWriteMOVA,#06HLCALLWriteRET;*CheckBusy:PUSHACCCB_Loop:CLRRSSETBRWCLRESETBEMOVA,DB0_DB7CLREJBACC.7,CB_LoopPOPACCACALLDELAYRET;*Write:ACALLCheckBusyCLRECLRRSCLRRWSETBEMOVDB0_DB7,ACCCLRERET;*WriteDDR:ACALLCheckBusyCLRESETBRSCLRRWSE

24、TBEMOVDB0_DB7,ACCCLRERET;*CLS:MOVA,#01HACALLWriteRET;*PR_STRING:PUSHACCPR_LOOP:CLRAMOVCA,A+DPTRJZEND_PRACALLWriteINCDPTRAJMPPR_LOOPEND_PR:POPACCRET;*DELAY:MOVR6,#5D1:MOVR7,#248DJNZR7,$DJNZR6,D1RETEND将以上程序编译后写入单片机效果如下:第八节:用LCD显示屏显示图形来源:(朗腾电子网站)作者:程敬锋上一节介绍了LCD液晶显示屏显示字符串,那么字符型LCD液晶显示屏能够显示图形吗?答案是肯定的。现就让

25、字符型LCD液晶显示屏显示图形的方法作一介绍。记得开始时同大家说过,字符产生器RAM(CGRAM)可由使用者设计8个5*7点阵字型或图形。一个5*7的字型或图形须用到8bytes的存储空间,每bytes的bit5,bit6,bit7都是无效位元,LCD内部的CGRAM的地址的6位元的长度,即A0-A5,而每一个字型或图形须占用8bytes,所以此区域只能存8个字型或图形。如果你已经在CGRAM造好字型或图形,要让LCD显示你的图形时,只需要在DDRAM写入00H-07H的地址,即可显示DDRAM所对应的资料了。下面举个例子好让大家去理解,就让LCD液晶显示屏显示一座宝殿的图形吧!在程序设之前你

26、必须将设计好的图形用二进制代码找出来,图8.1是图形与地址的对应图:(图8.1)前面已提到,一个字型或图形为8bytes的资料,而且每一个资料的7,6,5元位是无效位,因为它是5*7的点阵,要将图形转为二进制码,你必需将图形分解成8个图形,分别将每个图形用二进制代码表示,如图8.2-8.9:(图8.2)DDRAM的地址07H的图形代码为:00H,00H,00H,00H,01H,03H,03H。(图8.3)DDRAM的地址08H的图形代码为:04H,04H,0EH,1FH,1FH,1FH,0AH。(图8.4)DDRAM的地址09H的图形代码为:00H,00H,00H,00H,10H,18H,18

27、H。(图8.5)DDRAM的地址46H的图形代码为:00H,00H,17H,10H,17H,17H。(图8.6)DDRAM的地址47H的图形代码为:07H,0AH,15H,03H,1CH,1FH,1FH。(图8.7)DDRAM的地址48H的图形代码为:1FH,1FH,0EH,1FH,0EH,1FH,1FH。(图8.8)DDRAM的地址49H的图形代码为:1CH,0AH,15H,1FH,07H,1FH,1FH。(图8.9)DDRAM的地址4AH的图形代码为:00H,00H,00H,1DH,01H,1DH,1DH。(图8.10)程序流程图以下是显示宝殿图形的程序:;*;让LCD显示图形程序;*RS

28、BITP3.0RWBITP3.1EBITP3.5DB0_DB7DATAP1;*ORG00HAJMPSTARTORG000BHAJMPINSE;嵌入;*ORG50HSTART1:MOVTMOD,#0MOVTL0,#0MOVTH0,#0SETBEASETBET0SETBTR0MOVR5,#50CLRP3.2SETBP3.1START:MOVSP,#60HACALLINITACALLCLSACALLSAVE_FONTMOVA,#10000111BACALLWriteMOVR1,#0OUT_DDRAM1:MOVACC,R1ACALLWriteLCDINCR1CJNER1,#3,OUT_DDRAM1MO

29、VACC,#11000110BACALLWriteMOVR1,#3OUT_DDRAM2:MOVACC,R1ACALLWriteLCDINCR1CJNER1,#8,OUT_DDRAM2LOOP:JMPLOOP;*INIT:MOVA,#38HLCALLWriteMOVA,#0EHLCALLWriteMOVA,#06HLCALLWriteRET;*CheckBusy:PUSHACCCB_Loop:CLRRSSETBRWCLRESETBEMOVA,DB0_DB7CLREJBACC.7,CB_LoopPOPACCACALLDELAYRET;*Write:ACALLCheckBusyCLRECLRRSCL

30、RRWSETBEMOVDB0_DB7,ACCCLRERET;*WriteLCD:ACALLCheckBusyCLRESETBRSCLRRWSETBEMOVDB0_DB7,ACCCLRERET;*CLS:MOVA,#01HACALLWriteRET;*SAVE_FONT:MOVACC,#01000000BACALLWriteMOVR4,#64MOVDPTR,#USER_PATTERNPUT_LOOP:CLRACCMOVCA,A+DPTRACALLWriteLCDINCDPTRDJNZR4,PUT_LOOPMOVA,#10000000BACALLWriteRET;*USER_PATTERN:DB0

31、0H,00H,00H,00H,01H,03H,03H,00HDB04H,04H,0EH,1FH,1FH,1FH,0AH,00HDB00H,00H,00H,00H,10H,18H,18H,00HDB00H,00H,00H,17H,10H,17H,17H,00HDB07H,0AH,15H,03H,1CH,1FH,1FH,00HDB1FH,1FH,0EH,1FH,0EH,1FH,1FH,00HDB1CH,0AH,15H,1FH,07H,1FH,1FH,00HDB00H,00H,00H,1DH,01H,1DH,1DH,00H;*INSE:MOVTL0,#0MOVTH0,#0DJNZR5,NOMOVR5,#50CPLP3.2CPLP3.1NO:RETI;*DELAY:MOVR6,#5D1:MOVR7,#248DJNZR7,$DJNZR6,D1RETEND好了!经过几节的学习与实践,大家对LCD液晶显示屏亦有了解,文章到此亦要暂告一段落。由于笔者也只是菜鸟一只,文章难免错漏,不妥之处请诸位大虾不吝赐教。在此感谢大家对我的支持。在日后的文章将会介绍一些应用实例,欢迎网友投稿,互相交流,学习,共同发展!转载请注明出处。参考文献:1:李维缇郭强,液晶显示器件应用技术1999年。2:何立民,单片机应用技术选编1998年。(图7.2)1-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁