您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > JDH529(12864液晶屏)指令集说明(绝对全绝对易懂)
1JDH529(12864)指令集说明李进整理VER.2009-07-28基本指令集说明☆清除显示RSRWDB7DB6DB5DB4DB3DB2DB1DB0代码0000000001功能:将DDRAM填满20H(spacecode),并且设定DDRAM的地址计数器(AC)到00H,重设进入点设定将I/D设为1,游标右移AC加1指令:RS=1;RW=1;DB=01H//清除显示☆地址归位RSRWDB7DB6DB5DB4DB3DB2DB1DB0代码000000001X功能:设定DDRAM的地址计数器(AC)到00H,并且将光标移到开头原点位置;这个指令并不改变DDRAM的内容指令:RS=0;RW=0;DB=3H//地址归位☆进入点设定RSRWDB7DB6DB5DB4DB3DB2DB1DB0代码00000001I/DS功能:指定在数据的读取与写入时,设定光标的移动方向及指定显示的移位I/D:地址计数器递增递减选择当I/D=1,光标右移,DDRAM地址计数器(AC)加1当I/D=0,光标左移,DDRAM地址计数器(AC)减1S:显示画面整体位移SI/D功能11画面整体左移10画面整体右移指令:RS=0;RW=0;DB=06H;//光标右移,画面不移动,AC加1RS=0;RW=0;DB=05H;//画面整体右移。2RS=0;RW=0;DB=07H//画面整体左移。☆显示状态开关RSRWDB7DB6DB5DB4DB3DB2DB1DB0代码0000001DCB功能:控制整体显示,光标,光标位置反白ON/OFFD:整体显示ON/OFF控制位当D=1,整体显示ON当D=0,整体显示OFF,但不改变DDRAM的内容C:光标ON/OFF控制位当C=1,光标显示ON.当C=0,光标显示OFF.B:光标位置反白ON/OFF控制位当B=1,光标位置显示反白ON,将光标所在之地址㆖的数据反白显示.当B=0,.光标位置显示反白OFF指令:RS=0;RW=0;DB=0CH//开显示,无光标,光标不闪烁RS=0;RW=0;DB=0EH//开显示,有光标,光标不闪烁RS=0;RW=0;DB=0FH//开显示,有光标,光标闪烁☆光标或显示移位控制RSRWDB7DB6DB5DB4DB3DB2DB1DB0代码000001S/CR/LXX功能:设定光标的移动与显示的移位控制位;这个指令并不改变DDRAM的内容S/CR/L功能AC值00光标向左移动AC=AC-101光标向右移动AC=AC+110显示(display)向左移动,且光标跟着移动AC=AC11显示(display)向右移动,且光标跟着移动AC=AC指令:RS=0;RW=0;DB=10;//光标向左移动RS=0;RW=0;DB=14;//光标向右移动☆功能设定RSRWDB7DB6DB5DB4DB3DB2DB1DB0代码00001DLXREXXDL:4/8BIT界面控制位3当DL=1,为8BITMPU控制界面当DL=0,为4BITMPU控制界面RE:指令集选择控制位当RE=1,为扩充指令集动作当RE=0,为基本指令集动作同一指令之动作不可同时改变RE及DL需先改变DL后在改变RE才可确保FLAG正确设定指令:注意:需分别设置DL和RERS=0;RW=0;DB=30H//设定8位控制界面RS=0;RW=0;DB=00H//设定基本指令集RS=0;RW=0;DB=34H//设定扩展指令集☆设定CGRAM地址RSRWDB7DB6DB5DB4DB3DB2DB1DB0代码0001AC5AC4AC3AC2AC1AC0功能:设定CGRAM地址到地址计数器(AC)AC范围为00H~3FH需确认扩充指令中SR=0(卷动地址或RAM地址选择)☆设定DDRAM地址RSRWDB7DB6DB5DB4DB3DB2DB1DB0代码001AC6AC5AC4AC3AC2AC1AC0功能:设定DDRAM地址到地址计数器(AC).第一行AC范围为80H~87H第二行AC范围为90H~97H第三行AC范围为88H~8FH第四行AC范围为98H~9FH指令:汉字的起始地址必须是X0H和偶数字符显示时,每一行最多显示16个ASCII字符或8个汉字。(0~FH),设置列数(0~7)RS=0;RW=0;DB=80H//设定第一行,第0列RS=0;RW=0;DB=81H//设定第一行,第2列RS=0;RW=0;DB=82H//设定第一行,第4列…………RS=0;RW=0;DB=87H//设定第一行,第15列RS=0;RW=0;DB=90H//设定第二行,第0列RS=0;RW=0;DB=88H//设定第三行,第0列RS=0;RW=0;DB=98H//设定第四行,第0列在指定第一个字符或汉字的位置后,如果不再设置位置,则显示是连续的;如果按照1,2,3……来设4置一次位置送一次显示,则在显示的ASCII字符间会留一个空格,但汉字没有空格。每个RAM地址(CGRAM,DDRAM,IRAM…..)都可连续写入两个字节的数据(2-Bytes),当写入第二字节时位址计数器(AC)的值就会自动加1。☆读取忙碌旗标(BF)和地址RSRWDB7DB6DB5DB4DB3DB2DB1DB0代码01BFAC6AC5AC4AC3AC2AC1AC0功能:读取忙碌旗标(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值。当BF=“1”,表示内部忙碌中此时不可下指令,需等BF=“0”才可下新指令。经实验,当E=1时,DB7~DB0出现在LCD的数据口上;E=0时,关闭输出口。指令:RS=0;RW=1;P0=0XFF;//数据界面连接MCU的P0口。while(P0^7==0);//执行后,检查DB^7的值☆写入数据到RAMRSRWDB7DB6DB5DB4DB3DB2DB1DB0代码10D7D6D5D4D3D2D1D0功能:写入数据到内部的RAM当写入后会使(AC)改变每个RAM地址(CGRAM,DDRAM,IRAM…..)都可连续写入两个字节的数据(2-Bytes),当写入第二字节时位址计数器(AC)的值就会自动加1。☆读取RAM的值RSRWDB7DB6DB5DB4DB3DB2DB1DB0代码11D7D6D5D4D3D2D1D0功能:从内部的RAM读取数据,当读取后会使(AC)改变。当下设定地址指令后(CGRAM,DDRAM,IRAM…..),若要读取数据时需先虚读(DummyRead)一次才会读取到正确数据。第二次读取时则不需虚读(DUMMYREAD),除非又下设定地址指令才需再次虚读(DUMMYREAD)。扩充指令集说明☆待命模式RSRWDB7DB6DB5DB4DB3DB2DB1DB0代码0000000001功能:进入待命模式,执行任何其它指令都可终止待命模式;这个指令并不改变RAM的内容指令:RS=0;RW=0;DB=1H;☆卷动地址或RAM地址选择RSRWDB7DB6DB5DB4DB3DB2DB1DB0代码000000001SR功能:5当SR=1,允许输入垂直卷动地址。当SR=0,允许输入IRAM地址(扩充指令)及允许设定CGRAM地址(基本指令)。指令:RS=0;RW=0;DB=02H;//允许输入IRAM地址(扩充指令)及允许设定CGRAM地址(基本指令)RS=0;RW=0;DB=03H;//允许输入垂直卷动地址☆反白选择RSRWDB7DB6DB5DB4DB3DB2DB1DB0代码00000001R1R0功能:选择4行中的的任一行作反白显示,并可决定反白与否。R1,R0初值为00,当第一次设定时为反白显示,再一次设定时为正常显示。R1R0功能LL第一行反白或正常显示LH第二行反白或正常显示HL第三行反白或正常显示HH第四行反白或正常显示指令:RS=0;RW=0;DB=04H;//第一行反白或正常显示RS=0;RW=0;DB=05H;//第二行反白或正常显示RS=0;RW=0;DB=06H;//第三行反白或正常显示RS=0;RW=0;DB=07H;//第四行反白或正常显示☆睡眠模式RSRWDB7DB6DB5DB4DB3DB2DB1DB0代码0000001SL00功能:设置睡眠模式SL=1:脱离睡眠模式SL=0:进入睡眠模式☆扩充功能设定RSRWDB7DB6DB5DB4DB3DB2DB1DB0代码00001DLXREGX功能:DL:4/8BIT界面控制位当DL=1,为8BITMPU控制界面当DL=0,为4BITMPU控制界面RE:指令集选择控制位6当RE=1,为扩充指令集动作当RE=0,为基本指令集动作G:绘图显示控制位当G=1,绘图显示ON当G=0,绘图显示OFF同一指令之动作不可同时改变RE及DL、G需先改变DL或G,后再改变RE,才可确保FLAG正确设定。指令:RS=0;RW=0;DB=34;//进入扩展模式RS=0;RW=0;DB=32;//进入绘图模式RS=0;RW=0;DB=30;//退出绘图模式☆设定IRAM地址或卷动地址RSRWDB7DB6DB5DB4DB3DB2DB1DB0代码0001AC5AC4AC3AC2AC1AC0功能:SR=1:AC5~AC0为垂直卷动地址SR=0:AC3~AC0为ICONRAM地址☆设定绘图RAM(GDRAM)地址RSRWDB7DB6DB5DB4DB3DB2DB1DB0代码0010AC5AC4AC3AC2AC1AC0功能:设定绘图RAM(GDRAM)地址到地址计数器(AC)先设垂直地址再设水平地址(连续写入两个字节的数据来完成垂直与水平的坐标地址)垂直地址范围AC5...AC0(80H~BFH,共64行)水平地址范围AC3…AC0(80H~8FH,共16块)水平地址16块,每块又分成8列,所以共8列×16=128列。操作的时候,先输入垂直地址,再输入水平块地址,然后再输入水平数据,可连续输入两个字节。绘图RAM之地址计数器(AC)只会对水平地址(X轴)自动加1,当水平地址=0FH时会重新设为00H但并不会对垂直位址做进位自动加1。故当连续写入多笔数据时程序需自行判断垂直地址是否需重新设定。指令:RS=0;RW=0;DB=80~BFH;//输入垂直地址(共64行)RS=0;RW=0;DB=80H~8FH;//输入水平地址(共16块)RS=1;RW=0;DB=数据;
本文标题:JDH529(12864液晶屏)指令集说明(绝对全绝对易懂)
链接地址:https://www.777doc.com/doc-5412241 .html