单片机应用系统设计与制作 教学课件 作者 肖龙 屈芳升 任务5.4 显示器接口电路的设计与制作.pptVIP

单片机应用系统设计与制作 教学课件 作者 肖龙 屈芳升 任务5.4 显示器接口电路的设计与制作.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(7) CGRAM地址设定 A0 A1 A2 A3 A4 A5 1 0 1 0 0 DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 E R/W RS 设定下一个要读写数据的CGRAM地址(A5~A0)。 (8) DDRAM地址设定 A0 A1 A2 A3 A4 A5 A6 1 1 0 0 DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 E R/W RS 设定下一个要读写数据的DDRAM地址(A6~A0)。 (9) 忙碌标志BF或AC地址读取 A0 A1 A2 A3 A4 A5 A6 BF 1 1 0 DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 E R/W RS LCD的忙碌标志BF用以指示LCD目前的工作情况,当BF=1时,表示正在做内部数据的处理,不接受MCU送来的指令或数据。当BF=0时,则表示已准备接收命令或数据。当程序读取此数据的内容时,DB7表示忙碌标志,而另外DB6~DB0的值表示CGRAM或DDRAM中的地址,至于是指向那一地址则根据最后写入的地址设定指令而定。 (10) 写数据到CGRAM或DDRAM中 1 0 1 DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 E R/W RS 先设定CGRAM或DDRAM地址,再将数据写入DB7~DB0中,以使LCD显示出字形。也可将使用者自创的图形存入CGRAM。 (11) 从CGRAM或DDRAM中读取数据 1 1 1 DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 E R/W RS 先设定CGRAM或DDRAM地址,再读取其中的数据。 6. 控制器接口时序说明(HD44780及兼容芯片) 控制LCD所使用的芯片HD44780其读写周期约为1μS左右,这与8051MCU的读写周期相当,所以很容易与MCU相互配合使用。 (1) 读操作时序,其时序图如图5-39所示。 图5-39 读操作时序图 (2)写操作时序,其时序图如图5-40所示。 图5-40写操作时序图 (3)时序参数 7. 通常推荐的初始化过程   延时15ms   写指令38H (不检测忙信号)   延时5ms   写指令38H (不检测忙信号)   延时5ms   写指令38H (不检测忙信号)   延时5ms   (以后每次写指令、读/写数据操作之前均需检测忙信号)   写指令38H:显示模式设置   写指令08H:显示关闭   写指令01H:显示清屏   写指令06H:显示光标移动设置 写指令0CH:显示开及光标设置 技能能力 5.4.3 工作任务描述 1)根据给出的图5-41,在Proteus中画出电路图;编写程序控制1602液晶模块输出显示数字和英文字符。。 2)利用Proteus的仿真功能对其进行仿真测试,观察液晶模块的显示状态。 3)根据图5-41,搭接硬件电路,进行硬件验证。 图5-41 1602液晶模块显示控制电路 4)程序范例: ; 功能:1602液晶屏第一行显示“MCU”,第二行显示“1+2=3” ;LCD 寄存器地址 LCD_CMD_WR equ 0 LCD_DATA_WR equ 1 LCD_BUSY_RD equ 2 LCD_DATA_RD equ 3 ;LCD 命令控制 LCD_CLS equ 1 LCD_HOME equ 2 LCD_SETMODE equ 4 LCD_SETVISIBLE equ 8 LCD_SHIFT equ 16 LCD_SETFUNCTION equ 32 LCD_SETCGADDR equ 64 LCD_SETDDADDR equ 128 org 0000h jmp start org 0100h string1a:db MCU db 0 string2:db 1+2=3 db 0 start: mov A,#038h call wrcmd loop: mov A,#LCD_SETVISIBLE+6 ;使能显示和光标闪烁 call wrcmd loop2: mov DPTR,#string1a call wrstr mov DPTR,#500 call wtms mov A,#LCD_SETDDADDR+64;换行 call wrcmd mov DPTR,#string2 call wrslow mov DPTR,#200 call wtms mov A,#LCD_CLS;清屏 call wrcmd mov DPTR,#6000 call wtms mov A,#LCD_CLS

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档