您的当前位置:首页正文

彩屏液晶应用手册

来源:好兔宠物网
 彩屏液晶资料整理

本模块采用3.3V供电,16个数据IO, 像素 320*240 引脚排列 40个引脚 箭头是1脚 1 2 3 4 5 6 。。。。

1 - DB0 2 - DB1 3 - DB2 4 - DB3 5 - DB4 6 - DB5 7 - DB6 8 - DB7

9 - DB8 10 - DB9 11 - DB10 12 - DB11 13 - DB12 14 - DB13 15 - DB14 16 - DB15

17 - nCS 18 - RS 19 - nWR 20 - NC 21 - nRD 22 - nReset 23 - VCC 24 - VCC

25 - VCC 26 - VCC 27 - NC 28 - BL 29 - GND 30 - GND 31 - GND 32 - GND

33 - TS_CLK 34 - TS_VBAT 35 - TS_nCS 36 - TS_AUX 37 - TS_DIN 38 - TS_DOUT 39 - TS_BUSY 40 - TS_nPENIRQ

1-16 数据引脚

NCS RS NWR NRD NRESET

33 - 40 是触摸屏控制的

本模块选用的是16位并行模式写数,也就是说模式在模块上面已经设定好了,芯片是ILI9320

读写寄存器时序图

指令说明 详细请见 ILI9320 P51

IR: 变址寄存器 W

RS = 1

SR:读状态寄存器 R RS =

L7 L6 L5 L4 L3 L2 L1 L0 0 0 0 0 0 0 0 0 L[7:0] 指示正在驱动TFT页的的驱动行的位置

00H :开始振动 RS =

R

W 最后一位写1

01H :驱动输出控制1 W

RS = 1

0 0 0 0 0 SM 0 SS 0 0 0 0 0 0 0 0 当SS = 0时,这个移位的方向是从S1 到 S720 当SS = 1时,这个移位的方向是从S720到S1

02H :LCD驱动控制寄存器 W RS = 1

03H 输入模式

TRI DFM 0 BGR 0 0 HWM 0 ORG 0 I/D1 I/D0 AM 0 0 0 AM 控制GRAM更新的方向 当AM = 0,水平方向更新地址 当 AM = 1,垂直方向更新地址

当 a window area 通过16H 17H设置,这个GRAM的地址仅能更新通过I/D[1:0]和设置 AM

I/D[1:0] 当更新显示数据时,控制地址计数器AC自动增加或者减少1

ORG: 当 a window address area被设置,通过ID的状态字来移动源地址,这个功能在用到高速的RAM写数据到window address area时被使能 注:WINDOW ADDRESS 在后面有说明

注意:1,当 ORG = 1 ,只有源地址 00000H可以被写入在RAM地址设置寄存器 20H,21H 中

2,在RAM的读操作中,确保ORG设置为0

BGR :

TRI : = 0 TRI和DFM结合起来用,DFM只有在TRI=1时才有用 DFM :

04H 恢复控制寄存器

0 0 0 0 0 0 RCV1 RCV0 0 0 RCH1 RCH0 0 0 RSZ1 RSZ0

07H 显示控制1 W RS = 1

0 0 PTDE1 PTDE0 0 0 BASEE 0 0 0 GON DTE CL 0 D1 D0 设置D[1:0] = 11 来打开显示,D[1:0] = 00 来关闭显示

D1 = 1 ,图形显示打开,D1= 0,显示关闭,即页面上没有显示 CL = 0 COLORS 262,144

=1 COLORS 8

BASEE = 0 , no base image is display ? =1, the base image is display

PEDE[1:0] 半桢图像2和半帧图像1使能位, ? PEDE1/0 = 0 关闭半帧图像 PEDE1/0 = 1 打开半帧图像

08H 显示控制2 W RS = 1

0 0 0 0 FP3 FP2 FP1 FP0 0 0 0 0 BP3 BP2 BP1 BP0

09H 显示控制3

0 0 0 0 0 PTS2 PTS1 PTS0 0 0 PTG1 PTG0 ISC3 ISC2 ISC1 ISC0

0AH 显示控制4

0 0 0 0 0 0 0 0 0 0 0 0 FMARKOE FMI2 FMI1 FMI0

0CH RGB显示接口控制1 W RS = 1 ;

