12232F中文.docx

上传人:b****3 文档编号:4344192 上传时间:2023-05-07 格式:DOCX 页数:38 大小:411.97KB
下载 相关 举报
12232F中文.docx_第1页
第1页 / 共38页
12232F中文.docx_第2页
第2页 / 共38页
12232F中文.docx_第3页
第3页 / 共38页
12232F中文.docx_第4页
第4页 / 共38页
12232F中文.docx_第5页
第5页 / 共38页
12232F中文.docx_第6页
第6页 / 共38页
12232F中文.docx_第7页
第7页 / 共38页
12232F中文.docx_第8页
第8页 / 共38页
12232F中文.docx_第9页
第9页 / 共38页
12232F中文.docx_第10页
第10页 / 共38页
12232F中文.docx_第11页
第11页 / 共38页
12232F中文.docx_第12页
第12页 / 共38页
12232F中文.docx_第13页
第13页 / 共38页
12232F中文.docx_第14页
第14页 / 共38页
12232F中文.docx_第15页
第15页 / 共38页
12232F中文.docx_第16页
第16页 / 共38页
12232F中文.docx_第17页
第17页 / 共38页
12232F中文.docx_第18页
第18页 / 共38页
12232F中文.docx_第19页
第19页 / 共38页
12232F中文.docx_第20页
第20页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

12232F中文.docx

《12232F中文.docx》由会员分享,可在线阅读,更多相关《12232F中文.docx(38页珍藏版)》请在冰点文库上搜索。

12232F中文.docx

12232F中文

目录

 

(一)概述

(二)外形尺寸

(三)模块主要硬件构成说明

(四)模块的外部接口

(五)指令说明

(六)读写操作时序

(七)应用举例

(八)附录

 

一、概述

12232F是一种内置8192个16*16点汉字库和128个16*8点ASCII字符集图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×32全点阵液晶显示器组成。

可完成图形显示,也可以显示7.5×2个(16×16点阵)汉字.与外部CPU接口采用并行或串行方式控制。

主要技术参数和性能:

1.电源:

VDD:

+3.0∽+5.5V。

(电源低于4.0伏LED背光需另外供电)

2.显示内容:

122(列)×32(行)点。

3.全屏幕点阵。

4.2MROM(CGROM)总共提供8192个汉字(16×16点阵)。

5.16KROM(HCGROM)总共提供128个字符(16×8点阵)。

6.2MHZ频率。

7.工作温度:

0℃∽+60℃,存储温度:

-10℃∽+70℃

 

二、外形尺寸图

图1

2.外形尺寸图

表1

项目

正常尺寸

单位

模块体积

84×44×13

mm

视域

60.5×18.0

mm

行列点阵数

122×32

DOTS

点距离

0.36×0.41

mm

点大小

0.40×0.45

mm

三.模块主要硬件构成说明

控制器接口信号说明:

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个字)的中文字型显示(本模块只用到其中的7.5*2个),当写入显示数据RAM时,可分别显示CGROM与CGRAM的字型;此模块可显示三种字型,分别是瘦长的英数字型(16*8)、CGRAM字型及CGROM的中文字型,三种字型的选择,由在DDRAM中写入的编码选择,在00~0F的编码中将选择CGRAM的字定义字型,10~7F的编码中将选择

瘦长英数字的字型,至于A0以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码(A140~D75F)。

●字型产生RAM(CGRAM)

字型产生RAM提供图象定义(造字)功能,可以提供四组16×16点的自定义图象空间,使用者可以将内部字型没有提供的图象字型自行定义到CGRAM中,便可和CGROM中的定义一般的通过DDRAM显示在荧屏中。

●地址计数器AC

地址计数器是用来贮存DDRAM/CGRAM之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入DDRAM/CGRAM的值时,地址计数器的值就会自动加一,当RS为“0”时而R/W为“1”时,地址计数器的值会被读取到DB6~DB0中。

●游标/闪烁控制电路

此模块提供硬体游标及闪烁控制电路,由地址计数器的值来指定DDRAM中的游标或闪烁位置。

 

四、模块的外部接口

外部接口信号如下表2、3所示(并行接口):

表2

管脚号

管脚名称

LEVER

管脚功能描述

1

VSS

0V

电源地

2

VCC

3.0+5V

电源正

3

VEE

-

对比度调整

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(CLK)

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

BL+

VDD

背光源电压+4.2V-+5V

16

BL-

Vss

背光源公共端

 

串口接口管脚信号

表3

管脚号

名称

LEVER

