欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    1602中文资料.docx

    • 资源ID:801285       资源大小:119.11KB        全文页数:29页
    • 资源格式: DOCX        下载积分:7金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要7金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    1602中文资料.docx

    1602中文资料 1602采用标准的16脚接口,其中:第1脚:VSS为地电源第2脚:VDD接5V正电源第3脚:Vo为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高, 对比度过高时会产生“鬼影”,使用时可以通过一个IOK的电位器调整对比度第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共 同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号, 当RS为高电平RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:DOD7为8位双向数据线。第1516脚:空脚1602液晶模块内部的字符发生存储器(CGROM )已经存储了 160个不同的点阵字符图 形,如表1所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假 名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是OIOOOOOlB(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”表13-4 CGROM和CGRAM中字符代码与字符图形对应关系位000000101101000101OllOOlll10101011IlOO11011110Hll××××0000CGRAM (1)09PP夕三P××× XOOOl(2)1AQq口T十aq××× XOOlO(3)2BRbr川6××× XOOH(4)U3CSCSJJeCOO×× × ×0100(5)$4DTdtX卜××××0101(6)%5EUeU口才tB0××××0I10(7)&6FVfVT力二3P××× XOlll(8)>7GW8W7X=>8x×× ××1000(1)(8HXhX*UJX× ×× XlOOl<2)9IYiy力J-1y×× × XlOlO(3)tJZiZXVj千×× XXlOll(4)+IKCk(才tOX万××××1100<5)7<L¥1I77QA× × XXllOl(6)Mm)JLXy*+××××1110(7)>N*n3八n××××n(8)/?O一O7-7D61602液晶模块内部的控制器共有11条控制指令,如表2所示, 表 指令表指令RSR/WD7D6D5D4D3D2DlDOI清显示000000000I2光标返回000000001置输入模式00000001I/DSU显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*.6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址(AGG)S置数据存贮器地址001显示屐据存七藉地址(ADD)J读忙标志或地址01BF计数器地址(AC)P写数到CGRAM或DDRAM10要写的数,/从CGRAM或DDRAM读数11读出的数据它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1 :清显示,指令码01H,光标复位到地址OOH位置指令2 :光标复位,光标返回到地址OOH 指令3 :光标和显示模式设置I/D :光标移动方向,高电平右移,低电平左移S:屏幕上所有 文字是否左移或者右移。高电平表示有效,低电平则无效指令4 :显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显 示C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁, 高电平闪烁,低电平不闪烁指令5 :光标或显示移位S/C :高电平时移动显示的文字,低电平时移动光标指令6 :功能设置命令DL :高电平时为4位总线,低电平时为8位总线N:低电平时为单 行显示,高电平时双行显示F:低电平时显示5x7的点阵字符,高电平时显示5x10的点阵 字符指令7 :字符发生器RAM地址设置指令8 : DDRAM地址设置指令9 :读忙信号和光标地址BF :为忙标志位,高电平表示忙,此时模块不能接收命令或 者数据,如果为低电平表示不忙。指令10:写数据指令11 :读数据DM-162液晶显示模块可以和单片机AT89C51直接接口,电路如图所示。AT89C51DMT62液晶模块液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电 平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在 哪里显示字符,表3是DM-162的内部显示地址.12345 6 7 8 910 Il 121314 151600010203040506070809OAOBOCODOEOF第一行404142434445464748494A4B4C4D4E4F第二行比如第二行第一个字符的地址是40H ,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是 C)IOOOOOoB ( 40H ) +10000000B(80H)=11000000B(C0H)以下是在液晶模块的第二行第一个字符的位置显示字母“A”的程序:ORG OOOOHRS EQU P3.7;确定具体硬件的连接方式RW EQU P3.6 ;确定具体硬件的连接方式E EQU P3.5 ;确定具体硬件的连接方式MOV P1 ,#00000001B ;清屏并光标复位ACALL ENABLE;调用写入命令子程序MOV P1,#00111OOOB ;设置显示模式:8位2行5x7点阵ACALL ENABLE ;调用写入命令子程序MOV P1,#00001111B ;显示器开、光标开、光标允许闪烁ACALL ENABLE ;调用写入命令子程序MOV P1,#0000011OB ;文字不动,光标自动右移ACALL ENABLE ;调用写入命令子程序MOV P1,#0C0H ;写入显示起始地址(第二行第一个位置)ACALL ENABLE ;调用写入命令子程序MOV P1,#01000001B ;字母 A 的代码SETB RS ; RS=ICLR RW ; RW=O ;准备写入数据CLR E ; E=O;执行显示命令ACALL DELA丫 ;判断液晶模块是否忙?SETB E ; E=1 ;显示完成,程序停车AJMP $ENABLE:CLR RS ;写入控制命令的子程序CLR RWCLR EACALL DELAYSETBERETDELAY:MOVP1,#OFFH ;判断液晶显示器是否忙的子程序CLR RSSETB RWCLR ENOPSETBEJB P1.7,DELAY ;如果P1.7为高电平表示忙就循环等待RETEND程序在开始时对液晶模块功能进行了初始化设置,约定了显示格式。注意显示字符时光标是自动右移的,无需人工干预,每次输入指令都先调用判断液晶模块是否忙的子程序DELAY ,然后输入显示位置的地址OCOH ,最后输入要显示的字符A的代码41H。1602液晶仿真的一些发现看了 JJJ的例子:字符液晶1602仿真;则试按自己习惯也写了个,发现些问题JJJ说仿真时要屏蔽掉检查LCD忙的代码,否则会死循环WhiIe(DBPort&0x80);这句要屏蔽我写的程序总是无法正确仿真,因为不检查LCD忙,就不能保证LCD已经空闲查资料LCD清屏命令要1.64ms才完成,一般命令也要40us,最后加上足够的延时后才仿真通过后来又试了下其它LCD资料上的例程,仿真发现检查LCD忙标志也不会死循环分析了下,区别是:它不是一直在使能的情况下读忙信号,而是每次都有EN=O,再EN=I重新读取忙标志 我还没做好实际实验电路板,没试过实际电路根据JJJ的描述和我的仿真实验,我猜仿真和实际硬件的区别是:实际硬件在EN=I的情况FzLCD执行完指令会更新LCD忙标志为0;而仿真需要EN=O,EN=I来重新读取忙信号,否则就不会更新,而一直以为是忙在JJJ的LCD1602.h加了几句,变成VVhiIe(DBPort&0x80) LcdEn=O; _nop_();LcdEn=I; _nop_();仿真就可以检查忙标志了自己的代码也做相应改动,都可以成功检查忙标志,也无需多加延时了在包含文件出里定义函数实体,则keil调试时会出现莫名其秒的问题:在主程序.c里,执行”运行到指定行”,可能实际是执行到了.H里的函数所生成的代码,有点混乱暂停时,光标所指的行未必真是当前正在执行的,总之比较乱所以我把函数定义实体另放在一个c里,使用时添加到工程里,而.h只有函数声明和主程序需要用的常量定 义zu、还有一个奇怪的问题:执行命令0x05,输入方式设置为字符右移,光标不动时,仿真总是无法正常显示其它输入方式都正常!在液晶屏上显示一个字母A液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统 中得到越来越广泛的应用。这里介绍的字符型液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为 1行16个字、2行16个字、2行20个字等等,这里以常用的2行16个字的DM-162液晶模块来介绍它 的编程方法。DM-162采用标准的14脚接口,其中VSS为地电源,VDD接5V正电源,VO为液晶显示器对比度调整 端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个 IoK的电位器调整对比度。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。RW 为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平

    注意事项

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

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开