12864液晶显示原理2B电路图2B程序.docx
- 文档编号:18181522
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:27
- 大小:139.26KB
12864液晶显示原理2B电路图2B程序.docx
《12864液晶显示原理2B电路图2B程序.docx》由会员分享,可在线阅读,更多相关《12864液晶显示原理2B电路图2B程序.docx(27页珍藏版)》请在冰豆网上搜索。
12864液晶显示原理2B电路图2B程序
带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
基本特性:
l 低电源电压(VDD:
+3.0--+5.5V)
l 显示分辨率:
128×64点
l 内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)
l 内置128个16×8点阵字符
l 2MHZ时钟频率
l 显示方式:
STN、半透、正显
l 驱动方式:
1/32DUTY,1/5BIAS
l 视角方向:
6点
l 背光方式:
侧部高亮白色LED,功耗仅为普通LED的1/5—1/10
l 通讯方式:
串行、并口可选
l 内置DC-DC转换电路,无需外加负压
l 无需片选信号,简化软件设计
l 工作温度:
0℃-+55℃,存储温度:
-20℃-+60℃
模块接口说明
*注释1:
如在实际应用中仅使用串口通讯模式,可将PSB接固定低电平,也可以将模块上的J8和“GND”用焊锡短接。
*注释2:
模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。
*注释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)
H/L
R/W=“H”,E=“H”,数据被读到DB7——DB0
R/W=“L”,E=“H→L”,DB7——DB0的数据被写到IR或DR
6
E(SCLK)
H/L
使能信号
7
DB0
H/L
三态数据线
8
DB1
H/L
三态数据线
9
DB2
H/L
三态数据线
10
DB3
H/L
三态数据线
11
DB4
H/L
三态数据线
12
DB5
H/L
三态数据线
13
DB6
H/L
三态数据线
14
DB7
H/L
三态数据线
15
PSB
H/L
H:
8位或4位并口方式,L:
串口方式(见注释1)
16
NC
-
空脚
17
/RESET
H/L
复位端,低电平有效(见注释2)
18
VOUT
-
LCD驱动电压输出端
19
A
VDD
背光源正端(+5V)(见注释3)
20
K
VSS
背光源负端(见注释3)
*注释1:
如在实际应用中仅使用并口通讯模式,可将PSB接固定高电平,也可以将模块上的J8和“VCC”用焊锡短接。
*注释2:
模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。
*注释3:
如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。
四.模块主要硬件构成说明
控制器接口信号说明:
1、RS,R/W的配合选择决定控制界面的4种模式:
RS
R/W
功能说明
L
L
MPU写指令到指令暂存器(IR)
L
H
读出忙标志(BF)及地址记数器(AC)的状态
H
L
MPU写入数据到数据暂存器(DR)
H
H
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--基本指令操作
LCALLSEND_I
MOVA,#01H;清除显示
LCALLSEND_I
MOVA,#06H;指定在资料写入或读取时,光标的移动方向
LCALLSEND_I;DDRAM的地址计数器(AC)加1
MOVA,#0CH;开显示,关光标,不闪烁
LCALLSEND_I
;===============================================
TU_PLAY1:
MOVDPTR,#TU_TAB1;显示图形
LCALLPHO_DISP
LCALLDELAY3
;=================================================
;;显示汉字和字符
;加入80ms的延时,使你能够看清楚显示的过程
;根据汉字显示坐标分段写入(顺序写入)
;=================================================
HAN_WR2:
LCALLCLEAR_P
HAN_WR2A:
MOVDPTR,#TAB1A;显示汉字和字符
MOVCOUNT,#10H;地址计数器设为16。
MOVA,#80H;第一行起始地址
LCALLSEND_I
LCALLQUSHU
HAN_WR2B:
MOVDPTR,#TAB1B;显示汉字和字符
MOVCOUNT,#10H;地址计数器设为16。
MOVA,#90H;第二行起始地址
LCALLSEND_I
LCALLQUSHU
HAN_WR2C:
MOVDPTR,#TAB1C;显示汉字和字符
MOVCOUNT,#10H;地址计数器设为16。
MOVA,#88H;第三行起始地址
LCALLSEND_I
LCALLQUSHU
HAN_WR2D:
MOVDPTR,#TAB1D;显示汉字和字符
MOVCOUNT,#10H;地址计数器设为16。
MOVA,#98H;第四行起始地址
LCALLSEND_I
LCALLQUSHU
LCALLDELAY3
LCALLFLASH
LCALLCLEAR_P
JMPTU_PLAY2
;----------------------------------------------
;TU_PLAY1:
MOVDPTR,#TU_TAB1;显示图形
LCALLPHO_DISP
LCALLDELAY3
;----------------------------------------------
TU_PLAY2:
MOVDPTR,#TU_TAB2;显示图形
LCALLPHO_DISP
LCALLDELAY3
;----------------------------------------------
TU_PLAY3:
MOVDPTR,#TU_TAB4;显示图形
LCALLPHO_DISP
LCALLDELAY3
;-----------------------------------------------
;显示点阵
;-----------------------------------------------
LATPLAY1:
MOVA,#01H;清屏
LCALLSEND_I
MOVLCD_DATA1,#0CCH;显示点阵
MOVLCD_DATA2,#0CCH
LCALLLAT_DISP
LCALLDELAY3
LCALLCLEAR_P
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
LCALLSEND_I
MOVA,#30H
LCALLSEND_I
RET
;----------------------------------------------
CLRRAM:
MOVLCD_DATA1,#00H;GDRAM写0子程序
MOVLCD_DATA2,#00H
LCALLLAT_DISP
RET
;==============================================
;显示点阵子程序
;==============================================
LAT_DISP:
MOVCOUNT3,#02H
MOVLCD_X,#80H
LAT_DISP1:
MOVLCD_Y,#80H
CLRF0
MOVCOUNT2,#20H
LAT_DISP2:
MOVCOUNT1,#10H
LCALLWR_ZB
LAT_DISP3:
JBF0,LAT_DISP32
MOVLCD_DATA,LCD_DATA1
AJMPLAT_DISP31
LAT_DISP32:
MOVLCD_DATA,LCD_DATA2
LAT_DISP31:
MOVA,LCD_DATA
LCALLSEND_D
DJNZCOUNT1,LAT_DISP31
INCLCD_Y
CPLF0
DJNZCOUNT2,LAT_DISP2
MOVLCD_X,#88H
DJNZCOUNT3,LAT_DISP1
MOVA,#36H
LCALLSEND_I
MOVA,#30H
LCALLSEND_I
RET
;---------------------------------------------
WR_ZB:
MOVA,#34H
LCALLSEND_I
MOVA,LCD_Y
LCALLSEND_I
MOVA,LCD_X
LCALLSEND_I
MOVA,#30H
LCALLSEND_I
RET
;===============================================
FLASH:
MOVA,#08H;关闭显示
LCALLSEND_I
LCALLDELAY5
MOVA,#0CH;开显示,关光标,不闪烁
LCALLSEND_I
LCALLDELAY5
MOVA,#08H;关闭显示
LCALLSEND_I
LCALLDELAY5
MOVA,#0CH;开显示,关光标,不闪烁
LCALLSEND_I
LCALLDELAY5
MOVA,#08H;关闭显示
LCALLSEND_I
LCALLDELAY5
RET
;==================================================
;清屏
;==================================================
CLEAR_P:
MOVA,#01H;清屏
LCALLSEND_I
MOVA,#34H
LCALLSEND_I
MOVA,#30H
LCALLSEND_I
RET
;==================================================
;查表取数据送显示
;==================================================
QUSHU:
CLRA
MOVCA,@A+DPTR;查表取数据
LCALLSEND_D;送显示
INCDPTR
LCALLDELAY4;延时80ms,
DJNZCOUNT,QUSHU
RET
;===============================================
;写数据子程序
;RS=1,RW=0,E=高脉冲,D0-D7=数据
;===============================================
SEND_D:
LCALLCHK_BUSY;写数据子程序
SETBRS
CLRRW
MOVP0,A
SETBE
NOP
NOP
CLRE
RET
;===============================================
;写指令子程序
;RS=0,RW=0,E=高脉冲,D0-D7=指令码
;===============================================
SEND_I:
LCALLCHK_BUSY
CLRRS
CLRRW
MOVP0,A
SETBE
NOP
NOP
CLRE
RET
;================================================
;读数据子程序
;RS=1,RW=1,E=H,D0-D7=数据
;================================================
READ_D:
LCALLCHK_BUSY;读数据子程序
SETBRS
SETBRW
SETBE
NOP
MOVA,P0
CLRE
MOVSTORE,A
RET
;================================================
;;测忙碌子程序
;RS=0,RW=1,E=H,D0-D7=状态字
;================================================
CHK_BUSY:
MOVP0,#0FFH;测忙碌子程序
CLRRS
SETBRW
SETBE
JBP0.7,$
CLRE
RET
;================================================
;延时子程序
DELAY3:
MOVR5,#16H
DEL31:
MOVR6,#100
DEL32:
MOVR7,#0FFH
DEL33:
DJNZR7,DEL33
DJNZR6,DEL32
DJNZR5,DEL31
RET
DELAY2:
MOVR6,#0CH
DEL21:
MOVR7,#18H
DEL22:
DJNZR7,DEL22
DJNZR6,DEL21
RET
DELAY1:
MOVR6,#06H
DEL11:
MOVR7,#08H
DEL12:
DJNZR7,DEL12
DJNZR6,DEL11
RET
DELAY4:
MOVR6,#100
DEL41:
MOVR7,#200
DEL42:
DJNZR7,DEL42
DJNZR6,DEL41
RET
DELAY5:
MOVR5,#05H
DEL51:
MOVR6,#100
DEL52:
MOVR7,#0FFH
DEL53:
DJNZR7,DEL53
DJNZR6,DEL52
DJNZR5,DEL51
RET
;***********************************************
TAB1:
TAB1A:
DB'51单片机学习网(深圳学林电子有限公司)';显示在第一行
TAB1C:
DB'自学单片机第一站';显示在第三行
TAB1B:
DB'WWW.8951.COM';显示在第二行
TAB1D:
DB'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,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,01h
db80h,00h,00h,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 12864 液晶显示 原理 电路图 程序