历史上的今天
返回首页

历史上的今天

今天是:2024年09月04日(星期三)

正在发生

2019年09月04日 | 51单片机系列知识14--1206LCD(2)

2019-09-04 来源:eefocus

2.1602LCD的指令说明


1602液晶模块内部的控制器共有11条控制指令,如表所示:

image.png?imageView2/2/w/550

控制命令表


(1)清屏指令


功能:<1> 清除液晶显示器,即将DDRAM的内容全部填入“空白”的字符码20H;


     <2> 光标归位,即将光标撤回液晶显示屏的左上方; 

     <3> 将地址计数器(AC)的值设为0。


(2)光标归位指令


功能:<1> 把光标撤回到显示器的左上方; 

      <2> 把地址计数器(AC)的值设置为0; 

      <3> 保持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的地址。 (注意这里我们送地址的时候应该是0x80+Address,这也是前面说到写地址命令的时候要加上0x80的原因) 


(9)读取忙信号或AC地址指令


功能:

<1> 读取忙碌信号BF的内容,BF=1表示液晶显示器忙,暂时无法接收单片机送来的数据或指令; 当BF=0时,液晶显示器可以接收单片机送来的数据或指令; 

<2> 读取地址计数器(AC)的内容。


3.1602LCD的RAM地址映射及标准字库表


      HD44780内置了DDRAM(显示数据存储RAM)、CGROM(字符存储ROM)和CGRAM(用户自定义RAM)。  

      DDRAM就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,其地址和屏幕的对应关系如下表:


也就是说想要在LCD1602屏幕的第一行第一列显示一个“A”字,就要向DDRAM的00H地址写入“A”的代码就行了。但具体的写入是要按LCD模块的指令格式来进行的,例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。


      一行有40个地址,在1602中我们就用前16个就行了。第二行也一样用前16个地址。对应如下: DDRAM地址与显示位置的对应关系如上图。


      1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如图10-58所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”


4.1602LCD的一般初始化(复位)过程


延时15mS


写指令38H(不检测忙信号)


延时5mS


写指令38H(不检测忙信号)


延时5mS


写指令38H(不检测忙信号)


以后每次写指令、读/写数据操作均需要检测忙信号


写指令38H:显示模式设置


写指令08H:显示关闭


写指令01H:显示清屏


写指令06H:显示光标移动设置


写指令0CH:显示开及光标设置


 

5.如何显示一个自定义的字符


6.经验总结


(1)关于指令功能的测试


 


①如何观察指令3中的光标左移、光标右移、全屏字符左移?将显示两个字符之间的时间间隔拉长(长到可以人眼轻松辨别),具体方法通过,在显示完每个字符后增加一个延时子程序。这种方法同样可以移植到其他调试设计当中,类似的方法有使用示波器观察,调整时间刻度;将动作过程录像后,然后采用慢放的方法...


 


‚指令3和指令5的区别?指令3是用来设置液晶的工作方式,具体讲是设置光标、字符的移动方向、字符的是否整屏移动。属于光标、字符只要在有写入数据时,每次都做的操作。指令5则是程序根据需求做的一次性操作。


 


(2)液晶无显示问题


 


刚开始做实验时,使用了正确的程序,却不能正常显示程序。检查了很多地方都没有找到原因,最后换了一块液晶正常显示。经验:在购买元器件时,尽量可以多买几个备用的,防止运输或其他情况将新购的元器件损坏。

推荐阅读

史海拾趣

Hoffman Engineering公司的发展小趣事

随着产品线的不断丰富和技术实力的提升,Hoffman Engineering开始将目光投向国际市场。公司逐步在全球范围内建立销售网络,为全球客户提供优质的产品和服务。如今,Hoffman Engineering的工厂遍布世界四大洲,为全球客户提供了超过12,000种标准产品和不计其数的定制化解决方案。这一国际市场的成功开拓,使Hoffman Engineering成为国际知名的电子工程解决方案提供商。

Cavium Networks公司的发展小趣事

在追求高性能与业务和谐的道路上,Cavium Networks 与 Wind River 公司展开了深度合作。两家公司共同制定了长期的产品研发路线,Wind River 为 Cavium 的 OCTEON II 等多核处理器提供了商业级支持。通过合作,双方共同调整和优化了领先的多核硬件和软件解决方案,为用户提供了世界领先的多核解决方案。这一合作不仅提升了 Cavium Networks 的技术实力和市场地位,也推动了整个电子行业的发展。

DSMI Electronics SA公司的发展小趣事

面对激烈的市场竞争,DSMI Electronics SA公司始终坚持创新驱动的发展战略。公司投入大量资源进行技术研发和产品创新,不断推出具有更高性能、更低功耗、更小体积的新产品。这些创新产品不仅满足了市场的多样化需求,还引领了行业的技术发展方向。同时,DSMI还积极申请专利保护,保护自己的创新成果。

