初步认识51单片机-2.2单片机控制LCD1602液晶显示模块
显示容量:16×2个字符
芯片工作电压:4.5—5.5V
工作电流:2.0mA(5.0V)
模块最佳工作电压:5.0V
字符尺寸:2.95×4.35(W×H)mm
引脚功能说明
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表1所示:
第1脚:VSS为地电源。
第2脚:VDD接5V正电源。
第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:D0~D7为8位双向数据线。
第15脚:背光源正极。
第16脚:背光源负极。
我们来看看如何使用这两招控制LCD1602液晶模块。既然是用单片机控制LCD1602,那么根据前面的分析思想,首先要搞清楚谁是控制对象,谁是被控制对象。很显然,LCD1602是被控制对象,那么我们就先从LCD1602开始分析。所谓控制也可以理解为沟通,那么如何与LCD1602沟通呢?可以想一想,平时人与人是如何沟通的?沟通之前先要打个招呼吧,比如“你好”之类的,电话里面要先讲个“喂?”,之后才进入沟通正题了。其实单片机与LCD1602的沟通方式也一样,“喂?”在这个例子里面就叫初始化。后面也会经常碰到这个“初始化”的概念。其实器件也是人设计的,所以他的工作方式从某种程度上讲,也是人的沟通方式。打完招呼后,就开始进入真正主题了。什么主题呢?LCD1602是显示模块,主要作用当然是显示了。那么显示什么呢?很明显,显示内容当然来自于单片机了,单片机让它显示什么它就显示什么。这个‘显示什么’就是传送的数据。那么怎么往1602传送数据呢?1602什么意思,表示2行16个字符,也就是有不同的显示地点,那么如何确定显示地点呢?因此前面的分析可以总结为三个问题,如何初始化,如何传送显示的内容(显示什么),在哪里显示。这三个问题如何解答呢?当然要去看芯片手册了。
为了解决这三个问题,我们先来看看人与人之间是如何沟通的,如果当面沟通,你的信号(声音)能够直接传到对方,而且能让对方听懂。如果相距比较远,那么就使用电话等通信工具。前者信号传递载体是空气,后者是电话线。那么我们来看看MCU与LCD1602的信号传递载体是什么样的。查看原理图。因为是MCU与1602之间的沟通,当然这里我们只查看与单片机相连接的部分。
从图中我们看到,单片机通过P2.7,P2.6分别与RS,EN连接,P0端口与D0到D7连接,一共10根线。那么也就是说,单片机的所有指令,数据等都是通过这10根线来完成的。怎么样去控制LCD呢,当然是阅读LCD的说明手册。这里来个比喻,房间内一个人规定,敲三下门,屋内的人才把门打开。如果你要进入屋内,就必须敲三下,如果你不知道这个规则,敲了四下,或者大喊大叫,门也开不了。这个规定可以是多样化,比如一共敲两下,第一下要敲重一点,第二下要敲轻一点。或者重敲三下,轻敲一下,等等。而且这里你不需要问为什么,照着做就行了。其实LCD1602包括后面会讲到的其他模块同样如此,你要与它沟通,当然必须按照它的规则来。下面我们就来解读它的规则,来解决前面提到的三个问题,
LCD1602初始化;在哪里显示;显示什么。
(1)LCD1602初始化
关于这一点,说明手册上已经告诉我们了,这里全盘复制过来。
延时15ms
写指令38H
延时5ms
写指令38H
写指令08H
写指令01H
写指令06H
写指令0CH
以上为初始化过程,延时部分好解决,前面讲过了。这里就看如何写指令了。写指令这个过程肯定是通过上图中10根线来完成的。D0-D7一共八根线应该是用来存放指令的内容。问题来了,1602怎么知道单片机给我的是命令还是数据。(命令是什么,在哪里显示,屏幕清零;数据是什么,显示什么内容,显示A还是B)。LCD1602看到RS为高时,就明白了,哦,你要通过P0端口给我数据了,于是LCD1602就把这些数据拿过来了。看到RS为低时,就知道你要给我指令了。通过这种方式,单片机
51单片机单片机控制LCD1602液晶显示模 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)