欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    1602液晶显示 毕业论文.doc

    • 资源ID:25829       资源大小:490.50KB        全文页数:15页
    • 资源格式: DOC        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    1602液晶显示 毕业论文.doc

    1602 字符液晶 目录 简介 管脚功能 字符集 显示地址 指令集 简 介 工 业 字 符 型 液 晶 , 能 够 同 时 显 示 16x02 即 32 个 字 符 。 ( 16 列 2 行 ) 注 : 为 了 表 示 的 方 便 , 后 文 皆 以 1 表 示 高 电 平 , 0 表 示 低 电 平 。 管 脚 功 能 引 脚 说 明 1602 字 符 型 LCD 通 常 有 14 条 引 脚 线 或 16 条 引 脚 线 的 LCD, 多 出 来 的 2 条 线 是 背 光 电 源 线 VCC(15 脚 )和 地 线 GND(16 脚 ), 其 控 制 原 理 与 14 脚 的 LCD 完 全 一 样 , 其 中 : 引脚 符号 功能说明 1 VSS 一般接地 2 VDD 接电源(+5V) 3 V0 液晶显示器对比度调整端,接正电源时对比度最弱,接地电 源时对比度最高(对比度过高时会产生“鬼影”,使用时可 以通过一个 10K 的电位器调整对比度)。 4 RS RS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0 时 选择指令寄存器。 5 R/W R/W 为读写信号线,高电平(1)时进行读操作,低电平(0)时进 行写操作。 6 E E(或 EN)端为使能(enable)端,下降沿使能。 7 DB0 底 4 位三态、 双向数据总线 0 位(最低位) 8 DB1 底 4 位三态、 双向数据总线 1 位 9 DB2 底 4 位三态、 双向数据总线 2 位 10 DB3 底 4 位三态、 双向数据总线 3 位 11 DB4 高 4 位三态、 双向数据总线 4 位 12 DB5 高 4 位三态、 双向数据总线 5 位 13 DB6 高 4 位三态、 双向数据总线 6 位 14 DB7 高 4 位三态、 双向数据总线 7 位(最高位)(也是 busy fl ag) 15 BLA 背光电源正极 16 BLK 背光 电源负极 寄 存 器 选 择 控 制 表 RS R/W 操作说明 0 0 写入指令寄存器(清除屏等) 0 1 读 busy flag(DB7),以及读取位址计数器(DB0DB6)值 1 0 写入数据寄存器(显示各字型等) 1 1 从数据寄存器读取数据 注 : 关 于 E=H 脉 冲 开 始 时 初 始 化 E 为 0, 然 后 置 E 为 1, 再 清 0. busy flag( DB7) : 在 此 位 为 被 清 除 为 0 时 , LCD 将 无 法 再 处 理 其 他 的 指 令 要 求 。 字 符 集 1602 液 晶 模 块 内 部 的 字 符 发 生 存 储 器 ( CGROM)已 经 存 储 了 160 个 不 同 的 点 阵 字 符 图 形 , 这 些 字 符 有 : 阿 拉 伯 数 字 、 英 文 字 母 的 大 小 写 、 常 用 的 符 号 、 和 日 文 假 名 等 , 每 一 个 字 符 都 有 一 个 固 定 的 代 码 , 比 如 大 写 的 英 文 字 母 “A”的 代 码 是 01000001B( 41H) , 显 示 时 模 块 把 地 址 41H 中 的 点 阵 字 符 图 形 显 示 出 来 , 我 们 就 能 看 到 字 母 “A”。 因 为 1602 识 别 的 是 ASCII 码 , 试 验 可 以 用 ASCII 码 直 接 赋 值 , 在 单 片 机 编 程 中 还 可 以 用 字 符 型 常 量 或 变 量 赋 值 , 如 'A。 以 下 是 1602 的 16 进 制 ASCII 码 表 : ( 图 片 打 开 是 大 图 ) 读 的 时 候 , 先 读 上 面 那 列 , 再 读 左 边 那 行 , 如 : 感 叹 号 ! 的 ASCII 为 0x21, 字 母 B 的 ASCII 为 0x42( 前 面 加 0x 表 示 十 六 进 制 ) 。 显 示 地 址 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 00 H 01 H 02 H 03 H 04 H 05 H 06 H 07 H 08 H 09 H 0A H 0B H 0C H 0D H 0E H 0F H 40 H 41 H 42 H 43 H 44 H 45 H 46 H 47 H 48 H 49 H 4A H 4B H 4C H 4D H 4E H 4F H 指 令 集 1602 通 过 D0D7 的 8 位 数 据 端 传 输 数 据 和 指 令 。 显 示 模 式 设 置 : (初 始 化 ) 0011 1000 0x38 设 置 16×2 显 示 , 5×7 点 阵 , 8 位 数 据 接 口 ; 显 示 开 关 及 光 标 设 置 : (初 始 化 ) 0000 1DCB D 显 示 (1 有 效 )、 C 光 标 显 示 (1 有 效 )、 B 光 标 闪 烁 (1 有 效 ) 0000 01NS N=1(读 或 写 一 个 字 符 后 地 址 指 针 加 1 光标归位,即将光标撤回液晶显示屏的左上方; 将地址计数器(AC)的值设为 0。 2.光标归位指令 功能: 把光标撤回到显示器的左上方; 把地址计数器(AC)的值设置为 0; 保持 DDRAM 的内容不变。 3.进入模式设置指令 功能:设定每次定入 1 位数据后光标的移位方向,并且设定每次写入的一个字符是否移动。参数设定的 情况如下所示: 位名 设置 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 地址指令 功能:设定下一个要存入数据的 CGRAM 的地址。 8.设定 DDRAM 地址指令 功能:设定下一个要存入数据的 CGRAM 的地址。 9.读取忙信号或 AC 地址指令 功能: 读取忙碌信号 BF 的内容,BF=1 表示液晶显示器忙,暂时无法接收单片机送来的数据或指令; 当 BF=0 时,液晶显示器可以接收单片机送来的数据或指令; 读取地址计数器(AC)的内容。 10.数据写入 DDRAM 或 CGRAM 指令一览 功能: 将字符码写入 DDRAM,以使液晶显示屏显示出相对应的字符; 将使用者自己设计的图形存入 CGRAM。 11.从 CGRAM 或 DDRAM 读出数据的指令一览 功能:读取 DDRAM 或 CGRAM 中的内容。 基本操作时序: 读状态 输入:RS=L,RW=H,E=H 输出:DB0DB7=状态字 写指令 输入:RS=L,RW=L,E=下降沿脉冲,DB0DB7=指令码 输出:无 读数据 输入:RS=H,RW=H,E=H 输出:DB0DB7=数据 写数据 输入:RS=H,RW=L,E=下降沿脉冲,DB0DB7=数据 输出:无 看了那么多是不是有些晕?我也是啊,不过慢慢理解还是没问题的。 实际上面说了那么多具体怎么操作我还是没会啊?好!咱就简单点。 举个实例,就在 LCD1602 屏幕上第一行第一列显示个“A”字。 1.先初始化。(老大!好像上面没初始化这条指令啊!) 先别拿东西扔我,说明书上是这么说的。也就先写入些指令。 /先定义接口 # include /* P1-DB0DB7 P2.0-RS P2.1-RW P2.2-E */ # define LCD_DB P1 sbit LCD_RS=P20; sbit LCD_RW=P21; sbit LCD_E=P22; /*定义函数*/ # define uchar unsigned char # define uint unsigned int void LCD_init(void);/初始化函数 void LCD_write_command(uchar command);/写指令函数 void LCD_write_data(uchar dat);/写数据函数 void LCD_disp_char(uchar x,uchar y,uchar dat);/在某个屏幕位置上显示一个字符,X(0-16),y(1-2) /void LCD_check_busy(void);/检查忙函数。我没用到此函数,因为通过率极低。 void delay_n40us(uint n);/延时函数 /* /*初始化函数* void LCD_init(void) LCD_write_command(0x38);/设置 8 位格式,2 行,5x7 LCD_write_command(0x0c);/整体显示,关光标,不闪烁 LCD_write_command(0x06);/设定输入方式,增量不移位 LCD_write_command(0x01);/清除屏幕显示 delay_n40us(100);/实践证明,我的 LCD1602 上,用 for 循环 200 次就能可靠完成清屏指令。 /* /*写指令函数* void LCD_write_command(uchar dat) LCD_DB=dat; LCD_RS=0;/指令 LCD_RW=0;/写入 LCD_E=1;/允许 LCD_E=0; delay_n40us(1);/实践证明,我的 LCD1602 上,用 for 循环 1 次就能完成普通写指令。 /* /*写数据函数* void LCD_write_data(uchar dat) LCD_DB=dat; LCD_RS=1;/数据 LCD_RW=0;/写入 LCD_E=1;/允许 LCD_E=0; delay_n40us(1); /* /*显示一个字符函数* void LCD_disp_char(uchar x,uchar y,uchar dat) uchar address; if(y=1) address=0x80+x; else address=0xc0+x; LCD_write_command(address); LCD_write_data(dat); /* /*检查忙函数* void LCD_check_busy() /实践证明,在我的 LCD1602 上,检查忙指令通过率极低,以 /至于不能正常使用 LCD。因此我没有再用检查忙函数。而使 do /用了延时的方法,延时还是非常好用的。我试了一下,用 LCD_E=0; /for 循环作延时,普通指令只要 1 次循就可完成。清屏指令 LCD_RS=0; /要用 200 次循环便能完成。 LCD_RW=1; LCD_DB=0xff; LCD_E=1; while(LCD_DB7=1); */ /*延时函数* void delay_n40us(uint n) uint i; uchar j; for(i=n;i0;i-) for(j=0;j2;j+); /在这个延时循环函数中我只做了 2 次循环, /实践证明我的 LCD1602 上普通的指令只需 1 次循环就能可靠完成。 /* /*主函数* void main(void) LCD_init(); LCD_disp_char(0,1,“A“); while(1); /*

    注意事项

    本文(1602液晶显示 毕业论文.doc)为本站会员(小小飞)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开