功能

1

VSS

0V

电源地

2

VDD

+5V

电源正(3.0V~5.5V)

3

VEE

-

对比度调整

4

CLK

H/L

串行同步时钟:

上升沿时读取SID数据

5

SID

H/L

串行数据输入端

6

CS

H/L

模组片选端,高电平有效

7

BL+

VDD

背光源电压+4.2V-+5V

8

BL-

VSS

背光源公共端

 

五、指令说明

模块控制芯片提供两套控制命令,基本指令和扩充指令如下:

指令表1:

(RE=0:

基本指令)

指令码

功能

RS

R/W

D7

D6

D5

D4

D3

D2

D1

D0

清除

显示

0

0

0

0

0

0

0

0

0

1

将DDRAM填满"20H",并且设定DDRAM的地址计数器(AC)到"00H"

地址

归位

0

0

0

0

0

0

0

0

1

X

设定DDRAM的地址计数器(AC)到"00H",并且将游标移到开头原点位置;这个指令不改变DDRAM的内容

显示状态开/关

0

0

0

0

0

0

1

D

C

B

D=1:

整体显示ON

C=1:

游标ON

B=1:

游标位置反白允许

进入点

设定

0

0

0

0

0

0

0

1

I/D

S

指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位

游标或显示移位控制

0

0

0

0

0

1

S/C

R/L

X

X

设定游标的移动与显示的移位控制位;这个指令不改变DDRAM的内容

功能

设定

0

0

0

0

1

DL

X

RE

X

X

DL=0/1:

4/8位数据

RE=1:

扩充指令操作

RE=0:

基本指令操作

设定CGRAM

地址

0

0

0

1

AC5

AC4

AC3

AC2

AC1

AC0

设定CGRAM地址

设定DDRAM

地址

0

0

1

0

AC5

AC4

AC3

AC2

AC1

AC0

设定DDRAM地址(显示位址)

第一行:

80H-87H

第二行:

90H-97H

读取忙标志和地址

0

1

BF

AC6

AC5

AC4

AC3

AC2

AC1

AC0

读取忙标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值

写数据到RAM

1

0

数据

将数据D7~D0写入到内部的RAM(DDRAM/CGRAM/IRAM/GRAM)

读出RAM的值

1

1

数据

从内部RAM读取数据D7~D0

(DDRAM/CGRAM/IRAM/GRAM)

指令表2:

(RE=1:

扩充指令)

指令码

功能

RS

R/W

D7

D6

D5

D4

D3

D2

D1

D0

待命

模式

0

0

0

0

0

0

0

0

0

1

进入待命模式,执行其他指令都棵终止

待命模式

卷动地址开关开启

0

0

0

0

0

0

0

0

1

SR

SR=1:

允许输入垂直卷动地址

SR=0:

允许输入IRAM和CGRAM地址

反白

选择

0

0

0

0

0

0

0

1

R1

R0

选择2行中的任一行作反白显示,并可决定反白与否。

初始值R1R0=00,第一次设定为反白显示,再次设定变回正常

睡眠

模式

0

0

0

0

0

0

1

SL

X

X

SL=0:

进入睡眠模式

SL=1:

脱离睡眠模式

扩充

功能

设定

0

0

0

0

1

CL

X

RE

G

0

CL=0/1:

4/8位数据

RE=1:

扩充指令操作

RE=0:

基本指令操作

G=1/0:

绘图开关

设定绘图RAM

地址

0

0

1

0

AC6

0

AC5

0

AC4

AC3

AC3

AC2

AC2

AC1

AC1

AC0

AC0

设定绘图RAM

先设定垂直(列)地址AC6AC5…AC0

再设定水平(行)地址AC3AC2AC1AC0

将以上16位地址连续写入即可

备注;当IC1在接受指令前,微处理器必须先确认其内部处于非忙碌状态,即读取BF标志时,BF需为零,方可接受新的指令;如果在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延长一段较长的时间,即是等待前一个指令确实执行完成。

 

六.时序图

并口读写时序图:

MPU写数据

MPU读数据

 

串口读写时序:

电源开启

七、软件初始化:

延迟时间超过40ms

RSRWD7D6D5D4D3D2D1D0

…….在此指令前,不能检查BF标志

000011XXXX

延迟时间超过100us

000011XXXX

…….在此指令前,不能检查BF标志

延迟时间超过37us

000011XXXX

…….在此指令前,不能检查BF标志

00001111xx

……在此指令前,不能检查BF标志

0000111000

…..设为基本指令

