《【精选】LCD驱动(在屏幕上显示班级和姓名)》由会员分享,可在线阅读,更多相关《【精选】LCD驱动(在屏幕上显示班级和姓名)(10页珍藏版)》请在金锄头文库上搜索。
1、LCD 驱动(在屏幕上显示班级和姓名)一、实验原理1.方案: (1)显示内存与液晶显示屏(LCD 128*64)的关系; (2)利用 8255 芯片的 PA 口作为液晶显示器接口的数据线,PC 口作为其控制线,自建字库后,通过查表程序依次将字库中的字形代码送显示内存显示汉字或图形; (3)编程流程:开显示设置页地址设置 Y 地址写数据表1写数据表 2; (4)显示控制指令表2、硬件原理图 CPU 的 AD0-AD7 与 8255 的数据线 D0-D7 相连接,CPU 的读/写控制信号与 8255 的读/写控制信号相连接,CPU 的端口选择信号(A1、A0)与 8255 的端口选择信号(A1、A
2、0)相连接,CPU 片选信号 CS(低电平有效)与8255 的 A 口控制地址相连接。 各模块说明:从图中可知,8255A 由以下三部分组成: (1)外设接口部分(数据端口 A、B、C) a)端口 A。端口 A 内部包含一个 8 位数据输入锁存器和一个 8 位数据输出锁存/缓冲器。 b)端口 B。端口 B 内部包含一个 8 位数据输入缓冲器和一个 8 位数据输出锁存/缓冲器。 c)端口 C。端口 C 内部包含一个 8 位数据输入缓冲器和一个 8 位数据输出锁存/缓冲器。通过向芯片写入方式选择控制字,端口 C 可以被分成两个 4 位端口。 (2)内部逻辑(A 组和 B 组控制电路) 这两组控制电
3、路,根据芯片内部的控制寄存器内容(存放着 CPU 输出的方式选择控制字)和“读/写控制逻辑”发出的读/写命令,控制两组端口的工作方式和读/写操作。 A 组控制电路控制端口 A、端口 C 高 4 位(PC7PC4) 。 B 组控制电路控制端口 B、端口 C 低 4 位(PC3PC0) 。(3)CPU 接口部分 a)读/写控制逻辑电路地址线 A1 和 A0、CS(片选) 、RD(读控制) 、WR(写控制) 、RESET(复位)信号的组合,用来控制 8255A 进行数据信息、状态信息和控制信息的传输。 b)数据总线缓冲器它是一个 8 位的双向三态数据缓冲器,它是8255A 与 CPU 数据总线的接口
4、,所有数据的输入/输出,以及 CPU 用输出指令向 8255A 发出的控制字和用输入指令向 8255A 发出的控制字和用输入指令从 8255A 读入的外设状态信息,都是通过这个缓冲器传送的。LCD 液晶显示屏的原理: LCD 是依赖极化滤光器(片)和光线本身。自然光线是朝四面八方随机发散的。极化滤光器实际是一系列越来越细的平行线。这些线形成一张网,阻断不与这些线平行的所有光线。极化滤光器的线正好与第一个垂直,所以能完全阻断那些已经极化的光线。只有两个滤光器的线完全平行,或者光线本身已扭转到与第二个极化滤光器相匹配,光线才得以穿透。LCD 正是由这样两个相互垂直的极化滤光器构成,所以在正常情况下
5、应该阻断所有试图穿透的光线。但是,由于两个滤光器之间充满了扭曲液晶,所以在光线穿出第一个滤光器后,会被液晶分子扭转 90 度,最后从第二个滤光器中穿出。 LCD 由两块玻璃板构成,厚度规格有 0.7mm,0.63mm,0.5mm(也可以通过物理或者化学减薄的方式做到更薄),其间由包含有液晶(LC)材料的 35m 均匀间隔隔开。因为液晶材料本身并不发光,所以需要给显示屏配置额外的光源,在液晶显示屏背面有一块导光板(或称匀光板)和反光膜,导光板的主要作用是将线光源或者点光源转化为垂直于显示平面的面光源。背光源发出的光线在穿过第一层偏振过滤层之后进入液晶层。液晶层中的水晶液滴都被包含在细小的单元格结
6、构中,一个或多个单元格构成屏幕上的一个像素。在玻璃板与液晶材料之间是透明的电极,电极分为行和列,在行与列的交叉点上,通过改变电压而改变液晶的旋光状态,液晶材料的作用类似于一个个小的光阀。在液晶材料周边是控制电路部分和驱动电路部分。当 LCD 中的电极产生电场时,液晶分子就会产生扭曲,从而将穿越其中的光线进行有规则的折射,然后经过第二层过滤层的过滤在屏幕上显示出来。2.2 实验部分接线: (1)CPU 的 AD0-AD7 与 8255 的数据线 D0-D7 相连接 (2)CPU 的读/写控制信号与 8255 的读/写控制信号相连接 (3)CPU 的端口选择信号(A1、A0)与 8255 的端口选
7、择信号(A1、A0)相连接 (4)CPU 片选信号 CS(低电平有效)与 8255 的 A 口控制地址相连接 (5)8255 的 PA7-PA0 与 LCD128*64 的 DB7-DB0 相连接 (6)8255 的 PC0 与 LCD128*64 的 RS 端口连接 (7)8255 的 PC1 与 LCD128*64 的 R/W 端口连接 (8)8255 的 PC2 与 LCD128*64 的 E 端口连接 (9)8255 的 PC4 与 LCD128*64 的 CS1 端口连接 (10)8255 的 PC6 与 LCD128*64 的 CS2 端口连接 (11)LCD128*64 的/RS
8、T 端口与实验箱上的/RST 端口连接 (12)在 P.状态下,按 SCAL (13)运行程序 LCDQD.ASM;或在实验系统处于 P.状态下输入22E0EXEC即可3、 实验代码分析 3.1 显示左半屏 在屏幕上输出字符时,在屏幕上显示左半屏的字。首先要先对PC 口进行设置,PC4 控制左半屏,通过对 PC6 和 PC4 的输入来选择左半屏输出。 MOV DX,PCTL;右半屏选通无效 MOV AL,CS2N OUT DX,AL MOV AL,CS1 OUT DX,AL CALL XPAGE 设置 X,Y,PAG CALL COM ;显示字符3.2 显示右半屏 在屏幕上输出字符时,在屏幕上
9、显示右半屏的字。首先要先对PC 口进行设置,PC6 控制右半屏,通过对 PC6 和 PC4 的输入来选择右半屏输出。 MOV DX,PCTL MOV AL,CS1N ;左半屏选通无效 OUT DX,AL MOV AL,CS2 ;右半屏选通有效 OUT DX,AL CALL XPAGE ;设置 X,Y,PAG CALL COM ;显示字符3.3 设置 X、Y、Z 在液晶屏上显示字符,用 Z 来控制循环(循环从第一行开始) 。用 X 和 Y 分别来设置地址和页数,在数据输入后要先对数据进行锁存。MOV ZR,0c0H MOV YR,40H MOV PAG,0B8H MOV DX,PA MOV AL
10、,ZR 设置 Z=0 OUT DX,AL MOV AL,YR 设置 Y OUT DX,AL MOV AL,PAG 设置页数 OUT DX,AL3.2.4 控制输出方式 在液晶屏上输出字符,Y16 就是控制输出一个字符,通过 PA 口输出字符。 MOV Y16,10H MOV BX,OFFSET TAB5 J4: MOV AL,CS:BX MOV DX,PA OUT DX,AL ;PA 口输出 INC BX DEC Y16 CMP Y16,00H ;判断字符是否输出结束 JNZ J42 J42: JMP J43.4 锁存数据 当 R/W=L时,E 信号下降沿锁存 DB7-DB0,当 R/W=H,
11、E=H时,DRAM 数据读到 DB7-DB0。MOV DX,PCTL ;PC1=0 MOV AL,RWN OUT DX,AL MOV AL,EN ;PC2=0 OUT DX,AL 4、系统调试4.1 调试手段 调试工具:dice8088 1)利用 dice8088 完成代码的编辑,编译与连接(执行菜单项:“调试” , “编译程序” ) 。 2)编译连接通过的程序通过 RS323 串口装载置实验硬件系统中(执行菜单项:“调试”-“编译程序” ) 。此操作必须在 PC 机与实验箱通信正常连接的前提下进行(在 dice8088 应用程序中状态栏中有联机信息) ;造成联机时报的原因有:串口线未连接(重
12、新连接串口线);通信数据出错(关闭试验箱电源和 dice8088 应用程序,然后先打开实验箱电源,再执行 dice8088 应用程序) ;硬件系统哦那个处于非接收状态(只有在实验箱上的第一位数码管显示 P.时方可装载程序,可通过按实验箱上的复位按钮使其恢复到 P.状态) ; 3)运用程序:方法一、通过 dice8088 应用程序控制实验箱中得程序运用(执行菜单项;”调试”-“连续运行” ) ;方法二、通过实验箱的小键盘运行程序,先在 P.状态下输入代码起始地址(本程序的起始地址为:11B0) ,后按小键盘上的执行按钮(EX) ,此时数码管的最高位显示程序运行提示符“” 。在“”提示符下,PC 机时无法实现对实验箱进行程序装载的,只有使实验箱恢复到“P.”方可装载。 4.2 调试过程中的问题 1)起初程序运行时,不能正常装载数据,LCD 显示器显示不出编辑的内容; 2)程序正常装载时,LCD 显示屏出现花屏,与要输出的内容不符; 3)尝试输出不同的字,但不能正常装载 。 4.3 解决办法 1)实验箱上 LCD 显示屏与内存连接时,/RST 端口没有连接; 2)深入了解代码,理解大部分代码的含义,并适当修改部分代码,直到 LCD 显示屏上出现所要输出内容; 3)由于代码太长,不易理解,根据需要自行修改代码,使我们更加能够理解其原理。