还剩8页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
0大学城小赛格直页>电子元件>显示类>LCD液晶>LCD1602液晶(蓝屏,中高档)产品基本资料「产品名称LCD1602液晶(蓝屏,中高档),所属类别显示类〉>〉》LCD液晶,商品规格蓝屏,中高档,商品单位每个评分星级有8位网友评论Q的大在线咨询之我要收藏於我要购买功能说明这是一个单价,量大价格另议LCD1602液晶(蓝屏,中高档)LCD1602液晶显示模块基本技术1)、主要功能
4、40通道点阵LCD驱动;B、可选择当作行驱动或列驱动;C、输入/输出信号:输出,能产生20X2个LCD驱动波形;输入接受控制器送出的串行数据和控制信号,偏压(Vls\6);D、通过单片机控制将所测的频率信号读数显示出来2)、技术参数极限参数表//5ms延时voidDelay5MsvoidunsignedintTcmpCyc=5552;whileTempCyc―;//400ms延时voidDelay400MsvoidunsignedcharTempCycA=5;unsignedintTempCycB;whileTempCycA—TempCycB=7269;whileTempCycB―;;以上程序仅供参考!!电参数表:时序特性表:引脚引脚和指令功能模块引脚功能表寄存器选择功能表:注:忙标志为[”时,表明正在进行内部操作,此时不能输入指令或数据,要等内部操作结束,即忙标志为0时
4.3指令功能格式RSR/WDB7DB6DB5DB4DB3DB2DB1DB0共11种指令:清除返回输入方式设置,显示开关控制J移位功能设置CGRAM地址设置DDRAM地址设置读忙标志,写数据到CG/DDRAM读数据由CG/DDRAM显示位与DDRAM地址的对应关系:
6、初始化方法用户所编的显示程序开始必须进行初始化否则模块无法正常显示下面介绍两种初始化方法;利用内部复位电路进行初始化下面指令是在初始化过程中执行的.清屏DISPLAYCLEAR.功能设置FUNCTIONSET;DL=1:8Bit接口数据;N=0:1行显示;F=0:5X7dot字形;.显示开/关控制DISPLAYON/OFFCONTROLD=0:显示关;C=0:光标关;B=0:消隐关.输入方式设置(ENTRYMODESET)I/D=1:(增量)S=0:无移位
6.2)软件复位如果电路电源不能满足复位电路的要求的话,那么初始化就要用软件来实现过程如下:八位接口初始化流程图电源开VDD上升到45V后等待>15I等待>
4.1msI等待>100usI检查忙标志或延叼40us1检查忙标志或延时4Ous1检查忙标志或延时40US1检查忙标志或延时164I检查忙标志或延时40初始化结束1602采用标准的16脚接口,其中:第1脚VSS为地电源第2脚VDD接5V正电源第3脚VO为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度第4脚RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器第5脚R/W为读写信号线,高电平时进行读操作,低电平时进行写操作当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据第6脚E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令第7〜14脚DO〜D7为8位双向数据线第15脚背光电源正极第16脚背光电源负极1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如表1所示,这些字符有阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码比如大写的英文字母“A”的代码是01000001B(41H)显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“Ao以下是在液晶模块的第二行第一个字符的位置显示字母“A”的程序ORG0000HRSEQUP
3.7;确定具体硬件的连接方式RWEQUP
3.6;确定具体硬件的连接方式EEQUP
3.5;确定具体硬件的连接方式MOVPl#0000000IB;清屏并光标复位ACALLENABLE;调用写入命令子程序MOVP1#OO111OOOB;设置显示模式:8位2行5x7点阵ACALLENABLE;调用写入命令子程序MOVPl#0000111IB;显示器开、光标开、光标允许闪烁ACALLENABLE;调用写入命令子程序MOVPl#00000110B;文字不动光标自动右移ACALLENABLE;调用写入命令子程序MOVP1#OCOH;写入显示起始地址(第二行第一个位置)ACALLENABLE;调用写入命令子程序MOVPl#010000018;字母A的代码SETBRS;RS=1CLRRW;RW=O;准备写入数据CLRE;E=0;执行显示命令ACALLDELAY;判断液晶模块是否忙?SETBE;E=1;显示完成,程序停车AJMP$ENABLE:CLRRS;写入控制命令的子程序CLRRWCLREACALLDELAYSETBERETDELAY:MOVP1#OFFH;判断液晶显示器是否忙的子程序CLRRSSETBRWCLRENOPSETBEJBPl.7DELAY;如果PL7为高电平表示忙就循环等待RETEND程序在开始时对液晶模块功能进行了初始化设置,约定了显示格式注意显示字符时光标是自动右移的,无需人工干预,每次输入指令都先调用判断液晶模块是否忙的子程序DELAY然后输入显示位置的地址OCOH最后输入要显示的字符A的代码41HSMC1602A16*2模拟口线接线方式连接线图[注AT89s52使用⑵I晶振]*/^defineLCMRWP20//定义引脚#defineLCM_RSP2_l^defineLCM_EP2_2#defineLCMDataPl#defineBusy0x80〃用于检测LCM状态字中的Busy标识#includeat89x
51.hvoidWriteDataLCMunsignedcharWDLCM;voidWriteCommandLCMunsignedcharWCLCMBuysC;unsignedcharReadDataLCMvoid;unsignedcharReadStatusLCMvoid;voidLCMInitvoid;voidDisplayOncCharunsignedcharXunsignedcharYunsignedcharDData;voidDisplayListCharunsignedcharXunsignedcharYunsignedcharcode*DData;voidDelay5Msvoid;voidDelay400Msvoid;unsignedcharcodeuctech[]={〃uctech〃};unsignedcharcodenet[]={uctech.iepen.coin“};voidmainvoidDelay400Ms;〃启动等待,等LCM讲入工作状态LCMInit0;//LCM初始化Delay5Ms;〃延时片刻可不要DisplayListChar05uctech;DisplayListChar00net;ReadDataLCMO;〃测试用句无意义whilel;}〃写数据voidWriteDataLCMunsignedcharWDLCMReadStatusLCM;//检测忙LCM_Data=WDLCM;LCMRS=1;LCMRW=0;LCM_E=0;〃若晶振速度太高可以在这后加小的延时LCM_E=0;〃延时LCM_E=1;//写指令voidWriteCommandLCMunsignedcharWCLCMBuysC〃BuysC为0时忽略忙检测ifBuysCReadStatusLCM;//根据需要检测忙LCM_Data=WCLCM;LCMRS=0;LCM_RW=0;LCM_E=0LCM_E=0;LCM_E=1;〃读数据unsignedcharReadDataLCMvoidLCM_RS=1;LCM_RW=1;LCM_E=0;LCME=0;LCM_E=1;returnLCMData;}〃读状态unsignedcharReadStatusLCMvoidLCM_Data=OxFF;LCM_RS=0;LCM_RW=1;LCM_E=0;LCM_E=0;LCME=1;whileLCM_DataBusy;〃检测忙信号returnLCMData;}voidLCMlnitvoid//LCM初始化LCMData=0;WriteCommandLCM0x380;〃三次显示模式设置,不检测忙信号Delay5Ms;WritcCommandLCM0x380;Delay5Ms;WriteCommandLCM0x380;Delay5Ms;WriteCommandLCM0x381;〃显示模式设置开始要求每次检测忙信号WriteCommandLCM0x081;〃关闭显示WriteCommandLCM0x011;〃显示清屏WriteCommandLCM0x061;//显示光标移动设置WriteCommandLCM0x0C1;//显示开及光标设置}〃按指定位置显示一个字符voidDisplayOneCharunsignedcharXunsignedcharYunsignedcharDDataY二0x1;X二OxF;〃限制X不能大于15Y不能大于1ifYX|=0x40;〃当要显示第二行时地址码+0x40;X|=0x80;//算出指令码WriteCommandLCMX0;〃这里不检测忙信号,发送地址码WriteDataLCMDData;〃按指定位置显示一串字符voidDisplayListCharunsignedcharXunsignedcharYunsignedcharcode*DDataunsignedcharListLength;ListLength=0;Y二0x1;X二OxF;〃限制X不能大于15Y不能大于1whileDData[ListLength]0x20〃若到达字串尾则退出ifX=OxF//X坐标应小于OxFDisplayOneCharXYDData[ListLength];〃显示单个字符ListLength++;X++;名称符号标准值单位MINTYPEMAX电路电源VDD-VSS-
0.
37.0VLCD驱动电压VDD-VEEVDD-
13.5VDD+
0.3V输入电压VIN-
0.3VDD+
0.3V静电电压——100V工作温度-20+70C储存温度-30+80C1名称符号测试条件标准值单位MINTYPEMAX输入高电平VIH—
2.2VDDV输入低电平VIL—-
0.
30.6V输出高电平V0HI0H=
0.2mA
2.4一V输出低电平VOLI0L=
1.2mA—
0.4V工作电流IDDVDD=
5.0V
2.0mA液晶驱动电压VDD-VEETa=0℃
4.9VTa=25*C•
1.7Ta=50℃
1.5项目符号测试条件标准值单位MINTYPEMAX允许时间周期TCYCE
5.la
5.lb1000ns允许脉冲宽度高电平PWEH150——ns允许上升和下降时间tErtEf————25ns地址建立时间lAS140————ns数据延迟时间tDDR——320ns数据建立时间i.DSU195——ns数据保持时间HI10————nsDATAHOLDTIMEtDBR20————ns地址保持时间tAH10————ns]符号名称功能1Vss接地0V2VDD电路电源5V±10%3VEE液晶驱动电压保证VDD-VEE=
4.5s5V电压差4RS寄存器选择信号H:数据寄存器L:指令寄存器5R/W读/写信号H:读L:写6E片选信号下降沿触发,锁存数据7-14D15O-DB7数据线数据传输RSR/W操作00指令寄存器IR写入01忙标志和地址计数器读出10数据寄存器DR写入11数据寄存器读出显示位序号1234540DDRAM第一行000102030427地址HEX第二行404142434467RSDB7DB6DB5DB4DB3DB2DB1DBO000011XXXXRSIVWDB7DB6DB5DB4DB3DB2DB1DBO000011XXXXRSR/WDB7DB6DB5DB4DB3DB2DB1DBO000011XXXXRSR/WDB7DB6DB5DB4DB3DB2DB1DBO000011NFXXRSRfWDB7DB6DB5DB4DB3DB2DB1DBO00000010XXRSRfWDB7DB6DB5DB4DB3DB2DB1DBO000000000IRSR/WDB7DB6DB5DB4DB3DB2DB1DBO0000000Il/DS|LCM--51LCM-——511LCM51|DB0—-Pl.0DB4--Pl.4RW-P
2.0DB1——Pl.1IDB5——-Pl.5RS-P
2.1Inpo.-DIOnpc._n1ADOO|UdZr
1.ZDdOr
1.0匕rZ.ZDB3——Pl.3DB7——-Pl.7VLCD接IK电阻到GND|。