ENC2 ENC1 ENC0 0 0 0 0 RM 0 0 DM1 DM0 0 0 RIM1 RIM0 RIM[1:0] 选择RGB接口数据宽度 0 1

DM[1:0] 选择显示操作模式 0 0 内部接口系统时钟 0 1 RGB接口 1 0 VSYNC接口

1 1

0FH RGB 显示接口控制2 W RS = 1

0 0 0 0 0 0 0 0 0 0 0 VSPL HSPL 0 EPL DPL

20H/21H 数据水平、垂直地址设置 W RS = 1;

0 0 0 0 0 0 0 0 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0

0 0 0 0 0 0 0 AD16 AD15 AD14 AD13 AD12 AD11 AD10 AD9 AD8 当通过设置AM,I/D位,写入数据到GRAM时,这个地址计数器自动更新 当从GRAM读出数据时,这个地址计数器不会自动更新

当RGB接口被选择(RM = 1),地址AD[16:0]在VSYNC的下降沿被设置到地址计数器 当VSYNC接口模式被选择(RM = 0),通过更新21H ,地址AD[16:0]被设置到地址计数器

22H 写数据到GRAM W RS = 1

读数据从GRAM R RS = 1

2BH 帧速和颜色控制 W RS = 1

16M_EN DITHER 0 0 0 0 0 0 EXT_R 0 FR_SEL1 FRSEL0 0 0 0 0 EXT_R 外部或者内部寄存器选择,关于振荡器的 0 内部的寄存器(默认的) 1 外部的寄存器

FR_SEL[1:0] 当振荡器选择内部寄存器时,设置帧速度 0 0 90HZ 默认 0 1 80HZ 1 0 110HZ 1 1 100HZ

16M_EN 选择颜色深度 0 262K的色彩 默认 1 16M的色彩

一般选择默认的

50H 51H 52H 53H 垂直和水平的RAM地址位置 W RS = 1

50H 0 0 0 0 0 0 0 0 HSA7 HSA6 HSA5 HSA4 HSA3 HSA2 HSA1 HSA0 51H 0 0 0 0 0 0 0 0 HEA7 HEA6 HEA5 HEA4 HEA3 HEA2 HEA1 HEA0

52H 0 0 0 0 0 0 0 VSA8 VSA7 VSA6 VSA5 VSA4 VSA3 VSA2 VSA1 VSA0

53H 0 0 0 0 0 0 0 VEA8 VEA7 VEA6 VEA5 VEA4 VEA3 VEA2 VEA1 VEA0

HSA[7:0]/HEA[7:0] P73 代表窗口地址区开始和结束各自在垂直方向的地址,通过设置HSA和HEA位,可以限制写数据时在GRAM垂直方向的区域,设置这些位时,确保 00”h ≤ HSA[7:0]< HEA[7:0] ≤ “EF”h. “04”h≦HEA-HAS

VSA[8:0]/VEA[8:0] 代表窗口地址区开始和结束各自在水平方向的地址,通过设置VSA和VEA,可以限制写数据是在GRAM水平方向的区域,设置这些位时,确保“000”h ≤ VSA[8:0]< VEA[8:0] ≤ “13F”h.,

80H 半帧1显示位置 W RS =1

0 0 0 0 0 0 0 P0[8] P0[7] P0[6] P0[5] P0[4] P0[3] P0[2] P0[1] P0[0]

半帧1 和半帧2不能有重叠的部分

81H 82H 半帧1的RAM的开始/结束 地址 W RS = 1

0 0 0 0 0 0 0 (PTS)A0[8] A0[7] A0[6] A0[5] A0[4] A0[3] A0[2] A0[1] A0[0] 0 0 0 0 0 0 0 (PTE)A0[8] A0[7] A0[6] A0[5] A0[4] A0[3] A0[2] A0[1] A0[0] 确保PTSA0[8:0] <= PTEA0[8:0]

83H 半帧2显示位置 W RS=1

0 0 0 0 0 0 0 (PTS)A1[8] (PTD)P1[7] P1[6] P1[5] P1[4] P1[3] P1[2] P1[1] P1[0]

84H 85H 半帧2的RAM的起始 / 结束地址

