JLX12864G086PN中文说明书Word文件下载.docx
《JLX12864G086PN中文说明书Word文件下载.docx》由会员分享,可在线阅读,更多相关《JLX12864G086PN中文说明书Word文件下载.docx(39页珍藏版)》请在冰点文库上搜索。
(4)按照8*16点阵汉字来计算可显示16字*4行;
(5)按照5*8点阵汉字来计算可显示21字*8行;
2.5指令功能强.
2.6接口简单方便:
采用4线SPI串行接口。
2.7工作温度宽:
-20℃-70℃;
3.外形尺寸及接口引脚功能
图1.外形尺寸
模块的接口引脚功能
表1:
4.基本原理
4.1液晶屏(LCD)
在LCD上排列着128×
64点阵,128个列信号与驱动IC相连,64个行信号也与驱动IC相连,
IC邦定在LCD玻璃上(这种加工工艺叫COG).
4.2工作电图:
图2是JLX12864G-0086图像点阵型模块的电路框图,它由驱动ICST7565R及几个电阻电容组成。
4.3背光参数
该型号液晶模块带LED背光源。
它的性能参数如下:
工作温度:
-20∽+70°
C;
存储温度:
-30∽+80°
背光板可选择绿色、白色。
正常工作电流为:
24∽60mA(LED灯数共3颗,每颗灯是8~20mA)
工作电压:
同VDD电压(LED灯的电压是3.0V,因在PCB上已加了限流电阻,所以可以同VDD
电压);
5.技术参数
5.1最大极限参数(超过极限参数则会损坏液晶模块)
名称
符号
标准值
单位
最小
典型
最大
电路电源
VDD-VSS
-0.3
7.0
V
工作温度
-20
+70
℃
储存温度
-30
+80
表2:
最大极限参数
5.2直流(DC)参数
名称
符号
测试条件
标准值
典型值
工作电压
VDD
选3.3V的产品
2.4
3.3
3.6
选5.0V的产品
4.0
5.0
5.5
背光工作电压
VLED
2.9
3.0
3.1
输入高电平
VIH
-
2.2
输入低电平
VI0
0.6
输出高电平
VOH
IOH=0.2mA
2.4
输出低电平
VO0
IO0=1.2mA
0.4
模块工作电流
IDD
VDD=3.0V
1.0
mA
背光工作电流
ILED
VLED=3.0V
(共3颗LED灯并联)
24
45
60
表3:
直流(DC)参数
6.读写时序特性
6.1串行接口时序图:
传输指令/数据时片选必须为低电平。
CD(即RS)为低电平:
传输指令,CD(即RS)为高电平:
传
输数据,在SCK上升沿时,SDI传输指令/数据1位,先传的是高位D7,传8位就是一个字节。
从CPU写到UX1701X(WritingDatafromCPUtoUX1701X)
图4.从CPU写到UX1701X(WritingDatafromCPUtoUX1701X)
6.2串行接口:
时序要求(AC参数):
写数据到UX1701X的时序要求:
VDD=2.5~3.3V,Ta=25℃表4.
项目
测试条件
极限值
MIN
TYPE
MAX
4线SPI串口时钟周期
(4-lineSPIClockPeriod)
tCYS8
引脚:
SCK
ns
保持SCK高电平脉宽
(SCK“H”pulsewidth)
tHPS8
SCK
15
-
保持SCK低电平脉宽
(SCK“L”pulsewidth)
tLPS8
15
地址建立时间
(Addresssetuptime)
tASS8
RS
地址保持时间
(Addressholdtime)
tAHS8
数据建立时间
(Datasetuptime)
tDSS8
SDA
12
数据保持时间
(Dataholdtime)
tDHS8
片选建立时间
(ChipSelectsetuptime)
tCSSS8
CS
片选保持时间
(ChipSelectholdtime)
tCSHS8
6.3电源启动后复位的时序要求(RESETCONDITIONAFTERPOWERUP):
图5:
电源启动后复位的时序
表6:
电源启动后复位的时序要求
7.指令功能:
7.1指令表
指令表
温馨提示:
请详细参考IC资料“UC1701X_V1.3.PDF”第11~16页的指令
表及指令详解。
7.3点阵与DDRAM(显示数据存储器)地址的对应关系
请留意页的定义:
PAGE,与平时所讲的“页”并不是一个意思,在此表示8个行就是一个“页”,
一个128*64点阵的屏分为8个“页”,从第0“页”到第7“页”。
DB7--DB0的排列方向:
数据是从下向上排列的。
最低位D0是在最上面,最高位D7是在最下
面。
每一位(bit)数据对应一个点阵,通常“1”代表点亮该点阵,“0”代表关掉该点阵.如下图
所示:
下图摘自UC1701XIC资料,可通过“UC1701X_V1.3.PDF”之第29页获取最佳效果。
7.4初始化方法
用户所编的显示程序,开始必须进行初始化,否则模块无法正常显示,过程请参考程序。
7.5程序举例:
液晶模块与MPU(以8051系列单片机为例)接口图如下:
图9.串行接口
/*液晶演示程序JLX12864G-0088,串行接口!
驱动IC是:
UC1701X
叶建人编写,11月22日,2011
晶联讯电子:
网址;
*/
#include<
reg52.H>
intrins.h>
Ctype.h>
sbitkey=P3^4;
sbitcs1=P3^1;
sbitrs=P3^0;
sbitreset=P1^0;
sbitsclk=P3^1;
sbitsid=P3^2;
#defineucharunsignedchar
#defineuintunsignedint
#defineulongunsignedlong
ucharcodeascii_table_8x16[95][16];
ucharcodeascii_table_5x7[95][5];
ucharcodecheng1[]={
/*--文字:
成--*/
/*--宋体23;
此字体下对应的点阵为:
宽x高=31x31--*/
/*--高度不是8的倍数,现调整为:
宽度x高度=32x32--*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,
0xFC,0xFC,0x88,0x00,0x00,0x1C,0x78,0xF0,0xE0,0x00,0x80,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xFF,0xFF,0x83,0x83,0x83,0x83,0x83,0x83,0xC3,0xC3,0x03,0x1F,
0xFF,0xFF,0x83,0x03,0x03,0x03,0xC3,0xF3,0xF3,0x63,0x03,0x03,0x00,0x00,0x00,0x00,
0x00,0x00,0xFC,0xFF,0x3F,0x00,0x80,0x00,0x00,0x80,0xFF,0xFF,0x03,0x00,0x00,0x03,
0x9F,0xFF,0xF8,0xF8,0xBE,0x1F,0x07,0x01,0x00,0x00,0xE0,0x20,0x00,0x00,0x20,0x38,
0x1F,0x07,0x01,0x00,0x00,0x01,0x01,0x07,0x07,0x23,0x31,0x18,0x0C,0x0E,0x07,0x03,
0x01,0x01,0x01,0x03,0x07,0x0F,0x0E,0x1C,0x1F,0x3F,0x30,0x00,0x00,0x00,0x00,0x00};
ucharcodezhuang1[]={
状--*/
/*--宋体12;
宽x高=16x16--*/
0x08,0x30,0x00,0xFF,0x20,0x20,0x20,0x20,0xFF,0x20,0xE1,0x26,0x2C,0x20,0x20,0x00,
0x04,0x02,0x01,0xFF,0x40,0x20,0x18,0x07,0x00,0x00,0x03,0x0C,0x30,0x60,0x20,0x00};
ucharcodetai1[]={
态--*/
0x00,0x04,0x04,0x04,0x84,0x44,0x34,0x4F,0x94,0x24,0x44,0x84,0x84,0x04,0x00,0x00,
0x00,0x60,0x39,0x01,0x00,0x3C,0x40,0x42,0x4C,0x40,0x40,0x70,0x04,0x09,0x31,0x00};
ucharcodeshi1[]={
使--*/
0x40,0x20,0xF0,0x1C,0x07,0xF2,0x94,0x94,0x94,0xFF,0x94,0x94,0x94,0xF4,0x04,0x00,
0x00,0x00,0x7F,0x00,0x40,0x41,0x22,0x14,0x0C,0x13,0x10,0x30,0x20,0x61,0x20,0x00};
ucharcodeyong1[]={
用--*/
0x00,0x00,0x00,0xFE,0x22,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0xFE,0x00,0x00,
0x80,0x40,0x30,0x0F,0x02,0x02,0x02,0x02,0xFF,0x02,0x02,0x42,0x82,0x7F,0x00,0x00};
ucharcodemao_hao[]={
:
(冒号)--*/
宽x高=8x16--*/
0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00};
charcodenum0[]={
0--*/
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00
};
charcodenum1[]={
1--*/
0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00
charcodenum2[]={
2--*/
0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00
charcodenum3[]={
3--*/
0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00
charcodenum4[]={
4--*/
0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00
charcodenum5[]={
5--*/
0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00
charcodenum6[]={
6--*/
0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00
charcodenum7[]={
7--*/
0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00
charcodenum8[]={
8--*/
0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00
charcodenum9[]={
9--*/
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00
/*写指令到LCD模块*/
voidtransfer_command(intdata1)
{
chari;
cs1=0;
rs=0;
for(i=0;
i<
8;
i++)
sclk=0;
if(data1&
0x80)sid=1;
elsesid=0;
sclk=1;
data1=data1<
<
=1;
}
/*写数据到LCD模块*/
voidtransfer_data(intdata1)
rs=1;
/*延时*/
voiddelay(inti)
intj,k;
for(j=0;
j<
i;
j++)
for(k=0;
k<
110;
k++);
voidwaitkey()
repeat:
if(key==1)
gotorepeat;
else
delay(40);
/*LCD模块初始化*/
voidinitial_lcd()
reset=0;
/*低电平复位*/
delay(100);
reset=1;
/*复位完毕*/
delay(20);
transfer_command(0xe2);
/*软复位*/
delay(5);
transfer_command(0x2c);
/*升压步聚1*/
transfer_command(0x2e);
/*升压步聚2*/
transfer_command(0x2f);
/*升压步聚3*/
transfer_command(0x23);
/*粗调对比度,可设置范围0x20~0x27*/
transfer_command(0x81);
/*微调对比度*/
transfer_command(0x28);
/*0x1a,微调对比度的值,可设置范围0x00~0x3f*/
transfer_command(0xa2);
/*1/9偏压比(bias)*/
transfer_command(0xc8);
/*行扫描顺序:
从上到下*/
transfer_command(0xa0);
/*列扫描顺序:
从左到右*/
transfer_command(0x40);
/*起始行:
第一行开始*/
transfer_command(0xaf);
/*开显示*/
cs1=1;
voidlcd_address(ucharpage,ucharcolumn)
column=column-1;
//我们平常所说的第1列,在LCD驱动IC里是第0列。
所以在这里减去1.
page=page-1;
transfer_command(0xb0+page);
//设置页地址。
每页是8行。
一个画面的64行被分成8个页。
我们平常所说的第1页,在LCD驱动IC里是第0页,所以
在这里减去1*/
transfer_command(((column>
>
4)&
0x0f)+0x10);
//设置列地址的高4位
transfer_command(column&
0x0f);
//设置列地址的低4位
/*全屏清屏*/
voidclear_screen()
unsignedchari,j;
9;
lcd_address(1+i,1);
132;
transfer_data(0x00);
//==================displayapitureof128*64dots================
voidfull_display()
inti,j;
lcd_address(i+1,0);
128;
transfer_data(0xff);
/*显示32x32点阵图像、汉字、生僻字或32x32点阵的其他图标*/
voiddisplay_graphic_32x32(ucharpage,ucharcolumn,uchar*dp)
uchari,j;
4;
lcd_address(page+j,column);
for(i=0;
31;
transfer_data(*dp);
/*写数据到LCD,每写完一个8位的数据后列地址自动加1*/
dp++;
/*显示16x16点阵图像、汉字、生僻字或16x16点阵的其他图标*/
voiddisplay_graphic_16x16(ucharpage,ucharcolumn,uchar*dp)
2;
16;
/*显示8x16点阵图像、ASCII,或8x16点阵的自造字符、其他图标*/
voiddisplay_graphic_8x16(ucharpage,ucharcolumn,uchar*dp)
voiddisplay_string_8x16(uintpage,uintcolumn,uchar*tex