lcd1602使用手册,LCD1602的使用详解

光电显示

1051人已加入

描述

  LCD1602是很多单片机爱好者较早接触的字符型液晶显示器,它的主控芯片是HD44780或者其它兼容芯片。刚开始接触它的大多是单片机的初学者。由于对它的不了解,不能随心所欲地对它进行驱动。经过一段时间的学习,我对它的驱动有了一点点心得,今天把它记录在这里,以备以后查阅。

  一般来说,LCD1602有16条引脚,据说还有14条引脚的,与16脚的相比缺少了背光电源A(15脚)和地线K(16脚)。我手里这块LCD1602的型号是HJ1602A,是绘晶科技公司的产品,它有16条引脚。

  

  LCD1602的基本操作

  1. 读状态:输入RS=0,RW=1,E=高脉冲。输出:D0—D7为状态字。

  2. 读数据:输入RS=1,RW=1,E=高脉冲。输出:D0—D7为数据。

  3. 写命令:输入RS=0,RW=0,E=低脉冲。输出:无。(写完置E=高脉冲)

  4. 写数据:输入RS=1,RW=0,E=低脉冲。输出:无。

  分析时序图

  (1)写操作(单片机至HD44780)

  LCD1602

  首先要对寄存器的选择和读、写操作选择进行配置。RS是寄存器选择,RS = 1对数据进行操作;RS = 0对指令进行操作。

  接着对读写操作选择进行配置,RW = 0 写操作。

  打开使能端,输入使能信号 E = 1。

  数据总线,对DB0~DB7赋值,进行数据的传输

  【注】如果先打开使能,再进行其他配置的话,有可能传输的数据不是自己想要的。

  (2)读操作(HD44780至单片机)

  LCD1602

  显示模块的指令集,根据自己的显示需要进行相应的配置

  LCD1602

  LCD1602

  LCD1602

  LCD1602

  显示的位置设置DDRAM

  LCD1602

  显示在第一行某一列的数据可以写命令:0x80 | 0x**,显示在第二行某一列的数据可以写命令:0x80 | 0x40 | 0x** = 0xC0 | 0x**,0x80是因为在设置DDRAM地址时,DB7固定是为1的。

  LCD1602写入自己的字符及显示汉字

  1、由于LCD是外部设备,处理速度比CPU速度慢,向LCD写入命令到完成功能需要一定的时间,在这个过程中,LCD处于忙状态,不能向LCD写入新的内容。LCD是否处于忙状态可以通过读忙标志命令来了解。

  用state = LCDPORT来读取IO端口的状态,将state & 0x80来判断LCD是否处于忙状态,若IO口bit7为1,则表示LCD处于忙状态,反之则空闲。

  2、要让LCD1602显示自定义字符,就得用到CGRAM指令,CGROM字码表实际只有8个字节可供使用,writecom(0x40)表示将要在CGRAM中写入数据,设置字库CGRAM地址命令是0100 0000.

  1602能存储8个自定义字符(即8个字节的使用),这8个自定义字符存储空间的首地址分别是:0X40,0X48,0X50,0X58,0X60,0X68,0X70,0X78。

  使用时读取自定义字符的地址即为0X40-0X78 对应为 00H-07H。一个地址(如00H)存放1B的一个字符(1B = 8bit,一个字符由8个0x**组成)

  以0x40来说,它的存储空间如图所示:

  LCD1602

  如果使用5*7字符的话,那么最左3位和最后一行的数据实际上是没用的,通常置0。

  LCD1602

  这样我们就得到每个地址需要写入的数据:

  地址 : 数据

  0x40 : 0x16

  0x41 : 0x09

  0x42 : 0x08 其他类推。将这8个数据写入到对应地址即可。(有红格子的即为1,白格子即为0)

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分