当前位置: > 凯发体育下注 > 正文

自制单片机之五(1)……LCD1602的驱动

作者:admin 时间:2024-03-05 点击:

  已很普遍了,具体介绍我就不多说了凯发体育下注凯发体育下注,市面上字符液晶绝大多数是基于HD44780液晶芯片的凯发体育下注,控制原理是完全相同的,因此HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。字符型LCD通常有14条引脚线条引脚线条线脚)和地线脚的LCD完全一样,定义如下表所示:

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

  也就是说想要在LCD1602屏幕的第一行第一列显示一个A字,就要向DDRAM的00H地址写入“A”字的代码就行了。但具体的写入是要按LCD模块的指令格式来进行的,后面我会说到的凯发体育下注。那么一行可有40个地址呀?是的,在1602中我们就用前16个就行了。第二行也一样用前16个地址凯发体育下注凯发体育下注。对应如下:

  我们知道文本文件中每一个字符都是用一个字节的代码记录的凯发体育下注凯发体育下注。一个汉字是用两个字节的代码记录。在PC上我们只要打开文本文件就能在屏幕上看到对应的字符是因为在操作系统里和BIOS里都固化有字符字模。什么是字模?就代表了是在点阵屏幕上点亮和熄灭的信息数据凯发体育下注。例如“A”

  上图左边的数据就是字模数据,右边就是将左边数据用“○”代表0,用“■”代表1。看出是个“A”字了吗?在文本文件中“A”字的代码是41H,PC收到41H的代码后就去字模文件中将代表A字的这一组数据送到显卡去点亮屏幕上相应的点,你就看到“A”这个字了。

  刚才我说了想要在LCD1602屏幕的第一行第一列显示一个A字,就要向DDRAM的00H地址写入“A”字的代码41H就行了,可41H这一个字节的代码如何才能让LCD模块在屏幕的阵点上显示“A”字呢?同样,在LCD模块上也固化了字模存储器凯发体育下注凯发体育下注,这就是CGROM和CGRAM。HD44780内置了192个常用字符的字模凯发体育下注凯发体育下注,存于字符产生器CGROM(Character Generator ROM)中,另外还有8个允许用户自定义的字符产生RAM凯发体育下注,称为CGRAM(Character Generator RAM)。下图说明了CGROM和CGRAM与字符的对应关系凯发体育下注。

  从上图可以看出凯发体育下注凯发体育下注,“A”字的对应上面高位代码为0100凯发体育下注凯发体育下注,对应左边低位代码为0001,合起来就是01000001凯发体育下注凯发体育下注,也就是41H。可见它的代码与我们PC中的字符代码是基本一致的。因此我们在向DDRAM写C51字符代码程序时甚至可以直接用P1=A这样的方法。PC在编译时就把“A”先转为41H代码了。

  字符代码0x00~0x0F为用户自定义的字符图形RAM(对于5X8点阵的字符凯发体育下注,可以存放8组,5X10点阵的字符凯发体育下注凯发体育下注,存放4组),就是CGRAM了。后面我会详细说的凯发体育下注。

  那么如何对DDRAM的内容和地址进行具体操作呢凯发体育下注,下面先说说HD44780的指令集及其设置说明,请浏览该指令集,并找出对DDRAM的内容和地址进行操作的指令凯发体育下注。

  功能:设定每次定入1位数据后光标的移位方向,并且设定每次写入的一个字符是否移动。参数设定的

  S 0=写入新数据后显示屏不移动 1=写入新数据后显示屏整体右移1个字符

  功能:控制显示器开/关、光标显示/关闭以及光标是否闪烁凯发体育下注凯发体育下注。参数设定的情况如下:

  写指令 输入:RS=L凯发体育下注,RW=L,E=下降沿脉冲凯发体育下注凯发体育下注,DB0~DB7=指令码 输出:无

  写数据 输入:RS=H凯发体育下注,RW=L凯发体育下注凯发体育下注,E=下降沿脉冲,DB0~DB7=数据 输出:无

  { LCD_E=0; //for循环作延时,普通指令只要1次循就可完成。清屏指令

  } //实践证明我的LCD1602上普通的指令只需1次循环就能可靠完成。

Copyright 2017 凯发体育下注 All Rights Reserved