0 0 0 0 0 0 0 (PTS) A1[8] A1[7] A1[6] A1[5] A1[4] A1[3] A1[2] A1[1] A1[0] 起始 0 0 0 0 0 0 0 (PTE) A1[8] A1[7] A1[6] A1[5] A1[4] A1[3] A1[2] A1[1] A1[0] 结束

GRAM address MAP 对GRAM的读写操作

是怎样显示彩色的???

图片取模格式为水平扫描,16位颜色模式,

每个像素点的颜色包含在提取模值中,提取出来的点,即像素用个16位的数据表示,里面包含颜色信息 RGB 三原色 R 5位 G 6位 B 5位

显示图片和文字时注意

用IMAGE2LCD软件提取图片,

最下面的那个 : 输出图像(52,46) 这里一定要注意,就是显示的图片的大小

显示字符和汉字:其实就是画点,调用画点函数,把点都描出来

用汉字取模软件提取字模时要注意,那些字模提取软件的字模提取是按一列8个点 EG : . . .

.... 这一列的8个点提取完后在提取后面那一列的8个点 . .

的方式进行提取的,所以彩屏液晶显示汉字时也应按照这种方式进行显示

注:以上为了普通液晶的需要是按纵向取模,字节倒序的方式进行提取字模的,为了方便我们可以在彩屏液晶应用时采用横向取模,字节不倒序的方式,示例程序采用的是横向取模,

显示16*16的汉字,在字模软件中选择: 宋体,常规,小四,横向取模,字节不倒序

触摸屏部分:

本模块选用的芯片是TSC2046,此芯片与ADS7846 ads7843功能是一样的,他们的管脚是一样的,驱动程序应该差不多,(The TSC2046 is 100% pin compatible with the existing ADS7846, and will drop into the same socket)DATASHEET里面这样说的

先说下触摸屏原理:电阻式触摸屏需要经常校正。 本触摸屏属于电阻式的 四线触摸屏

四线触摸屏

四线触摸屏包含两个阻性层。其中一层在屏幕的左右边缘各有一条垂直总线,另一层在屏幕的底部和顶部各有一条水平总线,见图4。为了在X轴方向进行测量,将左侧总线偏置为0V,右侧总线偏置为VREF。将顶部或底部总线连接到ADC,当顶层和底层相接触时即可作一次测量。

为了在Y轴方向进行测量,将顶部总线偏置为V

REF

,底部总线偏置为0V。将ADC输入端

接左侧总线或右侧总线,当顶层与底层相接触时即可对电压进行测量。对于四线触摸屏,最理想的连接方法是将偏置为VREF的总线接ADC的正参考输入端,并将设置为0V的总线接ADC的负参考输入端。

ADS7843串行接口的一次完整操作需要3×8=24个DCLK时钟周期,前8个脉冲接收8位的命令,并在第6个脉冲的上升沿开始A/D转换器进入采样阶段,从第9个脉冲开始进入转换阶段,输出12位采样值,转换结束进入空闲阶段。直到24个DCLK结束,cs置高电平,一次测量结束。

当用户在触摸屏上的有效区域内点击时,触摸屏的x方向、Y方向输出电阻分别随x和Y呈线性变化,ADS7843控制器将其分别转换为12位数据,通过中断告知单片机需要接收数据,

单片机接收到数据后进行处理;首先进行触点数据是否有效判断,包括两方面:一是判断是否误操作,即是否是由于人的抖动产生的错误数据;二是ADS7843传过来得数据是否有效,由于刚开始的传过来的第一个坐标是用户开始接触触摸屏时产生的,电阻不准确,导致数据也不准,通常要去掉;在接收过程中采用多次平均的方法,假如有一次接收的数据和平均值差别很大,则这次测量就作废,需要重新测量。一旦数据有效,单片机接着计算触点坐标落在液晶屏的位置,根据计算的结果判断执行相应的功能函数。使触摸屏和液晶屏有机的结合起来,建立一定的逻辑关系,交互地进行信息存取和输出。

此时触摸屏控制器开始对X轴、Y轴电压进行AD转换,等待转换结束后单片机读取转换数据并存储,最后通过一个坐标变换公式转化为显示屏上的坐标供操作系统进行后续处理。

[2]

FROM CUIT ICEC 技术部

熊孟龙 www.icec.cuit.edu.cn

因篇幅问题不能全部显示,请点此查看更多更全内容