12864液晶显示原理2B电路图2B程序Word文档格式.docx
《12864液晶显示原理2B电路图2B程序Word文档格式.docx》由会员分享,可在线阅读,更多相关《12864液晶显示原理2B电路图2B程序Word文档格式.docx(27页珍藏版)》请在冰点文库上搜索。
*注释3:
如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。
2.2并行接口
管脚号
管脚名称
电平
管脚功能描述
1
VSS
0V
电源地
2
VCC
3.0+5V
电源正
3
V0
-
对比度(亮度)调整
4
RS(CS)
H/L
RS=“H”,表示DB7——DB0为显示数据
RS=“L”,表示DB7——DB0为显示指令数据
5
R/W(SID)
R/W=“H”,E=“H”,数据被读到DB7——DB0
R/W=“L”,E=“H→L”,DB7——DB0的数据被写到IR或DR
6
E(SCLK)
使能信号
7
DB0
三态数据线
8
DB1
9
DB2
10
DB3
11
DB4
12
DB5
13
DB6
14
DB7
15
PSB
H:
8位或4位并口方式,L:
串口方式(见注释1)
16
NC
空脚
17
/RESET
复位端,低电平有效(见注释2)
18
VOUT
LCD驱动电压输出端
19
A
VDD
背光源正端(+5V)(见注释3)
20
K
背光源负端(见注释3)
如在实际应用中仅使用并口通讯模式,可将PSB接固定高电平,也可以将模块上的J8和“VCC”用焊锡短接。
四.模块主要硬件构成说明
控制器接口信号说明:
1、RS,R/W的配合选择决定控制界面的4种模式:
RS
R/W
功能说明
L
MPU写指令到指令暂存器(IR)
H
读出忙标志(BF)及地址记数器(AC)的状态
MPU写入数据到数据暂存器(DR)
MPU从数据暂存器(DR)中读出数据
2、E信号
E状态
执行动作
结果
高——>
低
I/O缓冲——>
DR
配合/W进行写数据或指令
高
DR——>
I/O缓冲
配合R进行读数据或指令
低/低——>
无动作
●忙标志:
BF
BF标志提供内部工作情况.BF=1表示模块在进行内部操作,此时模块不接受外部指令和数据.BF=0时,模块为准备状态,随时可接受外部指令和数据.
利用STATUSRD指令,可以将BF读到DB7总线,从而检验模块之工作状态.●
字型产生ROM(CGROM)
字型产生ROM(CGROM)提供8192个此触发器是用于模块屏幕显示开和关的控制。
DFF=1为开显示(DISPLAYON),DDRAM的内容就显示在屏幕上,DFF=0为关显示(DISPLAYOFF)。
DFF的状态是指令DISPLAYON/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)。
字型产生RAM(CGRAM)
字型产生RAM提供图象定义(造字)功能,可以提供四组16×
16点的自定义图象空间,使用者可以将内部字型没有提供的图象字型自行定义到CGRAM中,便可和CGROM中的定义一样地通过DDRAM显示在屏幕中。
地址计数器AC地址计数器是用来贮存DDRAM/CGRAM之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入DDRAM/CGRAM的值时,地址计数器的值就会自动加一,当RS为“0”时而R/W为“1”时,地址计数器的值会被读取到DB6——DB0中。
应用说明
用带中文字库的128X64显示模块时应注意以下几点:
①欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码。
②显示ASCII字符过程与显示中文字符过程相同。
不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加1指向下一个字符位置,否则,显示的字符中将会有一个空ASCII字符位置。
③当字符编码为2字节时,应先写入高位字节,再写入低位字节。
④模块在接收指令前,向处理器必须先确认模块内部处于非忙状态,即读取BF标志时BF需为“0”,方可接受新的指令。
如果在送出一个指令前不检查BF标志,则在前一个指令和这个指令中间必须延迟一段较长的时间,即等待前一个指令确定执行完成。
指令执行的时间请参考指令表中的指令执行时间说明。
⑤“RE”为基本指令集与扩充指令集的选择控制位。
当变更“RE”后,以后的指令集将维持在最后的状态,除非再次变更“RE”位,否则使用相同指令集时,无需每次均重设“RE”位。
用51单片机应用于12864液晶显示程序(带字库汉字显示演示程序,可用于本站XL系列实验仪)
;
12864(带字库汉字显示演示程序
***************************************************************************
*sxj1974@(51c51testweb)*
*Createby:
石学军更多例程请登陆网站*
RSEQUP2.0
RWEQUP2.1
EEQUP2.2
PSBEQUP2.3
RSTEQUP2.5
-----------------------------------------------
LCD_XEQU30H
LCD_YEQU31H
COUNTEQU32H
COUNT1EQU33H
COUNT2EQU34H
COUNT3EQU35H
LCD_DATAEQU36H
LCD_DATA1EQU37H
LCD_DATA2EQU38H
STOREEQU39H
ORG0000H
LJMPMAIN
ORG0100H
MAIN:
MOVSP,#5FH
CLRRST;
复位
LCALLDELAY4
SETBRST
NOP
SETBPSB;
通讯方式为8位数据并口
********************初始化**********************
LGS0:
MOVA,#34H;
34H--扩充指令操作
LCALLSEND_I
MOVA,#30H;
30H--基本指令操作
MOVA,#01H;
清除显示
MOVA,#06H;
指定在资料写入或读取时,光标的移动方向
LCALLSEND_I;
DDRAM的地址计数器(AC)加1
MOVA,#0CH;
开显示,关光标,不闪烁
===============================================
TU_PLAY1:
MOVDPTR,#TU_TAB1;
显示图形
LCALLPHO_DISP
LCALLDELAY3
=================================================
显示汉字和字符
加入80ms的延时,使你能够看清楚显示的过程
根据汉字显示坐标分段写入(顺序写入)
HAN_WR2:
LCALLCLEAR_P
HAN_WR2A:
MOVDPTR,#TAB1A;
MOVCOUNT,#10H;
地址计数器设为16。
MOVA,#80H;
第一行起始地址
LCALLQUSHU
HAN_WR2B:
MOVDPTR,#TAB1B;
MOVA,#90H;
第二行起始地址
HAN_WR2C:
MOVDPTR,#TAB1C;
MOVA,#88H;
第三行起始地址
HAN_WR2D:
MOVDPTR,#TAB1D;
MOVA,#98H;
第四行起始地址
LCALLFLASH
JMPTU_PLAY2
----------------------------------------------
TU_PLAY2:
MOVDPTR,#TU_TAB2;
TU_PLAY3:
MOVDPTR,#TU_TAB4;
显示点阵
LATPLAY1:
清屏
MOVLCD_DATA1,#0CCH;
MOVLCD_DATA2,#0CCH
LCALLLAT_DISP
KU_PLAY2:
LJMPTU_PLAY1
全屏显示图形子程序
PHO_DISP:
MOVCOUNT3,#02H
MOVLCD_X,#80H
PHO_DISP1:
MOVLCD_Y,#80H
MOVCOUNT2,#20H
PHO_DISP2:
MOVCOUNT1,#10H
LCALLWR_ZB
PHO_DISP3:
CLRA
MOVCA,@A+DPTR
LCALLSEND_D
INCDPTR
DJNZCOUNT1,PHO_DISP3
INCLCD_Y
DJNZCOUNT2,PHO_DISP2
MOVLCD_X,#88H
DJNZCOUNT3,PHO_DISP1
MOVA,#36H
MOVA,#30H
RET
CLRRAM:
MOVLCD_DATA1,#00H;
GDRAM写0子程序
MOVLCD_DATA2,#00H
==============================================
显示点阵子程序
LAT_DISP:
LAT_DISP1:
CLRF0
LAT_DISP2:
LAT_DISP3:
JBF0,LAT_DISP32
MOVLCD_DATA,LCD_DATA1
AJMPLAT_DISP31
LAT_DISP32:
MOVLCD_DATA,LCD_DATA2
LAT_DISP31:
MOVA,LCD_DATA
DJNZCOUNT1,LAT_DISP31
CPLF0
DJNZCOUNT2,LAT_DISP2
DJNZCOUNT3,LAT_DISP1
---------------------------------------------
WR_ZB:
MOVA,#34H
MOVA,LCD_Y
MOVA,LCD_X
FLASH:
MOVA,#08H;
关闭显示
LCALLDELAY5
==================================================
CLEAR_P:
查表取数据送显示
QUSHU:
MOVCA,@A+DPTR;
查表取数据
LCALLSEND_D;
送显示
LCALLDELAY4;
延时80ms,
DJNZCOUNT,QUSHU
写数据子程序
RS=1,RW=0,E=高脉冲,D0-D7=数据
SEND_D:
LCALLCHK_BUSY;
SETBRS
CLRRW
MOVP0,A
SETBE
CLRE
写指令子程序
RS=0,RW=0,E=高脉冲,D0-D7=指令码
SEND_I:
LCALLCHK_BUSY
CLRRS
================================================
读数据子程序
RS=1,RW=1,E=H,D0-D7=数据
READ_D:
SETBRW
MOVA,P0
MOVSTORE,A
测忙碌子程序
RS=0,RW=1,E=H,D0-D7=状态字
CHK_BUSY:
MOVP0,#0FFH;
JBP0.7,$
延时子程序
DELAY3:
MOVR5,#16H
DEL31:
MOVR6,#100
DEL32:
MOVR7,#0FFH
DEL33:
DJNZR7,DEL33
DJNZR6,DEL32
DJNZR5,DEL31
DELAY2:
MOVR6,#0CH
DEL21:
MOVR7,#18H
DEL22:
DJNZR7,DEL22
DJNZR6,DEL21
DELAY1:
MOVR6,#06H
DEL11:
MOVR7,#08H
DEL12:
DJNZR7,DEL12
DJNZR6,DEL11
DELAY4:
MOVR6,#100
DEL41:
MOVR7,#200
DEL42:
DJNZR7,DEL42
DJNZR6,DEL41
DELAY5:
MOVR5,#05H
DEL51:
DEL52:
DEL53:
DJNZR7,DEL53
DJNZR6,DEL52
DJNZR5,DEL51
***********************************************
TAB1:
TAB1A:
DB'
51单片机学习网(深圳学林电子有限公司)'
;
显示在第一行
TAB1C:
自学单片机第一站'
显示在第三行
TAB1B:
WWW.8951.COM'
显示在第二行
TAB1D:
TEL755-89956892'
显示在第四行
*--------------------------------------------------------------------*
*Bitmap点阵数据表*
*图片:
E:
图形8.bmp,横向取模左高位,数据排列:
从左到右从上到下*
*图片尺寸:
128*64*
TU_TAB1:
数据表
db0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh,0FFh
db80h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,01h
db80h,00h,00h,