您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 详细设计方案_LCD12864液晶显示
1、LCD12864详细设计方案1.LCD12864简介:FYD12864-0402B是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字。也可完成图形显示。低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。2.LCD12864规格:基本特性:�低电源电压(VDD:+3.0--+5.5V)�显示分辨率:128×64点�内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)�内置128个16×8点阵字符�2MHZ时钟频率�显示方式:STN、半透、正显�驱动方式:1/32DUTY,1/5BIAS�视角方向:6点�背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10�通讯方式:串行。
2、、并口可选�内置DC-DC转换电路,无需外加负压�无需片选信号,简化软件设计�工作温度:0℃-+55℃,存储温度:-20℃-+60℃3.框图说明12864主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。4.管脚说明注意:1、3脚和18脚之间可以通过电阻阻值大小调节液晶的对比度,本开发板默认使用4.7K阻值大小,如果4.7K和您的液晶显示不匹配,用户可以自己选择合适的阻值焊接上去即可。2、RW为读写指示。3、15脚需要接1,因为本开发板使用并行数据方式。5.寄存器介绍在使用12864LCD前先必须了解以下功能器件才能进行编程。12864内部功能器件及相关功能如下:1.指令寄存器(IR)IR是用于寄存指令码,与数据寄存器数据相对应。当D/I=0时,在E信号下降沿的作用下,指令码写入IR。2.数据寄存器(DR)DR是用于寄存数据的,与指令寄存器寄存指令相对应。当D/I=1时,在下降沿作用下,图形显示数据写入DR,或在E信号高电平作用下由DR读到DB7∽DB0数据总线。DR和DDRAM之间的数据传输是模块内部自动执行的。3.忙标志:BFBF标志提供内部工作情况。BF=1表示模块在内。
3、部操作,此时模块不接受外部指令和数据。BF=0时,模块为准备状态,随时可接受外部指令和数据。利用STATUSREAD指令,可以将BF读到DB7总线,从检验模块之工作状态。4.显示控制触发器DFF此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示(DISPLAYOFF),DDRAM的内容就显示在屏幕上,DFF=0为关显示(DISPLAYOFF)。DDF的状态是指令DISPLAYON/OFF和RST信号控制的。5.XY地址计数器XY地址计数器是一个9位计数器。高3位是X地址计数器,低6位为Y地址计数器,XY地址计数器实际上是作为DDRAM的地址指针,X地址计数器为DDRAM的页指针,Y地址计数器为DDRAM的Y地址指针。X地址计数器是没有记数功能的,只能用指令设置。Y地址计数器具有循环记数功能,各显示数据写入后,Y地址自动加1,Y地址指针从0到63。6.显示数据RAM(DDRAM)DDRAM是存储图形显示数据的。数据为1表示显示选择,数据为0表示显示非选择。DDRAM与地址和显示位置的关系见DDRAM地址表。7.Z地址计数器Z地址计数器是一个6位计数器,此计数器具备循环记数功能,它。
4、是用于显示行扫描同步。当一行扫描完成,此地址计数器自动加1,指向下一行扫描数据,RST复位后Z地址计数器为0。Z地址计数器可以用指令DISPLAYSTARTLINE预置。因此,显示屏幕的起始行就由此指令控制,即DDRAM的数据从哪一行开始显示在屏幕的第一行。此模块的DDRAM共64行,屏幕可以循环滚动显示64行。12864LCD的指令系统及时序该类液晶显示模块(即KS0108B及其兼容控制驱动器)的指令系统比较简单,总共只有七种。其指令表如表2所示:指令名称控制信号控制代码R/WRSDB7DB6DB5DB4DB3DB2DB1DB0显示开关0000111111/0显示起始行设置0011XXXXXX页设置0010111XXX列地址设置0001XXXXXX读状态10BUSY0ON/OFFRST0000写数据01写数据读数据11读数据表2:12864LCD指令表各功能指令分别介绍如下。显示开/关指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB00000111111/0当DB0=1时,LCD显示RAM中的内容;DB0=0时,关闭显示。2、显示起始行(ROW)设置指令R/WRSDB7。
5、DB6DB5DB4DB3DB2DB1DB00011显示起始行(0~63)该指令设置了对应液晶屏最上一行的显示RAM的行号,有规律地改变显示起始行,可以使LCD实现显示滚屏的效果。3、页(PAGE)设置指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB00010111页号(0~7)显示RAM共64行,分8页,每页8行。4、列地址(YAddress)设置指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB00001显示列地址(0~63)设置了页地址和列地址,就唯一确定了显示RAM中的一个单元,这样MPU就可以用读、写指令读出该单元中的内容或向该单元写进一个字节数据。5、读状态指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB010BUSY0ON/OFFREST0000该指令用来查询液晶显示模块内部控制器的状态,各参量含义如下:BUSY:1-内部在工作0-正常状态ON/OFF:1-显示关闭0-显示打开RESET:1-复位状态0-正常状态在BUSY和RESET状态时,除读状态指令外,其它指令均不对液晶显示模块产生作用。在对液晶显示模块操作之前要查询BUSY状态,以确。
6、定是否可以对液晶显示模块进行操作。6、写数据指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB001写数据读数据指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB011读显示数据读、写数据指令每执行完一次读、写操作,列地址就自动增一。必须注意的是,进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。6.VerilogHDL源代码VerilogHDL代码为:/****************************************Copyright(c)****************************************************DongdongStudio****---------------------------------------FileInfo-----------------------------------------------------**Filename:LCD12864**LastmodifiedDate:2012-6-18**LastVersion:1.0**Descripti。
7、ons:LCD12864**------------------------------------------------------------------------------------------------------**Createdby:dongdong**Createddate:2012-6-18**Version:1.0**Descriptions:Theoriginalversion****------------------------------------------------------------------------------------------------------**Modifiedby:**Modifieddate:**Version:**Descriptions:****------------------------------------------------------------------------------------------------------******************************。
8、**************************************************************************/moduleLCD12864(inputsys_rst_n,//系统复位输入outputregLCD_DI,//LCD的寄存器选择输出信号outputLCD_RW,//LCD的读、写操作选择输出信号outputLCD_EN,//LCD使能信号outputreg[7:0]LCD_DATA,//LCD的数据总线(不进行读操作,故为输出)outputLCD_CS1,//PSB,1is8bitdatamodeoutputregLCD_RST);//PrameterdefineparameterIDLE=9'b00000000;//初始状态,下一个状态为CLEARparameterSETFUNCTION=9'b00000001;//功能设置:8位数据接口parameterSETFUNCTION2=9'b00000010;parameterSWITCHMODE=9'b00000100;//显示开关控制:开显示,光标和闪烁关闭parameterCLEA。
9、R=9'b00001000;//清屏parameterSETMODE=9'b00010000;//输入方式设置:数据读写操作后,地址自动加一/画面不动parameterSETDDRAM=9'b00100000;//设置DDRAM的地址:第一行起始为0x80/第二行为0x90parameterWRITERAM=9'b01000000;//数据写入DDRAM相应的地址parameterSTOP=9'b10000000;//LCD操作完毕,释放其控制//REGsreg[21:0]wait_cnt;regsys_clk_lcd;//LCD时钟信号reg[23:0]cnt;reg[8:0]state;//StateMachinecoderegflag;//标志位,LCD操作完毕为0reg[4:0]char_cnt;reg[7:0]data_disp;//===================================//**********MAINCODE**************//===================================assignLCD_CS1=1;/。
10、/PSB,1is8bitdatamode//waitfor40mswhenpoweronalways@(posedgesys_clkornegedgesys_rst_n)beginif(!sys_rst_n)wait_cnt=24'b0;elseif(wait_cnt=24'hff_ffff)wait_cnt=wait_cnt+24'b1;else;end//LCDRSTVLDwhen40mshaspassedafterpoweronalways@(posedgesys_clkornegedgesys_rst_n)beginif(!sys_rst_n)LCD_RST=1'b0;elseif(wait_cnt==24'hff_ffff)LCD_RST=1'b1;elseLCD_RST=1'b0;end//sys_clk频率为50MHz,产生LCD时钟信号,10Hzalways@(posedgesys_clkornegedgesys_rst_n)beginif(!sys_rst_n)cnt=24'b0;elseif(cnt==2499999)cnt=24'b0;elsecnt。
本文标题:详细设计方案_LCD12864液晶显示
链接地址:https://www.777doc.com/doc-2070190 .html