0000000001

…..荧屏显示清除

00000001I/DS

…..进入点设定

初始设定结束

 

八.应用举例:

12232F与单片机8031的一种接口如图5.所示

;Thisprogramisfor12232F

;RS--------P3.3

;R/W-------P3.1

;E---------P3.0

;DB0~7-----P1

DIEQUP3.3

RWEQUP3.1

EEQUP3.0

ORG0000H

AJMPSTART

ORG0003H

LCALLPAUSE

START:

MOVIE,#81H;EXT.INT0PERMIT

MOVIP,#01H;INT0ISFIRSTINT.LEVEL

MOVTCON,#00H;TIMER/COUNTERCONTROLERINIT.

movSP,#67h

LCALLDELAY

LCALLDELAY

LCALLSETUP

LCALLDEF_CHAR

MOVA,#80H

LCALLWRITE_COM

MOVR3,#8

TEST11:

MOVDPTR,#CGRAM1;CGRAMTEST

LCALLWRITE_CGRAM

DJNZR3,TEST11

MOVA,#90H

LCALLWRITE_COM

MOVR3,#8

TEST12:

MOVDPTR,#CGRAM1

LCALLWRITE_CGRAM

DJNZR3,TEST12

LCALLDELAY

LCALLDELAY

LCALLDELAY

LCALLDELAY

LCALLDELAY

MOVA,#80H

LCALLWRITE_COM

MOVR3,#8

TEST21:

MOVDPTR,#CGRAM2

LCALLWRITE_CGRAM

DJNZR3,TEST21

MOVA,#90H

LCALLWRITE_COM

MOVR3,#8

TEST22:

MOVDPTR,#CGRAM2

LCALLWRITE_CGRAM

DJNZR3,TEST22

LCALLDELAY

LCALLDELAY

LCALLDELAY

LCALLDELAY

LCALLDELAY

MOVA,#80H

LCALLWRITE_COM

MOVR3,#8

TEST31:

MOVDPTR,#CGRAM3

LCALLWRITE_CGRAM

DJNZR3,TEST31

MOVA,#90H

LCALLWRITE_COM

MOVR3,#8

TEST32:

MOVDPTR,#CGRAM3

LCALLWRITE_CGRAM

DJNZR3,TEST32

LCALLDELAY

LCALLDELAY

LCALLDELAY

LCALLDELAY

LCALLDELAY

MOVA,#80H

LCALLWRITE_COM

MOVR3,#8

TEST41:

MOVDPTR,#CGRAM4

LCALLWRITE_CGRAM

DJNZR3,TEST41

MOVA,#90H

LCALLWRITE_COM

MOVR3,#8

TEST42:

MOVDPTR,#CGRAM4

LCALLWRITE_CGRAM

DJNZR3,TEST42

LCALLDELAY

LCALLDELAY

LCALLDELAY

LCALLDELAY

LCALLDELAY

MOVA#80H;WORDTEST

LCALLWRITE_COM

MOVDPTR,#CHINESE

LCALLWRITE_HZ

MOVA,#90H

LCALLWRITE_COM

MOVDPTR,#TABLE1

LCALLWRITE_ASCII

LCALLDELAY

LCALLDELAY

LCALLDELAY

LCALLDELAY

LCALLDELAY

MOVA#80H

LCALLWRITE_COM

MOVDPTR,#table1

LCALLWRITE_ascii

MOVA,#90H

LCALLWRITE_COM

MOVDPTR,#chinese

LCALLWRITE_hz

LCALLDELAY

LCALLDELAY

LCALLDELAY

LCALLDELAY

LCALLDELAY

AAA:

LJMPSTART

SETUP:

LCALLDELAY

LCALLDELAY

LCALLDELAY

MOVA,#01H;CLEARDISPLAY

LCALLWRITE_COM

MOVA,#00110000B;FUNCTIONSETTING

LCALLWRITE_COM

MOVA,#00000010B;DDRAMSETTO'00H'

LCALLWRITE_COM

MOVA,#00000100B;

LCALLWRITE_COM

MOVA,#00001100B;DISPLAYON

LCALLWRITE_COM

MOVA,#00000001B;CLEARINGSCREEN

LCALLWRITE_COM

MOVA,#10000000B;SETDDRAMADDRESS

LCALLWRITE_COM

RET

WRITE_COM:

;WRIT///cv

;WRITECOMMANDSTOST7920

LCALLDELAY1;INSTEADOFCHECKINGBFSTATE

CLRRS

CLRRS

