4. 程序例子

4.1 通过指令初始化 (字符型)

a) 8位接口模式 (状态: fosc=270kHz)
 
b) 4-位接口模式 (状态: fosc=270kHz)
 
4.2 指令表 (字符型)

指令

指令代码

指令模式描述

执行时间 (fsoc=270kHz)

RS

RW

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

清除显示

0

0

0

0

0

0

0

0

0

1

将“20H”写入DD0RAM,从AC将DDRAM地址设置为“00H”

1.53ms

返回原位

0

0

0

0

0

0

0

0

1

X

从AC将DDRAM地址设置为“00H”,如果光标发生位移,则将其返回原始位置

1.53ms

进入模式设置

0

0

0

0

00

0

1

1

I/D

SH

指定光标移动方向,启用“整个显示器位移”功能

39μs

显示器开/关控制

0

0

0

0

0

0

0

D

C

B

设置显示器(D)、光标(C)和光标闪烁开/关控制位

39μs

指针或显示器位移

0

0

0

0

0

1

S/C

S/L

x

x

设置光标移动和显示位移控制位,以及光标移动方向,不改变DDRAM数据

39μs

功能设置

0

0

0

0

1

DL

N

F

X

X

设置接口数据长度 (DL:4-位/8-位),
显示行数 (N:1-行/2-行),
显示字体类型(F:5x8点/5x11点)

39μs

设置 CGRAM 地址

0

0

0

1

AC5

AC4

AC3

AC2

AC1

ACO

在地址计数器中设置CGRAM地址

39μs

设置 DDRAM 地址

0

0

1

Ac6

Ac5

Ac4

AC3

AC2

AC2

ACO

在地址计数器中设置 DDRAM地址

0μs

读取“忙碌标志”和地址

0

0

BF

AC6

AC5

AC4

AC3

AC2

AC2

AC0

无论是否在内部操作过程中,均可读取“忙碌标志”。地址计数器的内容也可被读取。

0μs

将数据写入RAM

1

0

D7

D6

D5

D4

D3

D2

D1

D0

将数据写入内部RAM中 (DDRAM/CGRAM).

43μs

从RAM中读取数据

1

1

D7

D6

D5

D4

D3

D2

D1

D0

从内部RAM中读取数据 (DDRAM/CGRAM).

43μs

注:

当含有检查“忙碌标志(DB7)”功能的MPU程序被执行后,在“忙碌标志(DB7)”转为“LOW”后,必须通过降低“E”信号来执行下一指令。

 

4.2 指令表 (图形型)

显示控制指令用来控制KS0108B的内部状态。从MPU接收指令到KS108B,以进行显示控制。下表列出了各种指令。

 

指令

RS

R/W

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

功能

显示开/关

0

0

0

0

1

1

1

1

1

0/1

控制显示开或关。内部状态和显示RAM数据不受影响0:关,1:开

设置地址

0

0

0

1

Y 地址(0~63)

在Y地址计数器内设置Y地址

设置页 (X 地址)

0

0

1

0

1

1

1

页 (0~7)

在X地址寄存器内设置X地址

显示开始行

0

0

1

1

显示开始行(0~63)

在屏幕上方指出显示数据存储器

状态读取

0

1

0

复位

0

0

0

0

0

读取
状态
“忙碌”
开/关
复位

0
1
0
1
0
1

:准备就绪
:运行中
:显示开
:显示关
正常
:复位

写入显示数据

1

0

写入数据

将数据(DB0:7)写入显示数据存储器里。写入指令执行后,Y地址自动增加1。

读取显示数据

1

1

读取数据

从显示数据存储器读取数据(DB0:7) 到数据总线