L原理及显示程序
- 格式:docx
- 大小:15.74 KB
- 文档页数:8
led显示屏的显示原理
LED显示屏的显示原理是利用发光二极管(Light Emitting Diode)的特性实现的。
LED是一种能够将电能直接转化为光
能的半导体器件。
LED显示屏由许多发光二极管组成,每个发光二极管被称为
一个像素。
每个像素可以发出不同颜色的光,通过调节不同颜色的LED的亮度和组合方式,可以显示出丰富多彩的图像。
LED显示屏的每个像素由三个LED组成,颜色分别为红色、
绿色和蓝色。
通过调节这三种颜色LED的亮度,可以产生从
黑色到白色的不同亮度级别,并且通过不同的组合方式,可以产生各种颜色的光。
LED显示屏的显示原理是利用人眼对颜色的视觉暂留效应。
当LED的亮度和颜色变化得足够快时,人眼无法察觉到每个
像素的变化,从而形成连续的图像。
LED显示屏内部还有一个驱动电路,用来控制每个像素的亮
度和颜色。
驱动电路接收到输入信号后,会根据信号的内容改变LED的亮度和颜色,从而实现图像的显示。
LED显示屏广泛应用于室内外的大型屏幕、电视、手机屏幕、电子显示器等各种场景。
它具有色彩鲜艳、对比度高、能耗低、响应速度快等优点,因此成为现代显示技术中重要的一种。
在日常生活中,我们对液晶显示器并不陌生。
液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。
在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、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字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。
计算机图形显示原理
图形显示原理是指将数字化的图形信息转化为可视化的图像展示出来的过程。
计算机图形显示的原理主要包括了图像采集、图像处理、图像存储和图像显示等几个关键步骤。
图像采集是指通过感光设备或传感器捕捉到的光信号,然后将光信号转化为电信号的过程。
常用的图像采集设备包括数码相机、摄像机和扫描仪等。
图像采集的质量决定了后续图像处理和显示的效果。
图像处理是指对采集到的图像进行数字化处理的过程。
在图像处理过程中,可以使用各种算法和技术,如对比度调整、颜色校正和噪声去除等,以改善图像质量和增强图像细节。
图像存储是指将处理后的图像数据存储到计算机的存储设备中。
常见的图像存储格式包括JPEG、PNG和BMP等。
图像的存
储格式不仅影响了图像的文件大小,还会对图像的质量产生一定影响。
图像显示是将存储的图像数据通过显示器等输出设备展示出来的过程。
在图像显示过程中,计算机会将图像数据转化为像素点的亮度和颜色信息,然后通过调整像素点的排列和亮度变化,来实现图像的显示效果。
总结起来,计算机图形显示原理涉及图像采集、图像处理、图像存储和图像显示等多个环节,通过这些环节的协同作用,可以将数字化的图形信息转化为人们可视化的图像显示。
数字显示器的工作原理
数字显示器是一种能够显示数字和字符的设备,其工作原理主要基于液晶显示技术。
液晶显示器由数百万个微小像素组成,每个像素都包含一个液晶单元和一个透明电极。
液晶显示器中常用的液晶材料是向列型液晶分子,液晶分子可通过电场的作用而改变其排列方式,从而控制光的通过情况。
当液晶显示器接收到发送的数字信号时,电子设备会将这些信号转换成控制信号,通过透明电极作用于液晶单元。
液晶分子受电场的作用向不同方向旋转,进而改变光的通过情况。
当电流通过透明电极时,电场影响液晶分子的排列方式,使得液晶分子允许或阻碍背光的通过。
这样,只有在特定电场条件下(即数字所代表的信号),光线才能通过液晶显示器的像素区域。
通过控制每个像素区域中液晶分子的旋转方向,液晶显示器可以显示出各种数字和字符。
显示器的亮度和对比度可以通过调节电场的强度来调整。
以上就是数字显示器的工作原理。
电脑显示器的工作原理
电脑显示器的工作原理是通过将电信号转换为可视图像来实现的。
具体来说,电脑显示器内部包含一个叫做显示屏的物理装置,它由成千上万个像素组成。
每个像素都可以独立地发光或者不发光,从而形成图像。
当计算机向显示器发送图像相关的电信号时,这些信号会经过显示器内部的电路处理。
首先,信号会被传送到显示器的扫描电路,扫描电路会根据信号的指示,逐行地激活和关闭像素。
这样,每个像素就能够根据电信号的强弱来决定是否发光,从而在显示器上形成一行行图像。
然后,显示器的控制电路会根据扫描电路传递过来的信号,同步调整整个屏幕的像素。
这个过程被称为垂直同步和水平同步,它确保了整个图像的稳定性和流畅性,使得用户可以看到连续的、不闪烁的图像。
与此同时,显示器的亮度、对比度等参数也可以通过控制电路进行调整,以满足用户对图像质量的需求。
这些参数会通过电信号的特定部分来传递,然后被控制电路解析并调整显示屏的相应参数。
总的来说,电脑显示器的工作原理是利用像素点的发光和关闭来形成图像,通过扫描和同步调整保证图像的稳定性和流畅性。
同时,通过控制电路调整亮度、对比度等参数来满足用户的需求,最终呈现给用户清晰、逼真的视觉效果。
美的集团制冷事业本部企业标准QJ/MK03.056-2004 LCD液晶显示驱动程序设计指引1适用范围《LCD液晶显示驱动程序设计指引》主要对采用液晶驱动芯片HD1621(或此系列芯片)进行LCD 液晶的驱动方法进行了分析,说明了驱动芯片的功能、软件编制方法和注意事项,并提供了程序范例,为以后的程序设计者提供类似的开发参考。
2引用资料范例程序采用日本NEC公司的RA78K0S系列汇编语言编写,具体技术资料参照78K0S系列八位单片机UPD78F9177芯片的相关资料。
液晶驱动芯片参考资料:具体见HT1621DATASHEET。
3定义汇编语言:是用于编写微处理器软件的最基本编程语言。
汇编程序包:是一组程序的总称,用于把汇编语言的源程序文件转换成机器代码的程序,通常包括汇编程序﹑连接程序﹑目标码转换程序和其它库管理程序﹑表转换程序等。
LCD:液晶显示器简称。
4HT162X驱动芯片资料介绍4.1概述HT162X系列芯片是由HOTEK公司开发生产的多功能LCD 驱动器芯片,HT162X 的软件配置特性使其适合于各种LCD 的应用包括LCD 模块和显示子系统,主控器与HT162X通信只需要3 到4 条线。
由于采用了电容型偏置电压充电泵使得HT1620 的操作电流非常的小。
HT162X 系列包括多款产品适合不同的应用,目前广泛应用于各种液晶驱动控制上。
4.2芯片特性➢操作电压2.4V~3.3V➢LCD 电压3.6V~4.9V可调➢可选择1/2 或1/3 偏置1/2, 1/3 或1/4 占空比➢内部时基频率源➢片内电容型偏置充电泵➢读/写地址自动增加➢3线(或4线)串行接口➢软件配置特性➢两个可选的蜂鸣器频率2KHz 或4KHz4.3HT162X系列芯片选型表片内振荡器-√√-√√√晶体振荡器√√-√√√√5HT1621芯片说明HT1621为32*4位LCD驱动器,共有四种子型号,分别是HT1621-48SSO、HT1621B-48SSOP/DIP、HT1621D-28SKDIP,我们现在使用的为HT1621B-48SSOP,以下就以此芯片为例进行说明。
ldew3.5k-01原理
LDEW3.5K-01是一款LED显示屏,其工作原理如下:
LED显示屏由多个LED灯珠组成,这些灯珠被放置在显示屏的网格上。
每个灯珠都可以通过电流驱动,以决定其是否发光。
通过控制每个灯珠的亮灭状态,可以组成不同的文字、图像或视频。
在LDEW3.5K-01中,每个LED灯珠由一个独立的驱动器控制。
这些驱动器由计算机系统控制,计算机系统可以通过控制驱动器来控制每个LED灯珠的状态。
通过计算机系统,可以将所需的文字、图像或视频数据传输到显示屏上。
为了实现LED显示屏的动态显示效果,需要不断刷新每个LED灯珠的状态。
在LDEW3.5K-01中,刷新率很高,可以达到每秒数千次甚至更高。
这种高刷新率使得显示屏能够实现流畅、清晰的动态显示效果。
除了基本的显示功能外,LDEW3.5K-01还具有多种特殊效果,如渐变、闪烁等。
这些效果可以通过计算机系统进行控制,以增强视觉效果。
总的来说,LDEW3.5K-01的工作原理基于计算机控制技术、LED驱动技术和高刷新率技术等。
通过这些技术,可以实现高质量的动态显示效果,广泛应用于广告、媒体、展览展示等领域。
实验一位逻辑指令一、实验目的1、了解实验装置的结构和外部I/O接线方法。
2、熟悉STEP7-Micro/WIN编程软件的使用方法。
3、通过练习熟悉与、或、非等位逻辑指令。
二、实验仪器1、可编程控制器实验装置 1台2、安装了STEP7-Micro/WIN编程软件的PC机 1台3、PC/PPI编程电缆 1根4、连接导线若干三、实验原理1、基本指令功能介绍标准常开触点用LD表示,标准常闭触点用LDN表示,输出操作用“=”表示;逻辑与、或、“取非”分别用“A”、“O”和“NOT”表示;串联电路的并联操作用“OLD”表示;并联电路的串联操作用“ALD”表示。
2、实验程序应用基本指令编写以下程序,并进行验证。
梯形图语句表图2-1 触点与输出指令四、实验内容及步骤1、在断电的情况下,将编程电缆一端与PLC的编程接口相连,另一端与计算机串口连接。
2、实验接线:将I0.0、I0.1、I0.2分别和A7、A8、A9相连;Q0.0、Q0.1分别和指示区的L0、L1插孔相连;然后将的1M与M相连,1L与+24V相连。
3、打开STEP7-Micro/WIN编程软件,执行菜单命令“文件/新建”,或点击工具条上最左边的按钮,生成一个新的项目。
执行菜单命令“PLC/类型”,设置PLC型号。
4、在主程序(OB1)中输入以上梯形图程序,点击工具条中的或按钮,编译输入的程序。
如程序有错,输出窗口会显示错误信息。
用鼠标双击错误信息可以在程序编辑器中显示相应出错程序段以便修改。
5、打开实验箱电源,将PLC上的模式开关拨到STOP位置。
执行菜单命令“文件/下载”或工具条中的按钮,选择下载的块,执行下载。
6、改变开关A7、A8、A9的状态,观察并记录实验结果。
五、思考题及解答1、写出本实验程序中Q0.0和Q0.1输出的逻辑表达式。
I0.0I0.1I0.2Q0.0+()2、根据以下的时序要求编写程序,并调试直至正确为止。
I0.0I0.1I0.2I0.3I0.4I0.5Q0.0图2-2 时序图参考程序:图2-3 梯形图实验二置位、复位及脉冲输出指令实验一、实验目的1、了解实验装置的结构和外部I/O接线方法。
MEMS原理实验(L-Edit)指导书电子信息科学与技术前言近年来,集成电路设计的发展非常迅速,许多设计必须借助于计算机辅助设计软件来完成,而大部分软件是在工作站上执行的,虽然其功能强大,但是价格昂贵,不利于初学者学习使用。
目前,在个人电脑上开发的Tanner Pro工具为用户提供了完整电路设计的环境,为初学者进入VLSI设计领域提供了帮助。
Tanner集成电路设计软件是由Tanner Research 公司开发的基于Windows 平台的用于集成电路设计的工具软件。
该软件功能十分强大,易学易用,包括S-Edit,T-Spice,W-Edit,L-Edit与LVS,从电路设计、分析模拟到电路布局一应俱全。
其中的L-Edit版图编辑器在国内应用广泛,具有很高知名度,它不仅可以用于传统的集成电路设计,还可以用于MEMS版图设计,具有强大的集成电路设计、模拟验证、版图编辑和自动布局布线等功能,图形处理速度快、编辑功能强、通俗易学、使用方便,很适用于个人进行集成电路设计或其它微细图形加工的版图设计工作。
将其作为《MEMS原理》课程的实验课程,旨在通过对L-edit学习,掌握版图设计的基本流程。
实验一L-Edit的使用一、实验目的1、了解TANNER Pro软件的构成及其功能;2、熟悉版图设计工具L-Edit的使用环境;3、掌握L-Edit的使用方法;二、基本原理1、版图设计的概念:版图设计是创建器件或者系统的工程制图的物理描述过程,而这一物理描述遵守有制造工艺、设计流程以及通过仿真显示为可行的性能要求所带来的一系列约束。
2、TANNER Pro简介Tanner Tools Pro是一套集成电路设计软件,包含S-Edit, T-Spice, W-Edit, L-Edit 与LVS,各软件的主要功能整理如表1所示。
Tanner Pro 的设计流程如图1所示。
将要设计的电路先以S-Edit编辑出电路图,再将该电路图输出成SPICE文件。
12864LCD液晶显示原理及使用方法液晶简介液晶是一种在一定温度范围内呈现既不同于固态液态又不同于气态的特殊物质态,它既具有各向异性的晶体所特有的双折射性又具有液体的流动性液晶显示器件(英文的简写为LCD)就是利用液晶态物质的液晶分子排列状态在电场中改变而调制外界光的被动型显示器件。
点阵式图形液晶显示屏是LCD 的一种能够动态显示图形汉字以及各种符号信息为各种电子产品提供了友好的人机界面点阵式图形液晶显示屏的主要特点如下(这些特点也就是LCD 的特点):工作电压低、微功耗、体积小、可视面积大、无电磁辐射、数字接口、寿命长等特点。
12864LCD是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64 全点阵液晶显示器组成。
可完成图形显示,也可以显示8×4 个(16×16 点阵)汉字或者显示16×4个(8×16 点阵)ASCII码。
分为两种,带字库的和不带字库的。
不带字库的LCD需要自己提供字库字模,此时可以根据个人喜好设置各种字体显示风格,设计上较为灵活。
带字库的LCD 提供字库字模,但是只能显示GB2312的宋体。
各有优缺点,根据不同应用场景灵活选择。
其液晶模块原理图如下所示。
12864LCD点阵图形液晶模块原理框图下面给出了其应用连接电路,分别介绍其各引脚的功能和作用。
如下表所示:12864LCD 的引脚说明管脚号管脚名称LEVER 管脚功能描述1GND 0 电源地2VCC+5.0V 电源电压3VLCD - 液晶显示器驱动电压4RS (D/I) H/LD/I=“H”,表示DB7∽DB0 为显示数据D/I=“L”,表示DB7∽DB0 为显示指令数据5R/W H/L R/W=“H”,E=“H”数据被读到DB7∽DB0R/W=“L”,E=“H→L”数据被写到IR 或DR 6EN H/L R/W=“L”,E 信号下降沿锁存DB7∽DB0R/W=“H”,E=“H”DDRAM 数据读到DB7∽DB08DB1 H/L数据线9DB2 H/L 数据线10DB3 H/L 数据线11DB4 H/L数据线12DB5 H/L数据线13DB6 H/L数据线14DB7 H/L数据线15CS1 H/L H:选择芯片(右半屏)信号16CS2 H/L H:选择芯片(左半屏)信号17RET H/L复位信号,低电平复位18VEE -10VLCD 驱动负电压19LED+ - LED 背光板电源20LED- - LED 背光板电源12864LCD点阵图形液晶模块应用连接电路液晶驱动设置在理解12864LCD硬件原理和管脚功能之后,可以针对LCD进行驱动的编写,分两种情况:仿真环境下和实物开发板编程。
lcd1602液晶屏显示原理(一)LCD1602液晶屏显示LCD1602液晶屏是一种基于液晶技术的显示器件,它可以用于图形、文本等信息的显示。
以下将从显示原理、基本接口、驱动程序及使用注意事项四个方面介绍LCD1602液晶屏。
显示原理LCD1602液晶屏由16列2行的字符组成,每个字符由 5x7个像素组成。
液晶显示器的显示原理是利用液晶分子随电场的变化而改变其各向异性,从而控制光的透过程度实现显示。
基本接口LCD1602液晶屏基本接口共有16个引脚,其中8个为数据引脚(D0-D7),剩下8个为控制引脚(RS、EN、RW、D0-D3不用接)。
以下是各个引脚的具体作用:•VSS:电源负极•VDD:电源正极•VO:液晶显示器偏置电压,可调整亮度•RS:寄存器选择,0为命令,1为数据•RW:读写选择,0为写入,1为读取•EN:使能信号,表示读写已准备好•D0-D7:数据口,用于发送指令或数据驱动程序LCD1602液晶屏的驱动程序通常使用C语言编写,涉及到的主要函数包括初始化、写入数据、写入指令等。
以下是一份简单的驱动程序:#include <reg51.h>#define LCD_DB P0 //定义LCD接口sbit LCD_RS = P1^0; //定义RS、RW、EN引脚sbit LCD_RW = P1^1;sbit LCD_EN = P1^2;void delay_us(unsigned int us) //延时函数{while(us--);}void write_com(unsigned char com) //写入指令{LCD_RS = 0;LCD_RW = 0;LCD_EN = 0;LCD_DB = com;delay_us(5);LCD_EN = 1;delay_us(5);LCD_EN = 0;}void write_data(unsigned char dat) //写入数据{LCD_RS = 1;LCD_RW = 0;LCD_EN = 0;LCD_DB = dat;delay_us(5);LCD_EN = 1;delay_us(5);LCD_EN = 0;}void LCD_init() //初始化{write_com(0x38); //16X2显示,5X8点阵,8位数据接口write_com(0x0c); //显示开,光标隐藏write_com(0x06); //写入光标即向右移动write_com(0x01); //清屏}int main(){LCD_init(); //调用初始化函数write_data('H'); //显示字符“H”write_data('e');write_data('l');write_data('l');write_data('o');write_data(',');write_data('W');write_data('o');write_data('r');write_data('l');write_data('d');}使用注意事项LCD1602液晶屏连接必须正确,如VSS与COM接在一起,否则会造成芯片损坏。
LCD12864系列点阵型液晶显示模块使用说明书一、OCM12864液晶显示模块概述1.OCM12864液晶显示模块是128×64点阵型液晶显示模块,可显示各种字符及图形,可与CPU直接接口,具有8位标准数据总线、6条控制线及电源线。
采用KS0107控制IC。
2.外观尺寸:113×65×11mm(ocm12864-1), 93×70×10mm(ocm12864-2)78×70×10mm(ocm12864-3),3.视域尺寸:×38.8mm(ocm12864-1) ×38mm(ocm12864-2),64×44mm(ocm12864-3)4.重量:大约g补充说明:外观尺寸可根据用户的要求进行适度调整。
二、最大工作范围1、逻辑工作电压(Vcc):~2、电源地(GND):0V3、LCD驱动电压(Vee):0~-10V4、输入电压:Vee~Vdd5、工作温度(Ta):0~55℃(常温) / -20~70℃(宽温)6、保存温度(Tstg):-10~65℃三、电气特性(测试条件 Ta=25,Vdd=+/1、输入高电平(Vih):2、输入低电平(Vil):3、输出高电平(Voh):4、输出低电平(Vol):5、工作电流:四、接口说明12864-3A接口说明表管脚号管脚电平说明CODE: R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0L H D7D6D5D4D3D2D1D0功能:写数据到DD RAM,DD RAM是存储图形显示数据的,写指令执行后Y地址计数器自动加1。
D7-D0位数据为1表示显示,数据为0表示不显示。
写数据到DD RAM前,要先执行“设置页地址”及“设置列地址”命令。
7、读显示数据CODE: RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0H H D7D6D5D4D3D2D1D0功能:从DD RAM读数据,读指令执行后Y地址计数器自动加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所示:序号指令RS R/W D7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/D S4显示开/关控制0000001D C B5光标或字符移位000001S/C R/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进入LCDdelay(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); }}。