CLRRW

CLRRW

MOVP1,A

MOVP1,A

SETBE

SETBE

NOP

NOP

CLRE

CLRE

;LCALLDELAY1

RET

WRITE_DAT:

;WRITEDISPLAYDATASTOST79220

LCALLDELAY1

SETBRS

SETBRS

CLRRW

CLRRW

MOVP1,A

MOVP1,A

SETBE

SETBE

NOP

NOP

CLRE

CLRE

RET

DELAY1:

MOVR7,#010H

D11:

MOVR6,#010H

DJNZR6,$

DJNZR7,D11

RET

DELAY:

MOVR1,#00H

D2:

MOVR2,#00H

DJNZR2,$

DJNZR1,D2

RET

DEF_CHAR:

;WRITETOCGRAM

MOVA,#01000000B;SETCGRAMADDRESS

LCALLWRITE_COM

MOVR3,#8

DEF1:

MOVA,#000H

LCALLWRITE_DAT

LCALLWRITE_DAT

MOVA,#0FFH

LCALLWRITE_DAT

LCALLWRITE_DAT

DJNZR3,DEF1

MOVR3,#8

DEF2:

MOVA,#0AAH

LCALLWRITE_DAT

LCALLWRITE_DAT

MOVA,#0AAH

LCALLWRITE_DAT

LCALLWRITE_DAT

DJNZR3,DEF2

MOVR3,#8

DEF3:

MOVA,#055H

LCALLWRITE_DAT

LCALLWRITE_DAT

MOVA,#0AAH

LCALLWRITE_DAT

LCALLWRITE_DAT

DJNZR3,DEF3

movR3,#8

DEF4:

MOVA,#0FFH

LCALLWRITE_DAT

LCALLWRITE_DAT

LCALLWRITE_DAT

LCALLWRITE_DAT

DJNZR3,DEF4

RET

WRITE_ASCII:

MOVR4,#16

DDDD:

CLRA

MOVCA,@A+DPTR

LCALLWRITE_DAT

INCDPTR

DJNZR4,DDDD

RET

WRITE_HZ:

;WRITE8CHINESETOLCD

MOVR4,#8

DD:

CLRA

MOVCA,@A+DPTR

INCDPTR

LCALLWRITE_DAT

CLRA

MOVCA,@A+DPTR

INCDPTR

LCALLWRITE_DAT

DJNZR4,DD

RET

WRITE_CGRAM:

;CGRAMTESTING

CLRA

MOVCA,@A+DPTR

LCALLWRITE_DAT

INCDPTR

CLRA

MOVCA,@A+DPTR

LCALLWRITE_DAT

RET

PAUSE:

SETBP3.2;PAUSEKEYPROCESS

SETBP3.2

LCALLDELAY1

MOVC,P3.2

MOVC,P3.2

JNCPAUSE;CHECKKEYWASPRESSED

PAUSE1:

MOVC,P3.2

MOVC,P3.2

LCALLDELAY1

JCPAUSE1;CHECKKEYOPENAFTERPRESSED

PAUSE2:

SETBP3.2

SETBP3.2

LCALLDELAY1

MOVC,P3.2

MOVC,P3.2

JNCPAUSE2;CHECKKEYWASPRESSEDAGAIN

RETI

TABLE1:

;“这里是16*8点阵的字符代码”

CGRAM1:

DB000H,000H;这里是自造字符地址表

CGRAM2:

DB000H,002H

CGRAM3:

DB000H,004H

CGRAM4:

DB000H,006H

CHINESE:

;“这里是16*16点阵的汉字代码表”

END

以下为串口写指令和数据的子程序:

WRITE_COM:

LCALLDELAY1;INSTEADOFCHECKINGBFSTATE

SETBCS

PUSHACC

MOVR0,#8

MOVA,#11111000B

COMM1:

CLRC

RLCA

MOVSID,C

CLRCLK

SETBCLK

DJNZR0,COMM1

POPACC

MOVR5,A

ANLA,#0F0H

MOVR0,#8

COMM2:

CLRC

RLCA

MOVSID,C

CLRCLK

SETBCLK

DJNZR0,COMM2

MOVA,R5

SWAPA

ANLA,#0F0H

MOVR0,#8

COMM3:

CLRC

RLCA

MOVSID,C

CLRCLK

SETBCLK

DJNZR0,COMM3

CLRCS

RET

WRITE_DAT:

LCALLDELAY1

SETBCS

PUSHACC

MOVR0,#8

MOVA,#11111010B

DA

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2