个人应用1602总结_第1页
个人应用1602总结_第2页
个人应用1602总结_第3页
个人应用1602总结_第4页
个人应用1602总结_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1602 芯片总结芯片总结 1 引脚功能 引脚功能 管脚号 符号 功 能 1 Vss 电源地 GND 2 Vdd 电源电压 5V 3 V0LCD 驱动电压 可调 用于调节显示对比度 可用10K电位器调节 4 RS寄存器选择输入端 RS 0 当MPU 进行写模块操作 指向指令寄存器 RS 1 无论MPU 读操作还是写操作 均指向数据寄存器 5 R W读写控制输入端 输入MPU 选择读 写模块操作信号 R W 0 读操作 R W 1 写操作 当RS 0 RW 0可以写入指令或者显示地址 当RS 0 RW 1时可以读忙信号 当RS 1 RW 0可以写入数据 6 E使能信号输入端 输入MPU 读 写模块操作使能信号 读操作时 高电平有效 写操作时 下降沿有效 下降沿执行命令 7 14DB0 7双向数据输入 输出口 MPU 与模块之间的数据传送通道 15A背光 5V 16K背光0v 2 寄存器寄存器 控制器主要由指令寄存器 IR 数据寄存器DR 忙标志BF 地址计数器AC DDRAM CGROM CGRAM 以及时序发生电路组成 1 指令寄存器 IR 和数据寄存器 DR 本模块内部具有两个 8 位寄存器 指令寄存器 IR 和地址寄存器 DR 用户可以通过RS 和R W 输入信号的组合选择指定的寄存器 进行相应的操作 下表中列出了组合选择方式 指令寄存器IR 内部存储DDRAM 和CGRAM 中的数据显示的指令代码和地址信息 只能由MPU 对其执行写操 作 数据寄存器DR 内部暂时存储MPU 与模块内部DDRAM 和CGRAM 之间的传送数据 内部操作使DR 与 DDRAM 或者CGRAM 之间的数据传送自动进行 2 忙标志位 BF 忙标志BF 1 时 表明模块正在进行内部操作 此时不接受任何外部指令和数据 当RS 0 R W 1 以及E 为高电平时 BF 输出到DB7 每次操作之前最好先进行状态字检测 只有在确认BF 0 之后 MPU 才能访问模块 3 地址计数器 AC AC 地址计数器是DDRAM 或者CGRAM 的地址指针 随着IR 中指令码的写入 指令码中携带的地 址信息自动送入AC 中 并行做出AC 作为DDRAM 的地址指针还是CGRAM 的地址指针的选择 AC 具有自动加1 或者减1 的功能 当DR 与DDRAM 或者CGRAM 之间完成一次数据传送后 AC 自动会加1 或减1 在RS 0 R W 1 且E 为高电平时 AC 的内容送到DB6 DB0 4 显示数据寄存器 DDRAM DDRAM 存储显示字符的字符码 其容量的大小决定着模块最多可显示的字符数目 DDRAM 地址与 LCD 显示屏上的显示位置的对应关系如下 执行显示移位操作时 对应的DDRAM 地址也发生移位 以每行16 个字符的显示为例 移位前后的地 址对应关系如下 左移一位 在 CGROM 中 模块已经以8 位二进制数的形式 生成了5X8 点阵的字符字模组字符字模 一个字符对应 一组字模 字符字模是与显示字符点阵相对应的8X8 矩阵位图数据 与点阵行相对应的矩阵行的高三位为 0 同时每一组字符字模都有一个由其在CGROM 中存放地址的高八位数据组成的字符码对应 就单屏结构的模块而言 字符码地址范围为00H FFH 其中00H 07H 字符码与用户在CGRAM 中生成的自定 义图形字符的字模组相对应 至于双屏或者多屏结构的模块 由于各显示屏结构部分的工作分别由独立的使能信 号E 控制 因而各结构部分间字符的发生互不影响 每一显示屏结构部分的字符码地址范围为00H FFH 其中 00H 07H 字符码与用户在CGRAM 中生成的自定义图形字符的字模组相对应 5 字符发生器 RAM 在CGRAM 中 用户可以生成自定义图形字符的字模组 就单屏结构的模块而言 可以生成5 8 点阵的字符 字模8 组 相对应的字符码从CGROM 的00H 07H 范围内选择 至于双屏或者多屏结构的模块 由于各显示屏结 构部分的工作分别由独立的使能信号E 控制 因而各结构部分间字符的发生互不影响 对于每一显示屏结构部分 可以生成5 8 点阵的字符字模8 组 相对应的字符码从本结构部分中CGROM的00H 07H 范围内选择 3 控制字 控制字 它的读写操作 屏幕和光标的操作都是通过指令编程来实现的 说明 1为高电平 0为低电平 指令1 Clear display 清显示 将空位字符码20H 送入全部DDRAM 地址中 使DDRAM 中的内容全部清除 显示消失 地址计数器 AC 0 自动增1 模式 显示归位 光标或者闪烁回到原点 显示屏左上角 但并不改变移位设置模式 指令2 Return home 归位 归位指令置地址计数器AC 0 将光标及光标所在位的字符回原点 但DDRAM 中的内容并不改变 指令3 Entry mode set 设置输入模式 I D 字符码写入或者读出DDRAM 后DDRAM 地址指针AC 变化方向标志 I D 1 完成一个字符码传送后 AC 自动加1 右移 I D 0 完成一个字符码传送后 AC 自动减1 左移 S 显示移位标志 S 1 将全部显示向右 I D 0 或者向左 I D 1 移位 S 0 显示不发生移位 指令4 Display on off control 显示开 关控制 D 显示开 关控制标志 D 1 开显示 D 0 关显示 关显示后 显示数据仍保持在DDRAM 中 立即开显示可以再现 C 光标显示控制标志 C 1 光标显示 C 0 光标不显示 B 闪烁显示控制标志 B 1 光标所指位置上 交替显示全黑点阵和显示字符 产生闪烁效果 Fosc 250kHz 时 闪烁频率为0 4ms 左右 通过设置 光标可以与其所指位置的字符一起闪烁 指令5 Cursor or display shift 光标或显示移位 光标或显示移位指令可使光标或显示在没有读写显示数据的情况下 向左或向右移动 运用此指令可以实现 显示的查找或替换 在双行显示方式下 第一行和第二行会同时移位 当移位越过第一行第四十位时 光标会从 第一行跳到第二行 但显示数据只在本行内水平移位 第二行的显示决不会移进第一行 倘若仅执行移位操作 地址计数器AC 的内容不会发生改变 指令6 Function set 功能设置 功能设置指令设置模块数据接口宽度和LCD 显示屏显示方式 即MPU 与模块接口数据总线为4 位或者是8 位 LCD 显示行数和显示字符点阵规格 所以建议用户最好在执行其它指令设置 读忙标志指令除外之前 在程 序的开始 进行功能设置指令的执行 DL 数据接口宽度标志 DL 1 8 位数据总线DB7 DB0 DL 0 4 位数据总线DB7 DB4 DB3 DB0 不用 使用此方式传送数据 需分两次进行 N 显示行数标志 F 显示字符点阵字体标志 指令7 Set CGRAM address CGRAM 地址设置 CGRAM 地址设置指令设置CGRAM 地址指针 它将CGRAM 存储用户自定义显示字符的字模数据的首地址 ACG5 ACG0 送入AC 中 于是用户自定义字符字模就可以写入CGRAM 中或者从CGRAM 中读出 指令8 Set DDRAM address DDRAM 地址设置 DDRAM 地址设置指令设置DDRAM 地址指针 它将DDRAM 存储显示字符的字符码的首地址ADD6 ADD0 送入AC 中 于是显示字符的字符码就可以写入DDRAM 中或者从DDRAM 中读出 值得一提的是 在 LCD 显 示屏一行显示方式下 DDRAM 的地址范围为 00H 4FH 两行显示方式下 DDRAM 的地址范围为 第一行 00H 27H 第二行40H 67H 指令9 Read busy flag and address 读忙标志BF 和AC 当RS 0 和R W 1 时 在E 信号高电平的作用下 BF 和AC6 AC0 被读到数据总线DB7 DB0 的相应位 BF 内部操作忙标志 BF 1 表示模块正在进行内部操作 此时模块不接收任何外部指令和数据 直到BF 0 为止 AC6 AC0 地址计数器AC 内的当前内容 由于地址计数器AC 被CGROM CGRAM 和DDRAM 的公用指 针 因此当前AC 内容所指区域由前一条指令操作区域决定 同时 只有BF 0 时 送到DB7 DB0 的数据 AC6 AC0 才有效 指令10 Write data to CGRAM or DDRAM 写数据到CGRAM 或DDRAM 写数据到CGRAM 或DDRAM 指令 是将用户自定义字符的字模数据写到已经设置好的CGRAM 的地址中 或者是将欲显示字符的字符码写到DDRAM 中 欲写入的数据D7 D0 首先暂存在DR 中 再由模块的内部操作自 动写入地址指针所指定的CGRAM 单元或者DDRAM 单元中 指令11 Read data from CGRAM or DDRAM 从CGRAM 或DDRAM 中读数据 从CGRAM 或DDRAM 中读数据指令 是从地址计数器AC 指定的CGRAM 或者DDRAM 单元中 读出 数据D7 D0 读出的数据D7 D0 暂存在DR 中 再由模块的内部操作送到数据总线DB7 DB0 上 需要 注意的是 在读数据之前 应先通过地址计数器AC 正确指定读取单元的地址 4 内部复位电路初始化内部复位电路初始化 1602 模块设有内部复位电路 上电后 当电源电压超过 4 5v 时 自动对模块进行初始化 此期间 忙标志 BF 1 直到初始化结束后 忙标志BF 才为0 初始化大约持续10ms 左右 上电复位初始化 对模块进行了下列指令的操作 1 清显示 2 功能设置 DL 1 8 位数据接口 N 0 一行显示 F 0 5X8 点阵字符字体 3 显示开 关控制 D 0 关显示 C 0 不显示光标 B 0 关闪烁 4 输入模式设置 I D 1 AC 自动加1 S 0 不移位 需要说明的是 倘若供电电源达不到要求 模块内部复位电路非正常操作 上电复位初始化就会失败 此时 建 议用户通过指令设置对模块进行初始化 液晶显示模块是一个慢显示器件 所以在执行每条指令之前一定要确认模块的忙标志为低电平 表示不忙 否则 此指令失效 要显示字符时要先输入显示字符地址 也就是告诉模块在哪里显示字符 下表是DM 162的内部显示 地址 比如第二行第一个字符的地址是比如第二行第一个字符的地址是40H40H 那么是否直接写入 那么是否直接写入40H40H就可以将光标定位在第二行第一个字符的位置呢 就可以将光标定位在第二行第一个字符的位置呢 这样不行 因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B 40H 10000000B 80H 11000000B C0H 下图为1602与单片机相连示意图 5 调试总结 调试总结 以下全是双行显示 单行显示 DDRAM 00H 3FH 1 1602 上下两行 每行最多 16 个字符 多余无效 上半部分为 0 行 下半部分为 1 行 RAM 显示缓存区为 2 40 字节存储空间 0 行 00h 27h 1 行 40h 67h 2 输入设置命令字 shiftl or shiftr 为写入位移一体完成 故写入和位移为一个参数控制 故位移距离 写入长 度 要大于数据的长度 3 屏幕滚动 lcd runr 或 lcd runl 不会改变 AC DDRAM 的值 上下两行 40 字节 同时移动 即左右移动 40 长度 循环回滚动回原位 4 光标移动 lcd cursorr 或 lcd cursorr 会改变 AC 值 其移动顺序如下图 光标移动芯片换行 每行 40 字节 故光标移动回原来位置需要移动 80 个字节 光标换行移动 40 字节 光标移动 配合字符或字符串的写入 可以实现对 DDRAM 任意位置的查找 修改 注 查询功能由于读指令不太好使 所以读取数据要从输入字模直接获得 5 自定义字符 CGRAM 查看 LCD1602 的 CGROM 字符代码表 发现 从 00000000B 00000111B 00H 07H 地址 的内容是没有定义的 它是留给用户自己定义的 用户可以通过先定义 LCD1602 的 CGRAM 中的内容 然后就可以 同调用 CGROM 字符一样来调用自定义好的字符 自定义字符为 5 8 大小的字模 字模按逐行式 顺序 阴码生成 字模 高 3 位无效 设置成 000 低 5 位为字模每行真正的图像 故一个 5 8 字符占用 8 8 个点阵 8 字节

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论