版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
任务一
用点阵LED实现移动字符显示任务二
字符液晶LCD1602显示应用任务三
点阵液晶LCD12864显示应用使用单个LED或7段LED数码管作为显示器件,能显示有限的简易字符,对于复杂的字符(包括汉字)及复杂的图形信息等是无法显示的。单色LED点阵则将很多单个的LED按矩阵的方式排列在一起,通过控制每个LED发光或熄灭,完成各种复杂字符或图形的显示。任务提出任务一
用点阵LED实现移动字符显示在电子设备中,通常图像由很多细小的“像素”组合而成,通过LED点阵显示这些像素点,就构成了整个图像。汉字在显示时,可以被认为是一种规格化的特殊图像。本任务的内容是在16×16点阵LED上实现汉字的滚动显示。根据任务目标,单片机必须控制16×16点阵LED中每一只LED的显示状态,才能将这些LED构成相应的汉字图形。移动字幕,实际上就是被显示的点阵(在程序中是一批数据)随时间在显示的位置上不断发生变化的结果。从程序的角度出发,是将一批数据送到LED点阵的不同位置,控制了LED点阵的亮灭,就实现了显示字符的移动效果。任务分析一、点阵显示原理在显示各种信息时,不管是规范的数字、字符、汉字,或者是图片,均可以看成是一幅图像。数字化处理图像时,将图像分为若干区域,用每个区域的平均亮度(或颜色深度)来表示该区域的信息。在还原图像时,按区域的平均值进行显示,这种方式损失了一定的图像细节。单位面积划分的采样区域越多,对应的数据也越多,硬件成本越高,还原的图像越逼真。在实践中,往往根据系统需求,在分辨率和成本上折中处理。相关知识在各种字符的处理过程中,分辨率低的直接采用点阵存储,分辨率高的往往采用曲线描述字符的笔画边沿。前者数据量小,强行放大时,笔画的边沿出现锯齿状;后者在理论上可以被无限地放大,笔画轮廓仍然能保持圆滑。不同规格的点阵示例a)8×8点阵
b)8×16点阵
c)16×16点阵的结构图在对各种点阵进行存储等处理时,描述每一个点都需要一个二进制位,故不同规格的点阵占用的存储空间也不相同。对于同一个字符,8×8点阵只需要8个字节,8×16点阵需要16个字节,16×16点阵则需要32个字节。二、LED点阵从理论上说,不论显示图形还是文字,只要控制组成这些图形或文字的各个点所在位置的LED器件的发光状态,就可以得到想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。16×16的点阵共有256个发光二极管,显然单片机没有这么多端口,如果采用锁存器来扩展端口,按8位锁存器来计算,16×16的点阵需要256/8=32个锁存器。这个数字很庞大,因为这仅仅是按16×16的点阵计算得到,在实际应用中的显示屏往往要大得多,这样锁存器的成本将是一个很庞大的数字。一般来说,需要高亮度显示的各类点阵显示屏是采用静态显示的驱动方式,为了降低成本,点阵显示往往采用动态显示的方式。根据市场需要,动态显示的LED点阵往往以标准点阵模块方式生产。最常见的LED点阵显示模块有5×7、7×9、8×8等各种结构,前两种主要用于显示各种西文字符,后一种可多模块组合用于汉字、图形的显示,并且可组建大型电子显示屏。8×8LED点阵模块a)原理图
b)实物图单个8×8LED点阵显示原理电路图数字“0”的8×8点阵示意图数字0~9的8×8点阵其他字符和汉字的代码可以从计算机显示字库中获得,也可用软件转换而来。对于特殊符号或图案,也常采用先绘出图形后再根据图形写出对应代码的方法。一个8×8点阵在同一时间只能显示其中一个数字,为了显示数字0~9,设定每隔1s变换一个显示数字,即每个数字将连续显示1s,然后再换为下一个数字显示。由于8行8列的LED点阵引线的公共端是连接在一起的,所以不能同时将这些LED都加以控制,只能按行或者按列分别控制显示,以小于人眼视觉暂留时间的间隔重复显示,也就是要求每秒至少显示50次以上,要求一个字符一次显示的时间小于2ms,显示一列(或一行)的时间小于250μs。而具体的显示过程与数码管的动态显示过程相似。以按列显示为例,首先显示一列,延迟一段时间,再显示下一列,再延迟……直到显示完全部列后再重复进行显示。如字符“0”的显示过程如下:首先在P0口送出第一个行控制码00H,在P2口送出一个列控制码01111111;再在P0口送出第二个行控制码00H,在P2口送出一个列控制码10111111;再在P0口送出第三个行控制码3EH,在P2口送出一个列控制码11011111;再在P0口送出第四个行控制码41H,在P2口送出一个列控制码11101111;……送完8个行控制和8个列控制信号,这样一个“0”字就被显示了一遍,接着再重复上述显示过程。三、LED点阵驱动电路如果采用静态显示,则相当于控制若干个独立LED,每只LED都需要一个锁存器来存储其显示的电平,即使采用8D锁存器,器件数量也是较为庞大的。如果仅使用一只8×8LED点阵作为显示器件,可以采用8只数码管动态显示的驱动电路。如果要显示更多的像素点,则需要多块8×8LED点阵组合使用。很显然,用4块8×8LED点阵可组成16×16LED点阵,需要16根行线和16根列线的驱动电路。可以采用锁存器、译码器等电路驱动,与前面的数码管动态显示的驱动类似;也可以采用专用的数码管动态显示驱动电路来实现行线和列线的驱动,如ZLG7290。如果要同时显示更多的点,则需要更多的LED点阵模块,更多的显示驱动电路。但是,用动态显示的方式同时驱动的点阵太多,将会使每一只LED点亮的平均时间减少,从而使显示的亮度降低。在处理较多点的LED显示时,可以采用多个动态显示模块组合的方式。四、点阵取模软件为了便于获取数字、英文、符号、汉字及图像的点阵,可以使用各类点阵取模软件来获得字符和图像的点阵字模。这类软件在字符模式下可以对字符进行处理,支持对常用字符进行取模,支持使用指定字体、指定取点模式及字节排列模式,支持使用系统中任意字体对字符进行取模,支持字体加粗、斜体、删除线、下划线等设置;在图像模式下,支持打开常用图片格式文体,通常也支持绘制、修改图片。同时,这类软件往往可以设置输出汇编或C数组格式。一、硬件设计本任务是在16×16点阵LED上实现汉字的滚动显示,在硬件上要能够控制点阵中的每一只LED的亮灭状态。由于本任务不需要其他控制,故本任务的硬件电路仅由单片机的最小系统、LED点阵及点阵的驱动电路构成。单片机芯片及其最小系统的选择见中的相关内容,本任务使用AT89S51及12MHz的晶振。任务实施在本任务中,选择4块8×8LED点阵模块构成16×16的LED点阵。由于所有的LED分别按行列连接在一起,故只能采用动态显示方式驱动LED点阵。在本任务中,采用两块8D锁存器74HC573作为LED点阵的行驱动电路,同时采用两块串行移位寄存器74LS164作为LED点阵的列驱动电路。当74HC573的数据锁存控制端为高电平时,其内部的D触发器的数据相同,在低电平时其内部触发器的数据将一直维持之前的数据,相当于下降沿锁存;当74HC573的输出使能端为低电平时,其内部的D触发器的数据允许输出,否则其输出端为高阻态。LED点阵实现汉字滚动显示的硬件电路如图所示。如果需要平衡和稳定LED的显示亮度,可以在LED点阵的行与74HC573的输出引脚之间串接限流电阻。16×16的LED点阵显示电路原理图二、软件设计滚动显示汉字,实际上是将显示屏上的显示内容不断地进行连续的修改,如果每次修改都是将上次显示内容向左移动一列,在最右边一列补充新的内容,则显示的效果为显示内容向左移动。修改显示内容的时间间隔决定了移动速度,这个时间间隔在本任务中采用定时中断实现。在动态显示函数中,为了实现16×16点阵的显示,采用逐列动态显示方式。三、Proteus仿真参照前面任务介绍的方法和步骤进行Proteus仿真。如图所示为单片机控制LED点阵显示的仿真效果图。说明:仿真电路中使用网络标号表示电路的连接情况。单片机控制LCD1602仿真效果图在字符和图形显示应用方面,除用LED点阵显示外,在生产和生活中还广泛地应用LCD显示器。LCD显示器种类繁多,在单片机开发中常用到字符液晶和点阵液晶显示器的字符显示与控制方法。任务提出任务二
字符液晶LCD1602显示应用本任务的内容是使用单片机控制字符液晶LCD1602参数值,在屏幕上显示出以下内容:1.在LCD1602的第一行显示提示“This’sasample!”。2.在LCD1602的第二行显示:“No.”和参数数值。3.参数数值的范围为0~65535,显示初值为0,每秒钟显示的参数值加1。本任务主要是以单片机为核心控制液晶显示器实现文字字符的显示,由于LCD显示模块都采用标准TTL电平接口,可直接与单片机端口连接,故本任务设计系统硬件框图如图所示。任务分析LCD显示系统框图由于LCD字符显示和点阵液晶能显示的内容不同,在实际应用中需要根据显示内容来选择是采用字符型液晶还是点阵液晶。若只需显示指定字符、数字,则可用字符型液晶,如选用LCD1602作为显示器件;若还需要显示汉字、图像,则只能选择用点阵液晶,如选用LCD12864作为显示器件。一、LCD1602液晶显示器简介液晶显示器具有体积小、质量轻、功耗极低、显示内容丰富等特点,在单片机应用系统中得到了广泛的应用。相关知识LCD1602是典型的字符液晶,它是一种专门用于显示字母、数字、符号等的点阵液晶模块,它由若干个5×7或5×11点阵字符位组成,每个点阵字符位都可以显示一个字符,每个点阵位和每一行之间都有一个点距的间隔位,不用于显示图形。LCD1602可显示两行内容,每行能显示16个字符,其实物外观和内部结构示意如图所示。LCD1602外形图a)实物图
b)结构示意图二、LCD1602显示控制1.LCD1602的引脚功能LCD1602的引脚说明2.LCD1602的基本操作时序读状态:输入:RS=L,RW=H,EN=H输出:D0~D7=状态字写指令:输入:RS=L,RW=L,D0~D7=指令码,EN=高脉冲输出:无读数据:输入:RS=H,RW=H,EN=H输出:D0~D7=数据写数据:输入:RS=H,RW=L,D0~D7=数据,EN=高脉冲输出:无3.LCD1602的指令说明(1)00111000:16×2显示,5×7点阵,8位数据接口。(2)00000001:显示清屏,数据指针清0,所有显示清0。(3)00000010:显示回车,数据指针清0。(4)00001DCB:D=1开显示D=0关显示。C=1显示光标C=0不显示光标。B=1光标闪烁B=0光标不显示。(5)000001NS:N=1:当读或写一个字符后地址指针加1,且光标加1。N=0:当读或写一个字符后地址指针减1,且光标减1。S=1:当写一个字符后,整屏显示左移(N=1)或右移(N=0),实现光标不移动而屏幕移动的效果。S=0:当写一个字符后,整屏显示不移动。(6)80H~A7H:设置数据地址指针(第一行)。(7)C0H~E7H:设置数据地址指针(第二行)。三、LCD1602驱动函数从LCD1602的接口定义可知,LCD1602有一个8位(D0~D7)的数据接口和三根控制信号线,在电路中这些引脚需要连接到单片机,单片机通过端口控制LCD1602显示字符和数据。在编写驱动程序时,需要用到与LCD1602连接的数据端口和控制引脚,为了使用方便,在下面的程序中将数据端口和控制引脚进行了定义。具体使用时,若单片机的端口与液晶模块的连接方式不同,应在程序中按硬件的实际连接修改这些定义,驱动函数不需要更改即可用于其他单片机系统。1.检测LCD是否忙如果LCD1602空闲则退出,否则等待一段时间,直到空闲为止。2.向LCD写命令函数。可以通过调用该函数设置LCD1602的工作状态,也可以设置光标位置(即显示地址)。3.向LCD写入数据函数该函数写入的内容为显示字符的ASCII码或自定义字符的点阵。4.设置显示位置函数参数x为列地址,有效范围为0~15。参数y为行地址,0为第一行,否则为第二行。5.在指定的位置上显示一个字符参数x为显示的列数,参数y为显示的行数,参数dat是显示内容的ASCII码。6.在指定的位置上显示一个字符串函数将在x列y行开始显示从地址s开始的一个字符串,以字符串的结束标志为显示结束。四、LCD1602显示示例LCD_write_char函数用于在LCD1602上显示一个字符,LCD_write_string函数用于在LCD1602上显示一个字符串,字符串是由一个或多个字符组成的,故两个显示函数可实现相同的字符显示功能。LCD1602接收的数据是ASCII字符。在显示各种字符时,把要显示字符的ASCII值通过这两个显示函数显示即可。一、硬件设计本任务是在LCD1602的第一行显示提示“This’sasample!”,在第二行显示:“No.”和参数数值。LCD1602与单片机的连接十分简单,只需要将数据接口(D0~D7)、控制总线(RS、RW、EN)连接到单片机的IO端口即可。因此,控制LCD1602显示的硬件电路仅包含单片机的最小系统和LCD1602的接口电路,如图所示。任务实施LCD1602显示电路原理图二、软件设计根据任务目标,在LCD1602上显示提示字符串和计数次数。由于LCD1602内部有存储器,单片机只要将显示数据送到LCD1602的存储器中,LCD1602内部的控制电路会自动将这些内容不断地显示在液晶屏上,所以使用单片机驱动LCD1602显示与单片机驱动数码管静态显示类似,在需要更新显示时才输出数据到LCD1602。因此,系统软件流程如图所示。要实现在LCD1602上的显示计数次数,需将次数转换为对应的字符串,然后再送入LCD1602。在本任务中,显示次数需要采用整型变量存储,采用循环模10得到个位和除10数据右移一位相结合的方式得到次数的其他各位数据,在每位数据的基础上加上0的ASCII值即得到各位数码。为了不显示次数前面的0,将字符串初始化为空格组成的字符串,除了末位外,其他数据为0时不再修改字符串中的空格。整个计算和显示的程序流程图如所示,相应的程序见源程序中的display函数。LCD1602显示系统软件流程图a)显示流程
b)数据计算流程三、Proteus仿真参照前面任务介绍的方法和步骤进行Proteus仿真。如图所示为单片机控制LCD1602显示仿真效果图。单片机控制LCD1602显示仿真效果图本任务是使用单片机控制点阵液晶LCD12864显示,具体任务为:1.在LCD12864的第一行显示提示“点阵显示示例”。2.在LCD12864的第二行显示:“次数:”和参数数值。3.参数数值的范围为0~99,显示初值为0,每秒钟显示参数的值加1。任务提出任务三
点阵液晶LCD12864显示应用虽然LCD有字符显示和点阵显示液晶等多种类型,但在与单片机的硬件连接上基本结构是一致的,主要区别是针对不同的LCD模块功能,程序设计上有所不同。本任务主要是以单片机为核心控制液晶显示器实现点阵文字字符的显示,由于LCD显示模块都采用标准TTL电平接口,可直接与单片机端口连接,故本任务设计系统硬件框图如图所示。任务分析LCD显示系统框图一、LCD12864液晶显示器简介LCD12864有多种型号,通常是指128列×64行的点阵液晶模块,常见的有STN、FSTN、DFSTN三大类型,其内部控制芯片有ST7565R、ST7920、KS0724、KS0107等。相关知识LCD12864又分带汉字库和不带汉字库LCM两种,其接口也有不同的标准,一般采用附加后缀作为区分不同类型LCD12864液晶的标志,不同类型LCD12864液晶引脚功能及控制方式略有不同。在这里介绍以KS0107为控制芯片的12864-8液晶模块。LCD12864的点阵大小有不同的规格,其显示颜色也有多种。如图所示是LCD12864液晶的一种实物图。LCD12864实物图LCD12864液晶显示屏共有128×64个点阵,其内部控制芯片将液晶显示屏平均划分为左屏和右屏两个部分,均为64×64点阵,而且两部分各自都有独立的片选信号,以控制选择两个部分。显示屏上的显示数据由液晶模块内部的显示数据随机存储器DDRAM提供。DDRAM每字节中的每个位对应显示屏上的一个点。位值为1,对应点显示,反之不显示。改变显示器显示内容的过程就是修改DDRAM的过程。DDRAM内部每字节对应液晶点阵的一列,每列连接8行,将这8行称为一页。对应显示屏从上到下编号为0~7页。由于液晶的左半部分和右半部分都是64列,所以LCD12864左右屏两部分的每一页包含64个字节,涵盖半边显示屏的64行×64列点阵数据。向显示屏写数据实际上是向DDRAM中写数据,DDRAM不同页和不同列中的字节数据唯一对应显示屏一行的8个显示点。不同页和不同列DDRAM的寻址,通过左半屏和右半屏各自的页地址计数器和列地址计数器实现,因此对显示屏DDRAM写显示数据前,需要先设置页地址和列地址。二、LCD12864引脚功能随着时间的推移,对液晶的需求及生产技术不断发展,LCD12864液晶出现了不同的接口标准。这些接口虽然都是20个引脚,但引脚顺序和引脚功能在不断调整,在这里仅介绍其中的一种接口。LCD12864-8的引脚说明1.LCD12864-8的引脚功能2.LCD12864的基本操作读状态:输入:RS=L,RW=H,EN=H输出:D0~D7=状态字写指令:输入:RS=L,RW=L,D0~D7=指令码,EN=高脉冲输出:无读数据:输入:RS=H,RW=H,EN=H输出:D0~D7=数据写数据:输入:RS=H,RW=L,D0~D7=数据,EN=高脉冲输出:无三、LCD12864主要驱动函数与LCD1602的接口类似,LCD12864有一个8位的数据接口和5根控制信号线,在电路中这些引脚可以直接连接到单片机,单片机通过端口控制LCD12864显示点阵字符和图像。在编写驱动程序时,需要用到与LCD12864连接的数据端口和控制引脚,为了使用方便,在程序中首先对数据端口和控制引脚进行定义。具体应用时,若单片机的端口与液晶模块的连接方式不同,应在程序中按硬件的实际连接修改这些定义,驱动函数不需要更改即可用于其他单片机系统。1.检测LCD是否忙如果空闲则退出,否则等待一段时间,直到空闲为止。2.向液晶写一条指令在使用之前应该选择显示区域。3.定位操作的DDRAM单元根据Col和P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工方案甲方要签字(3篇)
- 森林保护施工方案(3篇)
- 水渠跨越管道施工方案(3篇)
- 活动策划方案执行表格(3篇)
- 游玩平台活动策划方案(3篇)
- 猫须草营销方案(3篇)
- 白酒双旦营销方案(3篇)
- 祥泰广场营销方案(3篇)
- 糕点活动宣传方案策划(3篇)
- 药浴充值活动策划方案(3篇)
- 实验室CNAS认可体系建设
- TCCUA 002-2024 数据中心基础设施运维服务能力要求
- DL-T 5756-2017 高清版 额定电压35kV(Um=40.5kV)及以下冷缩式电缆附件安装规程
- 地方病防治技能理论考核试题
- 浙江花园营养科技有限公司花园年产15.6吨25-羟基维生素D3结晶项目环境影响报告书
- 中国人寿行测题库2023及答案2023
- 麻醉学第六部分疼痛治疗药物依赖与戒断
- 教你填《广东省普通高中学生档案》精编版
- 2023年贵州省黔西南州兴义市桔山街道社区工作者招聘笔试题库及答案解析
- 天使爱美丽-电影剧本法语版
- 《简单教数学》读书-分享-
评论
0/150
提交评论