1.字符型液晶与MSP430F449的接口设计
字符型液晶显示模块由字符型液晶显示屏(LCD),控制驱动主电路HD44780及其扩展驱动电路HD44100、少量阻容元件、结构件等装配在PCB板上而成。字符型液晶显示模块目前在国际上已经规范化,无论显示屏规格如何变化,其电器特性和接口形式都是统一的。因此只要设计出一种型号的接口电路,在指令设置上稍加改动即可使用各种规格的字符型液晶显示模块。本系统设计中采用LCD1602。与MSP<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />430F449主控模块接口电路设计原理图如下:
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
LCD1602接口原理图
其中P21、P22和P23为3个控制端,而P30到P37为8位的数据输入端。
a) 信号真值表如表3-3 所示
表3-3 信号读写使能真值表
RS | R/W | E | 功能 |
0 | 0 | 下降沿 | 写指令代码 |
0 | 1 | 高电平 | 读忙标志和AC码 |
1 | 0 | 下降沿 | 写数据 |
1 | 1 | 高电平 | 读数据 |
b) 接口引脚功能如表3-4所示
表3-4 接口引脚功能
引脚号 | 符号 | 状态 | 功能 |
1 | Vss |
| 电源地 |
2 | Vdd |
| +5V逻辑电源 |
3 | V0 |
| 液晶驱动电源 |
4 | RS | 输入 | 寄存器选择1:数据;0:指令 |
5 | R/W | 输入 | 读、写操作选择1:读;0:写 |
6 | E | 输入 | 使能信号 |
7 | DB0 | 三态 | 数据总线(LSB) |
8 | DB1 | 三态 | 数据总线 |
9 | DB2 | 三态 | 数据总线 |
10 | DB3 | 三态 | 数据总线 |
11 | DB4 | 三态 | 数据总线 |
12 | DB5 | 三态 | 数据总线 |
13 | DB6 | 三态 | 数据总线 |
14 | DB7 | 三态 | 数据总线 |
15 | LEDA | 输入 | 背光+5V |
16 | LEDK | 输入 | 背光地 |
说明:15、16两脚用于带背光模块,不带背光的模块这两脚悬空不接
n 清屏
RS R/W | DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 |
0 0 | 0 0 0 0 0 0 0 0 |
运行时间(250Khz):1.64ms;
功能:清DDRAM和AC值。
n 归位
RS R/W | DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 |
0 0 | 0 0 0 0 0 0 1 * |
运行时间(250Khz):1.64ms;
功能:AC=0,光标、画面回HOME位。
n 输入方式设置
RS R/W | DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 |
0 0 | 0 0 0 0 0 0 I/D S |
运行时间(250Khz):40us;
功能:设置光标、画面移动方式。
其中:I/D=1:数据读、写操作后,AC自动增一;
I/D=0:数据读、写操作后,AC自动减一;
S=1:数据读、写操作后,画面平移;
S=0:数据读、写操作后,画面不动;
n 显示开关控制
RS R/W | DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 |
0 0 | 0 0 0 0 1 D C B |
运行时间(250Khz):40us;
功能:设置显示、光标及闪烁开、关。
其中:D表示显示开关:D=1为开,D=0为关;
C表示光标开关:C=1为开,C=0为关;
B表示闪烁开关:B=1为开,B=0为关。
n 光标、画面位移
RS R/W | DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 |
0 0 | 0 0 0 1 S/C R/L * * |
运行时间(250Khz):40us;
功能:光标、画面移动,不影响DDRAM。
其中:S/C=1:画面平移一个字符位;
S/C=0:光标平移一个字符位;
R/L=1:右移; R/L=0:左移。
n 功能设置
RS R/W | DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 |
0 0 | 0 0 1 DL N F * * |
运行时间(250Khz):40us;
功能:工作方式设置(初始化指令)。
其中:DL=1,8位数据接口; DL="0",4位数据接口
N=1, 两行显示; N=0, 一行显示
F=1, 点阵字符;F=0, 点阵字符。
n CGRAM地址设置
RS R/W | DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 |
0 0 | 0 1 A5 A4 A3 A2 A1 A0 |
运行时间(250Khz):40us;
功能:设置CGRAM地址。A5~A0=0~3FH。
n DDRAM地址设置
RS R/W | DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 |
0 0 | 1 A6 A5 A4 A3 A2 A1 A0 |
运行时间(250Khz):40us;
功能:设置DDRAM地址。
N=0,一行显示A6~A0=0~4FH;
N=1,两行显示,首行A6~A0=00H~2FH,
次行A6~A0=40H~67H。
n 读BF及AC值
RS R/W | DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 |
0 1 | BF AC6 AC5 AC4 AC3 AC2 AC1 AC0 |
功能:读忙BF值和地址计数器AC值。
其中:BF=1:忙; BF=0:准备好。此时AC值意义为最近一次地址设置(CGRAM或DDRAM)定义。
n 写数据
RS R/W | DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 |
0 0 | 数 据 |
运行时间(250Khz):40us;
功能:根据最近设置的地址性质,数据写入DDRAM或CGRAM内
n 读数据
RS R/W | DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 |
0 0 | 数 据 |
运行时间(250Khz):40us;
功能:根据最近设置的地址性质,从 DDRAM或CGRAM读出数据
3.LCD1602读写时序
总线的读写时序图如下图所示
文章评论(0条评论)
登录后参与讨论