标签:ddr 调整 body stm32 相关 strong vss 无法 脉冲
LCD1602液晶显示屏
因为想用STM32做一个万年历,所以在此之前先去了解了一下LCD1602的一些基础操作用法,在此简单介绍一下,都是制作万年历所需要用到的基础硬件资料。
它是字符型液晶,能够同时显示16x02即32个字符,一般分为14脚和16脚,16脚的带背光,14脚的无背光。
1脚 : VSS/GND 一般接地
2脚: VCC 接5V电源正极
3脚: VL 液晶显示偏压,对比度调整端。 接正电源时对比度最弱,接地时最强,可通过10K电位器调整。
4脚: RS 数据/命令选择 高电平--数据寄存器 低电平--指令寄存器
5脚: R/W 读/写选择 高电平--读操作 低电平--写操作
6脚: EN 使能端 当EN端由高电平跳变为低电平时,液晶模块执行命令
7脚~14脚: 数据
15脚: BLA 背光源正极
16脚: BLK 背光源负极
由于LCD1602是显示16×2的,所以其DDRAM地址与显示位置为:
00H | 01H | 02H | 03H | 04H | 05H | 06H | 07H | 08H | 09H | 0AH | 0BH | 0CH | 0DH | 0EH | 0FH |
40H | 41H | 42H | 43H | 44H | 45H | 46H | 47H | 48H | 49H | 4AH | 4BH | 4CH | 4DH | 4EH | 4FH |
所以,由表可知,第一行第一列的位置地址即为00H;
以下为11条指令:
1、清屏指令:
功能:<1> 清除液晶显示器,即将DDRAM的内容全部填入"空白"的ASCII码20H;
<2> 光标归位,即将光标撤回液晶显示屏的左上方;
<3> 将地址计数器(AC)的值设为0。
2、光标归位指令:
功能:<1> 把光标撤回到显示器的左上方;
<2> 把地址计数器(AC)的值设置为0;
<3> 保持DDRAM的内容不变
3、模式设置指令:
I/D 0=写入新数据后光标左移 1=写入新数据后光标右移
S 0=写入新数据后显示屏不移动 1=写入新数据后显示屏整体右移1个字
4、显示开关控制指令:
D 0=显示功能关 1=显示功能开
C 0=无光标 1=有光标
B 0=光标闪烁 1=光标不闪烁
5、设定显示屏或光标移动方向指令:
S/C R/L 设定情况
0 0 光标左移1格,且AC值减1
0 1 光标右移1格,且AC值加1
1 0 显示器上字符全部左移一格,但光标不动
1 1 显示器上字符全部右移一格,但光标不动
6、功能设定指令:
DL 0=数据总线为4位 1=数据总线为8位
N 0=显示1行 1=显示2行
F 0=5×7点阵/每字符 1=5×10点阵/每字符
7、设定CGRAM地址指令:
8、设定DDRAM地址指令:
D7为1 : 1000 0000即0x80
所以送地址时应0x80+地址,或80H+地址;
9、读忙信号或AC地址指令:
功能:<1> 读取忙碌信号BF的内容,FB=1 表示液晶显示器忙,暂时无法接收单片机送来的数据或指令;
FB=0 液晶显示器可以接收单片机送来的数据或指令;
<2> 读取地址计数器(AC)的内容。
10、数据写入DDRAM或CGRAM指令一览:
功能:<1> 将字符码写入DDRAM,以使液晶显示屏显示出相对应的字符;
<2> 将使用者自己设计的图形存入CGRAM。
11、从CGRAM或DDRAM读出数据的指令一览:
功能:读取DDRAM或CGRAM中的内容。
基本操作时序:
RS | RW | 操作说明 |
0 | 0 | 写入指令码D0~D7 |
0 | 1 | 读取输出的D0~D7状态字 |
1 | 0 | 写入数据D0~D7 |
1 | 1 | 从D0~D7读取数据 |
注:写指令和写数据时,需要下降沿脉冲,先初始化EN=0, 然后置EN=1 ;再置En=0 ;
读状态字时,D7=1 禁止读写操作
D7=0 允许读写操作
对控制器每次读写操作前,必须进行读写检测(即读忙子程序)。
LCD1602的一些常用指令集:
0x38 | 设置16×2显示,5×7点阵,8位数据接口 |
0x01 | 清屏 |
0x0F | 开显示,显示光标,光标闪烁 |
0x08 | 关显示 |
0x0e | 开显示,显示光标,光标不闪烁 |
0x0C | 开显示,不显示光标 |
0x06 | 地址加1,当写入数据的时候光标右移 |
0x02 | 地址计数器AC=0(此时地址为0x80),光标归原点,DDRAM中断内容不变 |
0x18 | 光标和显示屏一起向左移动 |
标签:ddr 调整 body stm32 相关 strong vss 无法 脉冲
原文地址:http://www.cnblogs.com/zwdly/p/7625641.html