J12864中文液晶使用说明
- 格式:pdf
- 大小:655.37 KB
- 文档页数:33
12864液晶屏资料总结一、概述JM12864M-2汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16*16点阵)、128个字符(8*16点阵)及64X256点阵显示RAM(GDRAM)。
外观尺寸:93×70×12.5mm 视域尺寸:73×39mm二、引脚三、时序图1、写资料2、读出资料四、指令集表一:最常用的指令(单独列出,包含于表二)五、电路图完整电路图见PCB文件,此处忽略程序存储器部分。
用P1口和液晶屏的数据口相连。
也可以用P0口,但是使用P0口要加上拉电阻,增加了电路的复杂性。
液晶屏的3口为驱动电压的输入端,此处用20K的可调电阻调整3口的电压值。
电路连接完成并通电后,旋转可调电阻的旋钮,直至屏上在没有任何程序驱动时,可以清晰显示一个个小方格为止。
六、厂家提供的程序及其说明/****************************************液晶型号:JM12864M-2(字库)驱动芯片:ST7920MCU:AT89C51*****************************************|P2.0---RS |P1===DB0~DB7|P2.1---R/W|P2.2---E|P2.3---PSB*****************************************/#include <at89x51.h>#include <intrins.h>sbit Ldi = P2^0;sbit Lrw = P2^1;sbit Le = P2^2;sbit Lpsb = P2^3;#define Ldata P1unsigned char code group[] ={略};unsigned char code Photo1[32][16] ={略};unsigned char code Photo2[32][16] ={略};/*********************************************************************************************/ /*函数名:Delay100us () */ /*函数功能:延时*/ /*参数:无*/ /*返回值:无*/ /*********************************************************************************************/ void Delay100us(){unsigned char temp;for(temp=0; temp<255; temp++);}/*********************************************************************************************//*函数名:DelayMs () */ /*函数功能:延时*/ /*参数:num */ /*返回值:无*/ /*********************************************************************************************/ void DelayMs(unsigned int num){while(num--){unsigned char temp;for(temp=0; temp<125; temp++);}}/*********************************************************************************************/ /*函数名:Busy () *//*函数功能:查忙*//*参数:无*/ /*返回值:无*/ /*********************************************************************************************/ void Busy(){Ldi=0;Lrw=1;while(1){Le=1;if(Ldata<0x80)break; //说明:见指令集中“读取状态字”,判断是否BUSYLe=0;}Le=0;}/*********************************************************************************************/ /*函数名:Whitecommand()*/ /*函数功能:写指令*/ /*参数:com */ /*返回值:无*/ /*********************************************************************************************/ void Whitecommand(unsigned char com){Busy();Ldi = 0;Lrw = 0;Le = 1;Ldata = com; //RS、R/W为0,这种状态下可设置行、列地址和页面地址Le = 0;}/*********************************************************************************************/ /*函数名:Whitedata()*/ /*函数功能:写数据*/ /*参数:dat */ /*返回值:无*/ /*********************************************************************************************/ void Whitedata(unsigned char dat){Busy();Ldi = 1;Lrw = 0;Le = 1;Ldata = dat; // RS为1、R/W为0,见指令集中“写显示数据”Le = 0;}/*********************************************************************************************/ /*函数名:Init (void) */ /*函数功能:LCD初始化操作*/ /*参数:无*/ /*返回值:无*/ /*********************************************************************************************/ void Init(){Lpsb = 1;Delay100us();Whitecommand(0x30); //基本指令集动作Delay100us();Whitecommand(0x0c); //整体显示开Delay100us();Whitecommand(0x01); //清楚显示,清屏Delay100us();Whitecommand(0x06); //}/*********************************************************************************************/ /*函数名:Whiteword (void) */ /*函数功能:写汉字*/ /*参数:无*//*返回值:无*/ /*********************************************************************************************/ void Whiteword(){unsigned char temp = 0;Whitecommand(0x80);for(;temp<64;){Whitedata(group[temp++]);_nop_();}}/*********************************************************************************************/ /*函数名:WhitePhoto */ /*函数功能:画图*/ /*参数:unsigned char page, unsigned char Photo[32][16] */ /*返回值:无*/ /*********************************************************************************************/ void WhitePhoto(unsigned char page,unsigned char Photo[32][16]){unsigned char row,line;for(line=0; line<32; line++){Whitecommand(0x80|line); //行地址设置Whitecommand(0x80|page); //页面地址设置for(row=0; row<16; row++){Whitedata(Photo[line][row]);}}}/*********************************************************************************************/ /*函数名:main()*/ /*函数功能:主函数*/ /*参数:无*/ /*返回值:无*/ /*********************************************************************************************/ void main(){DelayMs(400);Init(); //初始化do{Whitecommand(0x30); //基本指令集Delay100us();Whitecommand(0x01); //清除显示Delay100us();Whiteword(); //显示字段DelayMs(2000);Whitecommand(0x01); //清除显示Delay100us();Whitecommand(0x32); //选择基本指令集中的动作,绘图显示关Delay100us();Whitecommand(0x36); //选择扩充指令集中的动作,绘图显示开Delay100us();WhitePhoto(0, Photo1); //显示图片WhitePhoto(8, Photo2);DelayMs(2000);}while(1);}七、自编的程序及说明#include <reg51.h>#include <intrins.h>sbit Ldi = P3^0;sbit Lrw = P3^1;sbit Le = P3^2;#define Ldata P1int a;code char STR1[]= "东南大学SEU";code char STR2[]= "机械工程学院ME";code char STR3[]= "机械电子系";code char STR4[]= "张荔050154";void Delay100us(){unsigned char temp;for(temp=0; temp<255; temp++);}void DelayMs(unsigned int num){while(num--){unsigned char temp;for(temp=0; temp<125; temp++);}}void Busy(){Ldi=0;Lrw=1;while(1){Le=1;a=Ldata;if(Ldata<0x80)break;Le=0;}Le=0;}void Whitecommand(unsigned char com) {Busy();Ldi = 0;Lrw = 0;Le = 1;Ldata = com;Le = 0;}void Whitedata(unsigned char dat){Busy();Ldi = 1;Lrw = 0;Le = 1;Ldata = dat;Le = 0;}void Init(){Delay100us();Whitecommand(0x30);Delay100us();Whitecommand(0x0c);Delay100us();Whitecommand(0x01);Delay100us();Whitecommand(0x06);}void Whiteword(unsigned char *ptr,unsigned char line) {unsigned char i,l;l=0;switch (line){case 1:Whitecommand(0x80);break;case 2:Whitecommand(0x90);break;case 3:Whitecommand(0x88);break;case 4:Whitecommand(0x98);}while ((ptr[l])!='\0'){l++;}for (i=0;i<l;i++){Whitedata(ptr[i]);_nop_();}}void main(){Ldata=0;DelayMs(400);Init();do{Whitecommand(0x30);Delay100us();Whitecommand(0x01);Delay100us();Whiteword(STR1,1);Whiteword(STR2,2);Whiteword(STR3,3);Whiteword(STR4,4);DelayMs(2000);}while(1);}。
12864使用说明一、串/并接口1.1 串口接口管脚信号*注释1:如在实际应用中仅使用并口通讯模式,可将PSB 接固定高电平。
*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。
*注释3:如背光和模块共用一个电源,可以将模块上的JA、JK 用焊锡短接。
1.2 并行接口管脚信号*注释1:如在实际应用中仅使用并口通讯模式,可将PSB 接固定高电平。
*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。
*注释3:如背光和模块共用一个电源,可以将模块上的JA、JK 用焊锡短接。
二、模块主要硬件构成说明控制器接口信号说明:2.1、RS,R/W的配合选择决定控制界面的4种模式:2.2、E信号●忙标志BFBF 标志提供内部工作情况.BF=1 表示模块在进行内部操作,此时模块不接受外部指令和数据.BF=0 时, 模块为准备状态,随时可接受外部指令和数据.利用STATUS RD 指令,可以将BF 读到DB7 总线,从而检验模块之工作状态.●字型产生ROM(CGROM)字型产生ROM(CGROM)提供8192 个此触发器是用于模块屏幕显示开和关的控制。
DFF=1 为开显示(DISPLAY ON),DDRAM 的内容就显示在屏幕上,DFF=0 为关显示(DISPLAY OFF)。
DFF 的状态是指令DISPLAY ON/OFF 和RST 信号控制的。
●显示数据RAM(DDRAM)模块内部显示数据 RAM 提供 64×2 个位元组的空间,最多可控制 4 行 16 字(64 个字)的中文字型显示,当写入显示数据 RAM 时,可分别显示 CGROM 与CGRAM 的字型;此模块可显示三种字型,分别是半角英、数字型(16*8)、CGRAM 字型及 CGROM 的中文字型。
三种字型的选择,由在 DDRAM 中写入的编码选择,在0000H—0006H 的编码中(其代码分别是0000、0002、0004、0006 共4 个)将选择 CGRAM 的自定义字型,02H—7FH 的编码中将选择半角英数字的字型,至于A1 以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码BIG5(A140—D75F),GB(A1A0-F7FFH)。
12864中文字库液晶模块使用说明书第 1 页共16 页一、12864液晶显示模块概述1. 12864液晶显示模块是128×64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置国标GB2312码简体中文字库(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。
可与CPU 直接接口,提供两种界面来连接微处理机:8-位并行及串行两种连接方式。
具有多种功能:光标显示、画面移位、睡眠模式等。
2. 外观尺寸:93×70mm(4X8C), 84×44mm(2X8C),110×65mm(2x8 C _2), 116×39mm(2X10),180×65mm(4X16A)3. 视域尺寸:73×39mm(4X8C), 78×25mm(2x8 C _2), 70×20mm(2X8C),85×20mm(2X10), 132×39mm(4X16A),补充说明:外观尺寸可根据用户的要求进行适度调整。
二、模块引脚说明1)表—1:(128X32)、(160X32)模块引脚说明引脚名称 方向 说明 引脚名称方向 说明1 VSS - GND(0V) 11 DB4 I/O 数据42 VDD - Supply Voltage For Logic (+5v) 12 DB5 I/O 数据53 VO - Supply Voltage For LCD (悬空)13 DB6 I/O 数据64 RS(CS) H/L H: Data L: Instruction Code 14 DB7 I/O 数据75 R/W(STD) H/L H: Read L: Write15 PSB H/L 16032此脚为:RESET脚 6 E(SCLK) H,H/L Enable Signal7 DB0 I/O 数据0 16 /RST H/L 16032此脚为空8 DB1 I/O 数据1 17 LEDK - 16032此脚为A9 DB2 I/O 数据2 18 LEDA - 16032此脚为K10 DB3 I/O 数据3 注:以上K为负,A为正4)表—4:(256X64)引脚说明引脚名称 方向 说明引脚名称 方向 说明 1 FG - FRAME GROUND 11 DB0 I/O 数据0 2 VSS - GND(0V)12 DB1 I/O 数据1 3 VDD - Supply Voltage For Logic (+5v) 13 DB2 I/O 数据2 4 NC - 空脚14 DB3 I/O 数据3 5 R/W H/L H: Read L: Write 15 DB4 I/O 数据4 6 E1 H,H/L Enable Signal1 16 DB5 I/O 数据5 7 E2 H,H/L Enable Signal217 DB6 I/O 数据6 8 RS H/L H: Data L: Instruction Code 18 DB7 I/O 数据7 9 NC - 空脚19 NC - 空脚 10 /RST H/L Reset Signal 低电平有效 20 NC - 空脚注 K背光源负极(LED-OV)A背光源正极(LED+5V)三、12864液晶硬件接口1、逻辑工作电压(VDD):4.5~5.5V2、电源地(GND):0V3、LCD 驱动电压(V0):0~-10V4、工作温度(Ta):0~55℃(常温) / -20~70℃(宽温) 保存温度(Tstg):-10~65℃(常温)5、电气特性见附图1 外部连接图(参考附图2)模块有并行和串行两种连接方法(时序如下): 1、8位并行连接时序图MPU 写资料到模块RSR/WEMPU从模块读出资料RSR/WE2、串行连接时序图CS C LS T3、AC电气特性(TA=25℃ VCC=5V)condition Min. Typ. Max. UnitSYMBOL Characteristics Testfrequency Rf=39KΩ480 540 600 KHz Fosc OSCTIME UNIT PARAMETER SYMBOL MESUREFOR WRITE MODE(WRITING DATA FROM MPU TO ST7920)System cycle time TC 13,000 nsAddress setup time TAS 1,500 nsAddress hold time TAH 1,500 nsData setup time TDSW 1,000 nsData hold time TH 20 nsEnable pulsewidth TPW 1,500 nsEnable rise/fall time TR,TF 25 nsFOR READ MODE(READING DATA FROM ST7920 TO MPU)System cycle time TC 13,000 nsAddress setup time TAS 1,500 nsAddress hold time TAH 1,500 nsData setup time TDDR 1,000 nsData hold time TH 20 ns Enable pulsewidth TPW 1,500 ns Enable rise/fall time TR,TF 25 ns四、用户指令集指令表—2:(RE=1:扩充指令集)指令码指令RS RW DB7 DB6 DB5DB4 DB3 DB2DB1DB0说明执行时间(540KHZ )待命模式 0 0 0 0 0 0 0 0 0 1将DDRAM 填满“20H ”,并且设定DDRAM 的地址计数器(AC )到“00H ” 72us卷动地址或IRAM 地址选择 0 0 0 0 0 0 0 0 1 SR SR=1:允许输入垂直卷动地址 SR=0:允许输入IRAM 地址72us反白选择 0 0 0 0 0 0 0 1 R1 R0选择4行中的任一行作反白显示,并可决定反白与否 72us 睡眠模式0 0 0 0 0 0 1 SL X XSL=1:脱离睡眠模式 SL=0:进入睡眠模式72us扩充功能设定0 0 0 0 1 1 X1REG 0RE=1:扩充指令集动作RE=0:基本指令集动作G=1 :绘图显示ONG=0 :绘图显示OFF72us设定IRAM地址或卷动地址0 0 0 1 AC5AC4 AC3 AC2AC1AC0SR=1:AC5—AC0为垂直卷动地址SR=0:AC3—AC0为ICON IRAM地址72us设定绘图RAM地址0 0 1 AC6 AC5AC4 AC3 AC2AC1AC0设定CGRAM地址到地址计数器(AC)72us备注:1、当模块在接受指令前,微处理顺必须先确认模块内部处于非忙碌状态,即读取BF标志时BF需为0,方可接受新的指令;如果在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延迟一段较长的时间,即是等待前一个指令确实执行完成,指令执行的时间请参考指令表中的个别指令说明。
12864LCD液晶显示屏中文资料一、概述二、带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
三、基本特性:(1)、低电源电压(VDD:+3.0--+5.5V)(2)、显示分辨率:128×64点(3)、内置汉字字库,提供8192个16×16点阵汉字(简繁体可选) (4)、内置 128个16×8点阵字符(5)、2MHZ时钟频率(6)、显示方式:STN、半透、正显(7)、驱动方式:1/32DUTY,1/5BIAS (8)、视角方向:6点(9)、背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10 (10)、通讯方式:串行、并口可选(11)、内置DC-DC转换电路,无需外加负压(12)、无需片选信号,简化软件设计(13)、工作温度: 0℃ - +55℃ ,存储温度: -20℃ - +60℃模块接口说明:*注释1:如在实际应用中仅使用串口通讯模式,可将PSB接固定低电平,也可以将模块上的J8和“GND”用焊锡短接。
*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。
*注释3:如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。
2.2并行接口*注释1:如在实际应用中仅使用并口通讯模式,可将PSB接固定高电平,也可以将模块上的J8和“VCC”用焊锡短接。
12864液晶中文资料一、液晶显示模块概述JM12864M-2汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。
主要技术参数和显示特性:电源:VDD 3.3V~+5V(内置升压电路,无需负压);显示内容:128列× 64行显示颜色:黄绿显示角度:6:00钟直视LCD类型:STN与MCU接口:8位或4位并行/3位串行配置LED背光多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等二、外形尺寸外观尺寸:93×70×12.5mm 视域尺寸:73×39mm外形尺寸图外形尺寸脚说明128X64HZ 引脚说明逻辑工作电压(VDD):4.5~5.5V电源地(GND):0V工作温度(Ta):-10℃~60℃(常温) / -20℃~70℃(宽温)三、接口时序模块有并行和串行两种连接方法(时序如下):8位并行连接时序图MPU写资料到模块MPU从模块读出资料2、串行连接时序图串行数据传送共分三个字节完成:第一字节:串口控制—格式11111ABCA为数据传送方向控制:H表示数据从LCD到MCU,L表示数据从MCU到LCDB为数据类型选择:H表示数据是显示数据,L表示数据是控制指令C固定为0第二字节:(并行)8位数据的高4位—格式DDDD0000第三字节:(并行)8位数据的低4位—格式0000DDDD串行接口时序参数:(测试条件:T=25℃VDD=4.5V)四、用户指令集1、指令表1:(RE=0:基本指令集)指令表—2:(RE=1:扩充指令集)备注:1、当模块在接受指令前,微处理顺必须先确认模块内部处于非忙碌状态,即读取BF标志时BF需为0,方可接受新的指令;如果在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延迟一段较长的时间,即是等待前一个指令确实执行完成,指令执行的时间请参考指令表中的个别指令说明。