第九讲 1602LCD DS1302 24C08器件的编程.ppt_第1页
第九讲 1602LCD DS1302 24C08器件的编程.ppt_第2页
第九讲 1602LCD DS1302 24C08器件的编程.ppt_第3页
第九讲 1602LCD DS1302 24C08器件的编程.ppt_第4页
第九讲 1602LCD DS1302 24C08器件的编程.ppt_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1602液晶 LCD 什么是1602LCD液晶 1602液晶也叫1602字符型液晶它是一种专门用来显示字母 数字 符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成 每个点阵字符位都可以显示一个字符 每位之间有一个点距的间隔每行之间也有也有间隔起到了字符间距和行间距的作用 正因为如此所以他不能显示图形 用自定义CGRAM 显示效果也不好 1602LCD是指显示的内容为16X2 即可以显示两行 每行16个字符液晶模块 显示字符和数字 目前市面上字符液晶绝大多数是基于HD44780液晶芯片的 控制原理是完全相同的 因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶 1602LCD的特性 5V电压 对比度可调内含复位电路提供各种控制命令 如 清屏 字符闪烁 光标闪烁 显示移位等多种功能有80字节显示数据存储器DDRAM内建有160个5X7点阵的字型的字符发生器CGROM8个可由用户自定义的5X7的字符发生器CGRAM 字符型LCD1602通常有14条引脚线或16条引脚线的LCD 多出来的2条线是背光电源线VCC 15脚 和地线GND 16脚 锐志开发板液晶接口 HD44780内置了DDRAM 显示数据存储RAM CGROM 字符存储ROM 和CGRAM 用户自定义RAM DDRAM就是显示数据RAM 用来寄存待显示的字符代码 共80个字节 其地址和屏幕的对应关系如下表 也就是说想要在LCD1602屏幕的第一行第一列显示一个 A 字 就要向DDRAM的00H地址写入 A 的代码就行了 但具体的写入是要按LCD模块的指令格式来进行的 后面我会讲到的 一行有40个地址在1602中我们就用前16个就行了 第二行也一样用前16个地址 对应如下 DDRAM地址与显示位置的对应关系 我们往DDRAM里的00H地址处送一个数据 譬如0 x31 数字1的代码 并不能显示1出来 这是令初学者很容易出错的地方 原因就是如果你要想在DDRAM的00H地址处显示数据 则必须将00H加上80H 即0X80 0 x00 若要在DDRAM的01H处显示数据 则必须将01H加上80H即0X80 0 x01 依次类推 一会讲控制指令的的第8条DDRAM地址的设定时 你就可以明白了 1602液晶模块内部的字符发生存储器 CGROM 已经存储了160个不同的点阵字符图形 如下表所示 这些字符有 阿拉伯数字 英文字母的大小写 常用的符号 和日文假名等 每一个字符都有一个固定的代码 比如大写的英文字母 A 的代码是01000001B 41H 显示时模块把地址41H中的点阵字符图形显示出来 我们就能看到字母 A 上表中的字符代码与我们PC中的字符代码是基本一致的 因此我们在向DDRAM写C51字符代码程序时甚至可以直接用P1 A 这样的方法 PC在编译时就把 A 先转为41H代码了 字符代码0 x00 0 x0F为用户自定义的字符图形RAM 对于5X8点阵的字符 可以存放8组 就是CGRAM了 后面我会详细说的 对DDRAM的内容和地址操作 HD44780的指令集及其设置说明 共有11条指令 基本操作时序 读状态输入 RS L RW H E H输出 DB0 DB7 状态字写指令输入 RS L RW L E 下降沿脉冲 DB0 DB7 指令码输出 无读数据输入 RS H RW H E H输出 DB0 DB7 数据写数据输入 RS H RW L E 下降沿脉冲 DB0 DB7 数据输出 无1 清屏指令 功能 清除液晶显示器 即将DDRAM的内容全部填入 空白 的字符码20H 光标归位 即将光标撤回液晶显示屏的左上方 将地址计数器 AC 的值设为0 2 光标归位指令 功能 把光标撤回到显示器的左上方 把地址计数器 AC 的值设置为0 保持DDRAM的内容不变 3 输入模式设置指令 功能 设定每次写入1位数据后光标的移位方向 并且设定每次写入的一个字符是否移动 参数设定的情况如下所示 位名设置I D0 写入新数据后光标左移1 写入新数据后光标右移S0 写入新数据后显示屏不移动1 写入新数据后显示屏整体右移1个字 4 显示开关控制指令 功能 控制显示器开 关 光标显示 关闭以及光标是否闪烁 参数设定的情况如下 位名设置D0 显示功能关1 显示功能开C0 无光标1 有光标B0 光标不闪烁1 光标闪烁 5 设定显示屏或光标移动方向指令 功能 使光标移位或使整个显示屏幕移位 参数设定的情况如下 S CR L设定情况00光标左移1格 且AC值减101光标右移1格 且AC值加110显示器上字符全部左移一格 但光标不动11显示器上字符全部右移一格 但光标不动 6 功能设定指令 非常重要的指令 功能 设定数据总线位数 显示的行数及字型 参数设定的情况如下 位名设置DL0 数据总线为4位1 数据总线为8位N0 显示1行1 显示2行F0 5 7点阵 每字符1 5 10点阵 每字符 7 设定CGRAM地址指令 功能 设定下一个要存入数据的CGRAM的地址 8 设定DDRAM地址指令 功能 设定下一个要存入数据的CGRAM的地址 注意这里我们送地址的时候应该是0 x80 Address 这也是前面说到写地址命令的时候要加上0 x80的原因 9 读取忙信号或AC地址指令 功能 读取忙碌信号BF的内容 BF 1表示液晶显示器忙 暂时无法接收单片机送来的数据或指令 当BF 0时 液晶显示器可以接收单片机送来的数据或指令 读取地址计数器 AC 的内容 10 数据写入DDRAM或CGRAM指令 功能 将字符码写入DDRAM 以使液晶显示屏显示出相对应的字符 将用户自己设计的图形存入CGRAM 11 从CGRAM或DDRAM读出数据的指令 功能 读取DDRAM或CGRAM中的内容 基本操作时序 读状态输入 RS L RW H E H输出 DB0 DB7 状态字写指令输入 RS L RW L E 下降沿脉冲 DB0 DB7 指令码输出 无读数据输入 RS H RW H E H输出 DB0 DB7 数据写数据输入 RS H RW L E 下降沿脉冲 DB0 DB7 数据输出 无 读状态输入 RS 0 RW 1 E 1读数据输入 RS 1 RW 1 E 1 写指令输入 RS 0 RW 0 E 下降沿脉冲 DB0 DB7 指令码写数据输入 RS 1 RW 0 E 下降沿脉冲 DB0 DB7 数据 如何显示一个自定义的字符我们从CGROM表上可以看到 在表的最左边是一列可以允许用户自定义的CGRAM 从上往下看着是16个 实际只有8个字节可用 它的字符码是00000000 00000111这8个地址 表的下面还有8个字节 但因为这个CGRAM的字符码规定0 2位为地址 3位无效 4 7全为零 因此CGRAM的字符码只有最后三位能用也就是8个字节了 等效为0000X111 X为无效位 最后三位为000 111共8个 如果我们要想显示这8个用户自定义的字符 操作方法和显示CGROM的一样 先设置DDRAM位置 再向DDRAM写入字符码 例如 A 就是41H 现在我们要显示CGRAM的第一个自定义字符 就向DDRAM写入00000000B 00H 如果要显示第8个就写入00000111 08H 简单吧 现在我们来看怎么向这八个自定义字符写入字模 设置CGRAM地址的指令 从这个指令可以看出指令数据的高2位已固定是01 只有后面的6位是地址数据 而这6位中的高3位就表示这八个自定义字符 最后的3位就是字模数据的八个地址了 例如第一个自定义字符的字模地址为01000000 01000111八个地址 我们向这8个字节写入字模数据 让它能显示出 地址 01000000数据 00010000图示 0100000100000110 0100001000001001 01

温馨提示

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

评论

0/150

提交评论