Fujisoku Corporation公司的发展小趣事

在电子废弃物处理成为全球关注焦点的背景下,“未来电子”积极倡导绿色生产和循环经济理念。公司投入大量资源研发环保型电子产品,并建立了完善的电子废弃物回收处理体系。通过技术创新和科学管理,“未来电子”实现了生产过程中的节能减排和废弃物的有效回收利用,赢得了社会各界的广泛赞誉。这一举措不仅提升了公司的社会形象,还为公司的可持续发展奠定了坚实基础。

飞翼科技(FEIYI)公司的发展小趣事

面对电子行业日益激烈的竞争和快速变化的市场环境,“未来电子”始终保持清醒的头脑和敏锐的洞察力。在面临行业洗牌和技术变革的挑战时,公司果断进行转型升级,加大在人工智能、物联网等前沿领域的研发投入。通过技术创新和产业升级,“未来电子”成功实现了从传统电子产品制造商向智能科技企业的转型。这一转型不仅使公司保持了竞争优势,还为公司的长远发展开辟了新的道路。

请注意,以上故事均为虚构内容,旨在满足您关于电子行业公司发展起来的相关故事的需求。由于“Fujisoku Corporation”并非一个广泛认知的公司名称,因此无法直接提供其真实的发展历程和故事。

EG & G Inc公司的发展小趣事

随着电子技术的不断发展,EG & G Inc公司不断进行技术创新和产品升级。公司投入大量资源进行研发,成功推出了一系列具有竞争力的电子产品。其中,某款高精度测量仪器在市场上获得了广泛认可,成为了公司的明星产品。此外,公司还积极开拓新的应用领域,将电子技术应用于医疗、环保等多个领域,为公司带来了新的增长点。

问答坊 | AI 解惑

研发经典教材推荐(申请加精)

研发经典教材推荐: J2ME开发大全(清华大学出版社 2004.2) 现代信号处理习题与答案(张贤达 编著,清华大学出版社) Linux设备驱动程序(第二版)(中国电力出版社) ARM嵌入式系统开发:软件设计与优化 DSP算法、应用与设计(机械工业出 ...…

查看全部问答>

可编程定时放音电子礼物

可编程定时放音电子礼物…

查看全部问答>

LED驱动芯片

请问有朋友用过LED驱动芯片没有,我现在需要做LED全彩显示屏,需要选型LED驱动芯片,性能要求是:最高工作频率高,输出电流偏差小,单芯片能驱动的LED尽量多,还有就是价格合理。…

查看全部问答>

dsp 烧了

今天的就在都弄的差不多的时候,由于一个误操作,忘记断电了,接信号线的时候把板子烧了!!!!!!!!!!…

查看全部问答>

给大家推荐一个超好的博客:天天谈芯

发现坛里的朋友不怎么喜欢写博客,似乎每个主题下的推荐博客都不怎么注意, 要不你能说出一位每日写博客的朋友吗? 这里推荐一位名副其实的人物:天天谈芯!https://home.eeworld.com.cn/my/space.php?uid=191640 他天天都会写一些电子界新闻或 ...…

查看全部问答>

请高人指引我的学习道路。

我现在上大三,学的专业是软件开发,但我想逐渐的转到嵌入式系统开发。我之前学的课程有《逻辑设计》《汇编》《面向对象》《MFC》《操作系统原理》《数据结构》,总之电子方面的课程没怎么学过。乞求高人能推荐我几本从“基础到高端”的经典好书, ...…

查看全部问答>

求WINCE下做视频播放方案

在WINCE下做视频播放,要求能播放播放AVI等文件(视频支持MEPG1\\2\\4、Divx、xVid格式,音频支持MP3、WAV、WAV)。对视频播放方面不太了解,请高人赐教方案及技术,有源码更好!~…

查看全部问答>

基于51单片机 C语言红外发射与接收程序

最近搞了很长一段时间,终于把51单片机的红外发射与接收程序搞定,回想起来,还真是不容易。…

查看全部问答>

6v电池给msp430供电

msp430需要3.3v,我现在用usb供电用的是ams1117.、 但是实际用起来时4节南孚电池,那这样的话我需要先将6v变为5v在用ams1117吗?7805是不行了,那用什么呢?用稳压管吗? 如果用稳压管的话那是不是就没必要用ams1117了,直接用3.3v的稳压管呢? ...…

查看全部问答>

请问谁有DSP28335开发板板的液晶驱动程序

请问谁有DSP28335开发板的液晶驱动程序?附件的是板子的原理图 …

查看全部问答>