LCD原理及显示程序
- 格式:docx
- 大小:31.41 KB
- 文档页数:20
单片机之LCD显示原理LCD,全称为液晶显示屏(Liquid Crystal Display),是一种广泛应用于电子产品中的显示技术,它以液晶(Liquid Crystal)的光学特性来实现图像显示。
而在单片机中使用LCD显示的原理主要包括以下几个方面。
1.液晶显示原理:液晶是一种介于固体与液体之间的物质状态,具有既像固体一样有一定的结构性,又像液体一样能随外界条件产生微小的变化。
对于LCD来说,主要使用了向列型液晶显示原理。
LCD由背光源、液晶层和偏振片等组成。
当电压施加到液晶层时,液晶层会变为各向异性,并且可以通过控制外界电压,改变液晶层中分子的方向,使光线透过的方向发生偏转。
然后通过偏振片的作用,将偏转的光线产生可见的图像。
2.单片机与LCD的连接:通常情况下,单片机与LCD之间需要连接一系列控制信号线(如宣传片、读/写、使能等)和数据信号线(如数据总线),以实现对LCD显示内容的控制。
在连接时需要严格按照LCD的数据手册进行引脚的对应和电平的匹配。
3.单片机对LCD的驱动:单片机对LCD的驱动主要分为两个步骤:初始化和数据写入。
在初始化过程中,需要将LCD的控制引脚设置为相应的工作状态,例如设置读/写使能使能、字符显示等。
在数据写入过程中,需要向LCD的数据寄存器中写入相应的数据,以实现对LCD显示内容的控制。
4.字库存储与显示:LCD显示内容通常包括文字、图形等,为了实现显示,需要将这些内容事先存储在单片机的字库中。
字库存储可以通过手动编写字符的像素点阵,也可以通过使用一些专门的字库转换软件实现自动生成。
5.屏幕刷新与更新:在LCD显示过程中,屏幕的刷新和更新是非常重要的环节。
在刷新过程中,液晶层的分子会根据新的电压变化而改变方向,从而实现显示内容的变化。
而在更新过程中,单片机需要将新的显示内容写入LCD的显存中,然后通过刷新来实现显示。
6.电源控制:由于LCD屏幕的背光通常需要消耗较大的功率,因此需要使用转换电源等来为其供电。
12864LCD液晶显示原理及使用方法
一、液晶显示原理
1.液晶材料的性质
液晶是介于固体和液体之间的一种物质状态。
它具有流动性和定向性,通过控制电场可以改变其流动性。
液晶分子呈现出各种不同的排列方式,
包括向列排列、向行排列、扭曲排列等。
2.电场的作用
当液晶材料处于电场作用下时,液晶分子会发生定向排列。
电场的存
在导致液晶分子的定向,形成一定的直流电场效应。
通过改变电场的强度
和方向,可以改变液晶分子的排列状态。
3.光的传输
液晶分子的定向排列对入射光的传播具有影响。
根据液晶分子的不同
排列状态,可以选择性地传递或阻挡入射光。
通过控制电场的强度和方向,可以调节液晶分子的排列状态,从而改变光的传输效果。
4.显示原理
二、液晶显示的使用方法
1.连接电源
2.初始化
在液晶屏开始显示之前,需要进行初始化设置。
通过向液晶屏发送命令,配置液晶屏的各种参数,如显示模式、显示偏移量、对比度等。
3.显示图像
初始化完成后,可以通过向液晶屏发送数据以显示图像。
可以通过控制每个像素点的液晶分子排列状态,从而显示出对应的图像。
可以通过编写程序或者使用液晶屏驱动库来控制显示内容。
4.其他控制
除了显示图像外,液晶显示屏还具有其他一些控制功能。
例如,可以通过发送命令来设置光标位置、清除屏幕内容、切换显示区域等。
总结:。
在日常生活中,我们对液晶显示器并不陌生。
液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。
在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED 数码管、液晶显示器。
发光管和LED数码管比较常用,软硬件都比较简单,在前面章节已经介绍过,在此不作介绍,本章重点介绍字符型液晶显示器的应用。
在单片机系统中应用晶液显示器作为输出器件有以下几个优点:显示质量高由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。
因此,液晶显示器画质高且不会闪烁。
数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。
体积小、重量轻液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。
功耗低相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。
10.8.1 液晶显示简介①液晶显示原理液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。
液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。
②液晶显示器的分类液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。
除了黑白显示外,液晶显示器还有多灰度有彩色显示等。
如果根据驱动方式来分,可以分为静态驱动(Static)、单纯矩阵驱动(Simple Matrix)和主动矩阵驱动(Active Matrix)三种。
③液晶显示器各种图形的显示原理:线段的显示点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。
12864L CD液晶显示原理及使用方法液晶简介液晶是一种在一定温度范围内呈现既不同于固态液态又不同于气态的特殊物质态,它既具有各向异性的晶体所特有的双折射性又具有液体的流动性液晶显示器件(英文的简写为L CD)就是利用液晶态物质的液晶分子排列状态在电场中改变而调制外界光的被动型显示器件。
点阵式图形液晶显示屏是LCD 的一种能够动态显示图形汉字以及各种符号信息为各种电子产品提供了友好的人机界面点阵式图形液晶显示屏的主要特点如下(这些特点也就是LCD的特点):工作电压低、微功耗、体积小、可视面积大、无电磁辐射、数字接口、寿命长等特点。
12864L CD是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64 全点阵液晶显示器组成。
可完成图形显示,也可以显示8×4 个(16×16 点阵)汉字或者显示16×4个(8×16 点阵)ASCII码。
分为两种,带字库的和不带字库的。
不带字库的L CD需要自己提供字库字模,此时可以根据个人喜好设置各种字体显示风格,设计上较为灵活。
带字库的LCD提供字库字模,但是只能显示GB2312的宋体。
各有优缺点,根据不同应用场景灵活选择。
其液晶模块原理图如下所示。
12864L CD点阵图形液晶模块原理框图下面给出了其应用连接电路,分别介绍其各引脚的功能和作用。
如下表所示:12864L CD 的引脚说明管脚号管脚名称LEVER 管脚功能描述1GND 0 电源地2VCC+5.0V 电源电压3VLCD- 液晶显示器驱动电压4RS (D/I)H/LD/I=“H”,表示DB7∽DB0 为显示数据D/I=“L”,表示DB7∽DB0 为显示指令数据5R/WH/LR/W=“H”,E=“H”数据被读到D B7∽DB0R/W=“L”,E=“H→L”数据被写到IR或DR6EN H/LR/W=“L”,E 信号下降沿锁存DB7∽DB0R/W=“H”,E=“H”DDRAM数据读到DB7∽DB0 7DB0 H/L 数据线8DB1 H/L数据线9DB2 H/L 数据线10DB3H/L 数据线11DB4H/L数据线12DB5H/L数据线13DB6H/L数据线14DB7H/L数据线15CS1H/L H:选择芯片(右半屏)信号16CS2H/L H:选择芯片(左半屏)信号17RETH/L复位信号,低电平复位18VEE -10VLCD驱动负电压19LED+- LED 背光板电源20LED-- LED 背光板电源12864L CD点阵图形液晶模块应用连接电路液晶驱动设置在理解12864LCD硬件原理和管脚功能之后,可以针对LCD进行驱动的编写,分两种情况:仿真环境下和实物开发板编程。
单片机之LCD显示原理LCD显示原理LCD(Liquid Crystal Display,液晶显示器)是一种广泛应用于电子产品中的显示技术。
它采用液晶材料的光电效应来实现图像显示。
LCD显示原理涉及到液晶材料的结构和工作原理、液晶显示器的构成以及显示图像的过程。
一、液晶材料的结构和工作原理液晶是介于液体和固体之间的一种特殊物质,具有流动性和分子有序性。
液晶分为向列型和向列型两种。
向列型液晶分子在没有外界电场作用下呈现类似于液体的无序状态,而向列型液晶分子在没有外界电场作用下呈现类似于固体的有序状态。
液晶显示原理基于液晶材料的光电效应,即在外界电场作用下,液晶分子会发生排列变化,从而改变光的透过性。
液晶分子的排列变化会导致光的偏振方向发生改变,从而实现图像的显示。
二、液晶显示器的构成液晶显示器主要由以下几个部分组成:1. 液晶屏幕:由液晶材料构成的屏幕,用于显示图像。
2. 背光源:提供背景光源,使得图像能够被看到。
3. 驱动电路:控制液晶分子的排列变化,实现图像的显示。
4. 控制电路:接收并处理输入信号,控制驱动电路的工作。
三、显示图像的过程液晶显示器显示图像的过程主要包括以下几个步骤:1. 输入信号:通过控制电路输入图像信号,可以是来自计算机、电视等设备的视频信号。
2. 信号处理:控制电路对输入信号进行处理,如解码、放大等。
3. 驱动电路控制:控制电路根据处理后的信号控制驱动电路的工作,产生相应的电场。
4. 液晶分子排列变化:驱动电路产生的电场作用下,液晶分子发生排列变化,改变光的透过性。
5. 光通过液晶屏幕:经过液晶分子排列变化后的光通过液晶屏幕,形成显示图像。
6. 背光源照射:背光源照射在液晶屏幕上,使得显示图像能够被看到。
总结:LCD显示原理是基于液晶材料的光电效应,通过控制液晶分子的排列变化来实现图像的显示。
液晶显示器由液晶屏幕、背光源、驱动电路和控制电路组成,通过输入信号、信号处理、驱动电路控制、液晶分子排列变化、光通过液晶屏幕以及背光源照射等步骤来显示图像。
lcd显示屏显示原理
LCD(液晶显示器)是一种常见的平面显示技术,它使用液晶分子的光学特性来显示图像和文字。
LCD显示屏的显示原理可以简单地描述为以下几个步骤:
1. 偏振:在LCD显示屏的顶部和底部分别放置一对偏振片,它们的偏振方向相互垂直。
当没有电流通过时,偏振片之间的光会被第一个偏振片阻挡,因此屏幕上没有显示。
2. 液晶分子排列:在两个偏振片之间,涂覆了一层液晶材料。
液晶分子会根据电场的方向来改变它们的排列方式。
液晶材料通常是在两个玻璃基板之间形成的,其中一个基板上有一组透明电极。
3. 电场控制:当LCD显示屏接收到电信号时,液晶分子会根据电场的方向进行排列。
这些电场是通过透明电极产生的,电极的位置由驱动芯片控制。
通过改变电场的方向和强度,液晶分子的排列方式也会相应地发生变化。
4. 光的旋转:当电场施加在液晶分子上时,它们会旋转偏振光的方向。
当光通过第一个偏振片时,如果液晶分子的排列方向与偏振方向一致,那么光将能够通过第二个偏振片并显示在屏幕上。
5. 显示图像:通过控制驱动芯片的电信号和电场方向,可以精确地控制液晶分子的排列,从而实现像素级的图像控制。
通过在不同的像素位置上创建不同的电场,液晶分子的旋转程度也会有所不同,从而形成图像或文字。
总结起来,LCD显示屏的显示原理主要涉及了偏振、液晶分子排
列、电场控制和光的旋转等步骤。
通过这些步骤的组合和控制,LCD 显示屏可以实现高质量的图像和文字显示。
LCD显示屏的原理和应用1. LCD显示屏的基本原理LCD(Liquid Crystal Display,液晶显示器)是一种常见的平面显示技术,广泛应用于电子产品中。
LCD显示屏的原理基于液晶材料的光学特性和电场控制效应,通过电场控制液晶材料中液晶分子的排列来实现图像显示。
LCD显示屏由多个像素组成,每个像素包含一个红、绿、蓝三个亚像素。
LCD显示屏的工作原理可以分为两个基本步骤:通过横向的彩色滤光片和纵向的铜线排列形成液晶像素,然后通过上下两个透明导电层之间的液晶材料控制液晶的排列状态。
具体来说,LCD显示屏内部主要包括以下几个关键组件:•液晶层:液晶层由液晶分子组成,液晶分子具有特殊的排列能力,能够根据电场的控制改变排列状态。
•彩色滤光片:彩色滤光片用于吸收不同波长的光,通过叠加红、绿、蓝三个亚像素的光来显示不同的颜色。
•导电层:导电层通常由透明的氧化铟锡(ITO)材料制成,用于在液晶层上建立电场。
•后光源:后光源用于照亮液晶层,常见的后光源有冷阴极荧光灯(CCFL)和LED背光等。
液晶显示屏的原理是通过控制电场来改变液晶分子的排列状态,从而调节通过液晶层的光的穿透程度,实现亮暗的变化,进而显示出不同的图像。
2. LCD显示屏的应用由于LCD显示屏具有体积小、重量轻、功耗低、视角广等优点,因此在各种电子产品中得到广泛应用。
2.1 电子产品中的应用•手机和平板电脑:LCD显示屏是手机和平板电脑最常用的显示技术,为用户提供清晰、细腻的观看体验。
•电视和显示器:LCD技术在电视和显示器领域得到广泛应用,提供更真实、高清的视觉效果。
•数码相机:LCD显示屏在数码相机中作为即时预览和参数调节的界面,方便用户操作和观察拍摄结果。
•游戏机和手持游戏机:LCD显示屏作为游戏机的显示输出设备,给予用户沉浸式的游戏体验。
2.2 工业和科学领域的应用•仪器仪表:LCD显示屏广泛应用于仪器仪表中,为用户提供清晰的数据显示。
单片机中LCD液晶显示原理与应用解析LCD液晶显示原理与应用解析LCD(液晶显示器)是一种常见的显示技术,广泛应用于各种电子设备中,包括单片机。
LCD显示器是通过液晶材料的光学特性来实现图像和文字显示的。
在这篇文章中,我们将对LCD液晶显示原理以及其在单片机中的应用进行详细解析。
首先,我们来了解一下LCD液晶显示的原理。
LCD是由液晶材料、电极、光源和电流控制器组成的。
液晶材料是一种特殊的有机化合物,其具有可变的光学特性。
液晶材料在不同的电场作用下会发生改变,从而实现光的透过或阻挡,从而显示出图像和文字。
LCD显示原理可以简单分为两个步骤:光的偏振和电场控制。
LCD显示器中使用了两块平行的玻璃片,中间夹层涂有液晶材料。
液晶材料的分子不规则地排列,光穿过时发生偏振。
光源经过偏振片后,变成线性偏振光。
当电流控制器施加电场时,液晶分子会重新排列并旋转偏振方向,从而改变透过的光。
这样,通过控制电场的开关,可以创建出不同的图像和文字。
在单片机中,LCD液晶显示器被广泛应用于各种嵌入式系统中,如电子产品、计算器、仪表和工控设备等。
单片机通过控制液晶显示器的电压和信号源,实现对图像和文字的显示。
首先,要使用单片机驱动LCD液晶显示器,我们需要了解液晶显示器的引脚。
通常,液晶显示器具有多个引脚,包括电源引脚、数据引脚和控制引脚。
单片机通过这些引脚与液晶显示器进行连接,以控制液晶显示器的显示内容。
其次,单片机需要通过特定的驱动程序来控制液晶显示器。
这些驱动程序通常会通过单片机的I/O口来控制液晶显示器的每个像素点的状态和颜色。
单片机驱动程序需要根据显示的要求,发送适当的电压和信号源给液晶显示器,从而实现显示。
另外,单片机可以通过外部设备来增强LCD液晶显示的功能。
例如,通过连接传感器或其他模块,单片机可以实时读取数据并显示到LCD液晶显示器上。
这为嵌入式系统的开发提供了更多的可能性和灵活性。
在实际应用中,为了提高显示效果,我们需要注意以下几点:1. 适当的对比度调节:通过调整液晶显示器的对比度,可以使得显示的图像更加清晰和鲜明。
在日常生活中,我们对液晶显示器并不陌生。
液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。
在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED 数码管、液晶显示器。
发光管和LED数码管比较常用,软硬件都比较简单,在前面章节已经介绍过,在此不作介绍,本章重点介绍字符型液晶显示器的应用。
在单片机系统中应用晶液显示器作为输出器件有以下几个优点:显示质量高由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。
因此,液晶显示器画质高且不会闪烁。
数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。
体积小、重量轻液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。
功耗低相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。
10.8.1 液晶显示简介①液晶显示原理液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。
液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。
②液晶显示器的分类液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。
除了黑白显示外,液晶显示器还有多灰度有彩色显示等。
如果根据驱动方式来分,可以分为静态驱动(Static)、单纯矩阵驱动(Simple Matrix)和主动矩阵驱动(Active Matrix)三种。
③液晶显示器各种图形的显示原理:线段的显示点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。
例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。
这就是LCD显示的基本原理。
字符的显示用LCD显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。
这样一来就组成某个字符。
但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD 上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。
汉字的显示汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5……右边为2、4、6……根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节……直到32B显示完就可以LCD上得到一个完整汉字。
10.8.2 1602字符型LCD简介字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。
下面以长沙太阳人电子有限公司的1602字符型液晶显示器为例,介绍其用法。
一般1602字符型液晶显示器实物如图10-53:图10-53 1602字符型液晶显示器实物图10. 1602LCD的基本参数及引脚功能1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图10-54所示:图10-54 1602LCD尺寸图1602LCD主要技术参数:显示容量:16×2个字符芯片工作电压:—工作电流:模块最佳工作电压:字符尺寸:×(W×H)mm引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表10-13所示:编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极表10-13:引脚接口说明表第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脚:背光源负极。
10.8.2.3 1602LCD的指令说明及时序1602液晶模块内部的控制器共有11条控制指令,如表10-14所示:序号指令RSR/WD7D6D5D4D3D2D1D01清显示0000000001 2光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001D C B5光标或字符移位000001S/CR/L**6置功能00001DL N F**7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容表10-14:控制命令表1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。
指令2:光标复位,光标返回到地址00H。
指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。
高电平表示有效,低电平则无效。
指令4:显示开关控制。
D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。
指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。
指令7:字符发生器RAM地址设置。
指令8:DDRAM地址设置。
指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:写数据。
指令11:读数据。
与HD44780相兼容的芯片时序表如下:读状态输入RS=L,R/W=H,E=H输出D0—D7=状态字输出无写指令输入RS=L,R/W=L,D0—D7=指令码,E=高脉冲读数据输入RS=H,R/W=H,E=H输出D0—D7=数据输出无写数据输入RS=H,R/W=L,D0—D7=数据,E=高脉冲表10-15:基本操作时序表读写操作时序如图10-55和10-56所示:图10-55 读操作时序图10-56 写操作时序10.8.2.4 1602LCD的RAM地址映射及标准字库表液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。
要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图10-57是1602的内部显示地址。
图10-57 1602LCD内部显示地址在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。
每次输入指令前都要判断液晶模块是否处于忙的状态。
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如图10-58所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B (41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”图10-58 字符代码与图形对应图10.8.2.5 1602LCD的一般初始化(复位)过程延时15mS写指令38H(不检测忙信号)延时5mS写指令38H(不检测忙信号)延时5mS写指令38H(不检测忙信号)以后每次写指令、读/写数据操作均需要检测忙信号写指令38H:显示模式设置写指令08H:显示关闭写指令01H:显示清屏写指令06H:显示光标移动设置写指令0CH:显示开及光标设置10.8.3 1602LCD的软硬件设计实例10.8.3.1 硬件原理图LCD液晶显示,用16F877A写程序如下:写一个字符串程序:#include<>#define uchar unsigned char#define uint unsigned int#define DB PORTD //定义端口#define rs RB0#define e RB1__CONFIG(0x3B31);const uchar data[]="happy everyday";//输入的字符串第一行const uchar data1[]="xiexie";//第二行void init();void write_commond(uchar dat);//写指令函数void write_data(uchar dat);//写数据函数void delay(uint x);void delay(uint x){uint a,b;for(a=x;a>0;a--)for(b=110;b>0;b--);}void init()//初始化指令{write_commond(0x01);//0000000001,清除屏幕显示write_commond(0x28);//设置4位格式,2行,5X7,功能设定write_commond(0x0C);//0000001100,开显示,无光标,不闪烁write_commond(0x06);//0000000110,置输入模式,光标右移,屏幕上的文字不移动write_commond(0x14);//0001000100,设定CGRAM地址显示屏或光标移动方向}void write_commond(uchar dat){rs=0;//指令DB=dat;e=1;//允许下降沿触发1-0delay(5);e=0;DB=DB<<4;//左移四位从RD4~RD7进入LCD delay(5);e=1;delay(5);e=0;}void write_data(uchar dat){rs=1;//数据DB=dat;e=1;//允许delay(5);e=0;delay(5);DB=DB<<4;e=1;delay(5);e=0;}void main(){uchar i;TRISD=0X00;//定义端口寄存器PORTD=0X00;PORTB=0X00;TRISB=0X00;init();write_commond(0x80);//第一行的DDRAM的地址,不加0x10时,也可以从//最左边开始for(i=0;i<12;i++){write_data(data[i]);//第一行的数据字符delay(5);}write_commond(0xc0);//第二行的DDRAM地址不加0x10也可for(i=0;i<16;i++){write_data(data[i]);//第二行的数据字符delay(5);}/* for(i=0;i<16;i++){write_commond(0x18);//光标不动,数据左移一位delay(5);}*/while(1);}写近一个字符A程序如下:#include<>#define uchar unsigned char#define uint unsigned int#define DB PORTD#define rs RB0#define e RB1__CONFIG(0x3B31);void init();void write_commond(uchar dat);//写指令函数void write_data(uchar dat);//写数据函数void disp_char(uchar x,uchar y,uchar dat);//在屏幕某个位置显示一个字符,x(0-16),y(1-2)void delay(uint x);void delay(uint x){uint a,b;for(a=x;a>0;a--)for(b=110;b>0;b--);}void init()//初始化指令{write_commond(0x01);//0000000001,清除屏幕显示write_commond(0x28);//设置4位格式,2行,5X7,功能设定write_commond(0x0C);//0000001100,开显示,无光标,不闪烁write_commond(0x06);//0000000110,置输入模式,光标右移,屏幕上的文字不移动write_commond(0x80);//0001000100,设定CGRAM地址显示屏或光标移动方向}void write_commond(uchar dat) {rs=0;//指令DB=dat;e=1;//允许delay(5);e=0;DB=DB<<4;delay(5);e=1;delay(5);e=0;}void write_data(uchar dat){rs=1;//数据DB=dat;e=1;//允许delay(5);e=0;delay(5);DB=DB<<4;e=1;delay(5);e=0;}void disp_char(uchar x,uchar y,uchar dat) {uchar address;if(y==1)address=0x80+x;elseaddress=0xc0+x;write_commond(address); write_data(dat);delay(5);}void main(){TRISD=0X00;PORTD=0X00;PORTB=0X00;TRISB=0X00;init();disp_char(0,1,'A');while(1);}也可以是如下:void disp_char(uchar x,uchar y,uchar dat) {uchar i;write_commond(0x80+x);if(i=0;i<16;i++){write_data('A');delay(5);}}。