标签: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