昆明理工大学微型计算机技术实验设计报告设计项目名称:LCD显示实验设计完成人:张恩寿王基春班级:2011级电科111、112班学号:************ 姓名:张恩寿学号:************ 姓名:王基春一、实验目的学习液晶显示的编程方法,了解液晶显示模块的工作原理。
掌握液晶显示模块与pc机的接口方法。
掌握点阵式LCD的工作原理、使用方法以及动态显示的编程方法。
二、所需设备8086cpu试验箱、8255芯片、导线。
三、实验内容编程实现在液晶显示屏上显示中文汉字,显示各自的名字。
首先,显示器第一行从左到右依次显示“我是张恩寿腾”,然后,第二行倒序依次显示“我是王基春冲”。
四、实验原理(一)、液晶显示器LCD的工作原理,厚度各为1mm的玻璃板之间充满液晶材料,在结构上,LCD屏幕是用两块间距为5~7m并在这两片玻璃板上设置两个透明电极构成的,屏幕最前面是彩色滤光膜,屏幕的后面是背光源。
LCD中的背光源在反射板和光导板的作用下,变成平面光,射向液晶板,形成面光源。
液晶屏幕上的各单元即像素采用行列式结构,在没有电信号时,像素排成整齐的矩阵,使背光源发出的光畅通无阻的穿过。
在液晶两边的电极加上信号电压后,液晶板就处于电场中,液晶单元在电场作用下其状态不再整齐,从而引起各个像素点的透光率发生改变,引起光线灰度有深浅变化。
每个像素点有对应的行位和列位,处于行列交叉点的一个液晶单元的扭曲状态决定于行位上的电极和列位上的电极之间的电压。
组成LCD屏幕时,将同一行上的行位连在一起,称为行电极,而将同一列上的列位连在一起,称为列电极。
显示过程中,依次往每个行电极加选通信号,而往每个列电极加要显示的信号,显示信号的强弱决定了相应像素点液晶的扭曲状态,从而对光的穿透率产生控制作用。
扭曲范围越大,对比度越高。
这样,通过控制电极信号的电压就可以控制像素点的亮度,从而使屏幕产生不同亮度层次的图象。
但如果没有彩色滤光膜,那么,这种图象只能是黑白的。
要使LCD显示彩色影像,必须加上彩色滤光膜。
彩色滤光膜中有一个具有绿光功能的彩色层,它让需要的光透过去,而把不需要的光阻挡住。
和液晶板相对应,滤光膜中的彩色层也分成许多像素单元。
实际上,彩色层中的每个像素和液晶板上的每个像素都由红绿蓝三个子像素构成,两者的子像素也一一对应。
背光源发出的白光透过液晶板以后,成为不同灰度层次的白色光线,照射到滤光膜上的红绿蓝三个子像素,最后在混合成彩色。
(二)、液晶显示器的工作过程:①背光源发出平行且均匀地光线。
②RGB图象信号对液晶板的薄膜晶体管进行控制,使液晶板像素中三个子像素的透光率按信号发生变化,从而使穿过子像素的光线在灰度上按信号被调节。
③光线穿过液晶板后到达彩色滤光膜时,任然是白光,但到达像素点时,红色子像素的白光强度正比于所需红光的强度,同样,到达绿色子像素和蓝色子像素的白光强度正比于所需要的绿光和蓝光强度。
④在彩色滤光膜中,红色子像素点只让红光通过,其他颜色被阻挡,这样,把需要的红光从白光中提取出来。
同样,滤光膜的绿色子像素和蓝色子像素提取了所需要的绿光和蓝光。
穿过滤光膜以后的三色光是和最初的图像信号相对应的,它们最后合成了彩色的像素点。
(三)、8255A的工作原理及工作方式①8255芯片的内部结构及引脚功能8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。
具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。
其各口功能可由软件选择,使用灵活,通用性强。
8255可作为单片机与多种外设连接时的中间接口电路。
8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。
同时必须具有与外设连接的接口A、B、C口。
由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。
8255能并行传送8位数据,所以其数据线为8根D0~D7。
由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0~A1。
此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。
各信号的引脚编号如下:(1)数据总线DB:编号为D0~D7,用于8255与CPU传送8位数据。
(2)地址总线AB:编号为A0~A1,用于选择A、B、C口与控制寄存器。
(3)控制总线CB:片选信号、复位信号RST、写信号、读信号。
当CPU 要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。
8255将3个通道分为两组,即PA0~PA7与PC4~PC7组成A组,PB0~PB7与PC0~PC3组成B组。
(1)A组控制器:控制A口与上C口的输入与输出。
(2)B组控制器:控制B口与下C口的输入与输出。
①数据端口A、B、C端口A:对应一个8位数据输入锁存器和一个8位数据输出锁存器/缓冲器,所以,用端口A作为输入口或者输出口时,数据均受到锁存。
端口B:对应一个8位数据输入缓冲器和一个8位数据输出锁存器/缓冲器。
端口C:对应一个8位数据输入缓冲器和一个8位数据输出锁存器/缓冲器。
当端口C作为输入端口时,对数据不作锁存,而作为输出端口时,对数据进行锁存。
②A组控制和B组控制A组控制:控制端口A和端口C的高四位的工作方式和读/写操作。
B组控制:控制端口B和端口C的第四位的工作方式和读/写操作。
③8255A的控制字方式选择控制字01—方式1 1×—方式2 0—输出 0—输出 1—方式1 0—输出 0—输出端口C置1/置0控制字:当D0为1时,端口C置1;D0为0时,端口C置0.1.方式0基本特点:方式0是一种基本输入或输出方式,该方式适合于通信双方不需要联络信号(应答信号)的简单输入/输出场合,CPU可以随时用输入/输出指令对指定端口进行读写操作。
该方式的特点是:①使8255A分成彼此独立的两8位端口(A口,B口)和两个4位端口(C口高4位和低4位),4个端口的输入 /输出可有16种不同的组态,可适用于各种不同的应用场合。
②方式0规定输出有无锁存能力,而输入数据不被锁存。
③方式0是单向的I/O,即一次初始化指定了输入或输出,则不能改变;若改变,则须重新初始化。
不能指定同一端口同时既作输入又作输出。
④这种方式下,无固定的I/O联络信号,联络信号线可由用户自行安排。
这种方式只能用于无条件传送和查询传送,不能实现中断传送。
2.方式1基本特点:方式1为选通输入/输出方式,即可借助于选通(应答式)联络信号的I/O方式。
这种方式中,A口和B口用于输入/输出的数据端口,C口某些位用作接收或产生应答联络信号。
方式1的特点是:① 有两组选通工作方式的端口,每组包含一个8位数据端口和3条控制线。
只有A口和B口可作为数据端口, C口的某些线被固定作为A口或B口与外设之间的联络信号线,其余的线只能定义为基本I/O,即只能工作于方式0。
② 每组端口提供有中断请求逻辑和中断允许触发器。
对中断允许触发器INTE 的操作是通过对端口C的置位/ 复位控制字进行的。
③ 方式1在输入/输出数据时都被锁存。
④ 方式1可以用查询方式和中断传送方式进行数据的输入/输出。
(1)方式1输入 A口、B口和PC6、PC7作为数据口;端口C其余6位PC5~PC0作为控制口。
A口工作于方式1输入,固定用PC5~PC3作联络信号线;B口工作于方式1输入,固定用PC2~PC作联络信号线。
各信号的作用说明如下::SIB选通信号,输入,低电平有效。
它将外设的信号输入8255A的锁存器中。
IBF(INPUT BUFFER FULL)输入缓冲器满信号,输出,高电平有效,这是8255A 输出的状态信号,通知外设送来的数据已接收。
当CPU用输入指令读走数据后,此信号被清除。
INTR中断请求信号,输出,高电平有效。
当输入数据时,若IBF有效或输出数据时ACK有效,则INTR变成有效,以便向CPU发出中断请求。
INTE中断允许位,INTE=0禁止中断,可事先用位控方式写入。
INTEA写入PC4,INTEB写入 PC2。
(2)方式1输出A口、B口、C口的PC4、PC5作为数据口;PC3~PC、PC6、PC7作为控制口。
A口工作于方式1输出,所用的联络信号线为PC7、PC6和PC3,而B口工作于方式1输出时,使用PC2~PC作其联络信号线。
各联络信号的作用如下所述:OBF输出缓冲器满,低电平有效。
当OBF有效时,表示CPU给指定端口写入一个字节数据,通知外设可以取数据。
OBF是由写信号WR的上跳沿置成有效电平的,而由ACK的有效信号使它恢复为高电平。
ACK应答信号,低电平有效。
当外设得知OBF信号,取数据时,要发出ACK信号选通,取走数据并清除OBF。
A,B两口的ACK信号分别由PC6及PC2提供。
INTR中断请求信号、INTR中断允许位,其作用及引出端都和方式1输入时相同。
3. 方式2基本特点:方式2为分时双向输入/输出方式(双向I/O方式),即同一端口的I/O线既可以作为输入也可以作为输出。
方式2的主要特点为:①A口可以工作于方式2,此时C口有5条线固定为A口和外设之间的联络信号线。
C口余下的3条线可以作为B口方式 1下的联络线,也可以和B口一起成为方式0的I/O线。
②方式2在输入/输出数据时都被锁存。
③ 方式2可以用查询方式和中断传送方式进行数据的输入/输出。
④ 在方式2时为双向传送设置的联络信号,实际上是方式1下输入和输出两种操作时的组合。
只有中断申请信号INTR既可作输入的中断申请,又可作输出的中断申请。
(五)、实验步骤1、实验接线:CS0↔CS8255,PA0~PA7↔DB0~DB7,PC0↔REQ,PC7↔BUSY2、编辑调试程序3、全速运行程序六、软件程序和程序框图框图(实验程序名:LCD.asm)assume cs:codecode segment publicorg 100h;=============================================== start: mov dx, 04a6hmov ax, 88hout dx, axmov ax, 70hout dx, axmov al, 0f4hcall comdcall delaystart1: mov si,offset[table]mov cx, 60wr1: mov dx, 04a4hin ax, dxand ax, 80hjnz wr1mov al, [si]call comdinc siloop wr1call delayok: jmp start1;===============================================delay: mov cx,1000hdlyb: loop dlybret;===============================================comd: mov dx, 04a0hout dx, almov dx, 04a6hmov ax, 71hout dx, axmon: mov dx, 04a4hin ax, dxand ax, 80hjz monmov dx, 04a6hmov ax, 70hout dx ,axret;===============================================table: DB 0F0H,01D,00D,46D,50D,0F0H,02D,00D,42D,39DDB 0F0H,03D,00D,53D,37D,0F0H,04D,00D,22D,87DDB 0F0H,05D,00D,42D,57D,0F0H,06D,00D,44D,58DDB 0F0H,01D,01D,46D,50D,0F0H,02D,01D,42D,39DDB 0F0H,03D,01D,45D,85D,0F0H,04D,01D,27D,89DDB 0F0H,05D,01D,20D,26D,0F0H,06D,01D,19D,69Dcode endsend start六、实验步骤1、实验连线2、运行实验程序,观察液晶的显示状态。