文档库 最新最全的文档下载
当前位置:文档库 › 单片机实验LCD显示实验

单片机实验LCD显示实验

单片机实验LCD显示实验
单片机实验LCD显示实验

显示实验实验19 LCD

一、实验目的:学习液晶显示的编程方法,了解液晶显示模块的工作原理。掌握液晶显示模块与单片机的接口方法。二、所需设备模块挂箱、8031CPUCPU 三、实验内容。编程实现在液晶显示屏上显示中文汉字“北京理工达盛科技有限公司”四、实验原理说明

五、实验步骤 1、实验连线。CS8255接CS0BUSY,PC0接REQ,接接8255的PA0~PA7DB0~DB7,PC7 、运行实验程序,观察液晶的显示状态。 2 六、程序框图开始

初始化

查表读数据

N BUSY为0?Y数据输出REQ置位

N BUSY为1?Y

REQ复位N数据读完?

Y

结束七、程序清单.

八、附:点阵式LCD模块

点阵式LCD模块由一大一小两块液晶模块组成。两模块均由并行的数据接口和应答信号接口两部分组成,电源由接口总线提供。

(1)OCMJ2×8液晶模块介绍及使用说明

OCMJ中文模块系列液晶显示器内含 GB 2312 16*16点阵国标一级简体汉字和

ASCII8*8(半高)及8*16(全高)点阵英文字库,用户输入区位码或 ASCII 码即可实现文本显示。

OCMJ中文模块系列液晶显示器也可用作一般的点阵图形显示器之用。提供有位点阵和字节点阵两种图形显示功能,用户可在指定的屏幕位置上以点为单位或以字节为单位进行图形显示。完全兼容一般的点阵模块。

OCMJ中文模块系列液晶显示器可以实现汉字、ASCII 码、点阵图形和变化曲线的同屏显示,并可通过字节点阵图形方式造字。

本系列模块具有上/下/左/右移动当前显示屏幕及清除屏幕的命令。一改传统的使用大量的设置命令进行初始化的方法,OCMJ 中文模块所有的设置初始化工作都是在上电时自动完成的,实现了“即插即用”。同时保留了一条专用的复位线供用户选择使用,可对工作中的模块进行软件或硬件强制复位。规划整齐的10个用户接口命令代码,非常容易记忆。标准用户硬件接口采用REQ/BUSY 握手协议,简单可靠。

1)表—1:OCMJ2X8(128X32)引脚说明

硬件接口接口协议为请求/应答(REQ/BUSY)握手方式。应答BUSY 高电平(BUSY =1)表示OCMJ

忙于内部处理,不能接收用户命令;BUSY 低电平(BUSY =0)表示 OCMJ 空闲,等待接收用户命令。发送命令到 OCMJ可在BUSY =0 后的任意时刻开始,先把用户命令的当前字节放到数据线上,接着发高电平REQ 信号(REQ =1)通知OCMJ请求处理当前数据线上的命令或数据。OCMJ模块在收到外部的REQ高电平信号后立即读取数据线上的命令或数据,同时将应答线BUSY变为高电平,表明模块已收到数据并正在忙于对此数据的内部处理,此时,用户对模块的写操作已经完成,用户可以撤消数据线上的信号并可作模块显示以外的其他工作,也可不断地查询应答线BUSY是否为低(BUSY =0?),如果BUSY =0,表明模块对用户的写操作已经执行完毕。可以再送下一个数据。如向模块发出一个完整的显示汉字的命令,包括模块在接收到最后一个字节后才开始执行整个命令的内个字节,5坐标及汉字代码在内共需.

部操作,因此,最后一个字节的应答BUSY 高电平(BUSY =1)持续时间较长,具体的时序图和

时间参数说明查阅相关手册。

用户命令

用户通过用户命令调用 OCMJ 系列液晶显示器的各种功能。命令分为操作码及操作数两部分,操作数为十六进制。共分为 3 类10 条。分别是:

一)、字符显示命令: 1、显示国标汉字; 2、显示8X8 ASCII字符; 3、显示8X16ASCII字符;二)、图形显示命令: 4、显示位点阵; 5、显示字节点阵;

三)、屏幕控制命令: 6、清屏; 7、上移; 8、下移;

9、左移; 10、右移;

(以下所示取值范围分别为:2X8、4X8、5X10的取值范围)

1)显示国标汉字

命令格式: F0 XX YY QQ WW

该命令为5字节命令(最大执行时间为1.2毫秒,Ts2=1.2mS),其中

XX:为以汉字为单位的屏幕行坐标值,取值范围00到07、02到09、00到09

YY:为以汉字为单位的屏幕列坐标值,取值范围00到01、00到03、00到04

QQ WW:坐标位置上要显示的GB 2312 汉字区位码

2) 显示8X8 ASCII字符

命令格式:F1 XX YY AS

该命令为4字节命令(最大执行时间为0.8毫秒,Ts2=0.8mS),其中

XX:为以ASCII码为单位的屏幕行坐标值,取值范围00到0F、04 到13、00到13

YY:为以ASCII码为单位的屏幕列坐标值,取值范围00到1F、00到3F、00 到4F

AS :坐标位置上要显示的ASCII 字符码

3) 显示8X16 ASCII字符

命令格式:F9 XX YY AS

该命令为4字节命令(最大执行时间为1.0毫秒,Ts2=1.0mS),其中

XX:为以ASCII码为单位的屏幕行坐标值,取值范围00到0F、04到13、00到13

YY:为以ASCII码为单位的屏幕列坐标值,取值范围00到1F 、00到3F、00到4F

AS:坐标位置上要显示的 ASCII 字符码

4) 显示位点阵

命令格式: F2 XX YY

该命令为3字节命令(最大执行时间为0.1毫秒,Ts2=0.1mS),其中

XX:为以1*1点阵为单位的屏幕行坐标值,取值范围00到7F、20到9F、00到9F

YY:为以1*1点阵为单位的屏幕列坐标值,取值范围00到40、00到40、00到40

5) 显示字节点阵

F3 XX YY BT

命令格式:

该命令为4字节命令(最大执行时间为0.1毫秒,Ts2=0.1mS),其中

XX:为以1*8点阵为单位的屏幕行坐标值,取值范围00到0F、04 到13、00到13

YY:为以1*1点阵为单位的屏幕列坐标值,取值范围00到1F、00到 3F、00到4F

BT:字节像素值,0 显示白点,1 显示黑点(显示字节为横向)

6) 清屏

命令格式:F4

该命令为单字节命令(最大执行时间为11毫秒,Ts2=11mS),其功能为将屏幕清空。

7) 上移

格式:F5

该命令为单字节命令(最大执行时间为25毫秒,Ts2=25mS),其功能为将屏幕向上移一个点阵行。

8) 下移

命令格式:F6

该命令为单字节命令(最大执行时间为30毫秒,Ts2=30mS ),其功能为将屏幕向下移动一个点阵行。

9) 左移

命令格式:F7

该命令为单字节命令(最大执行时间为12毫秒,Ts2=12mS),其功能为将屏幕向左移动一个点阵行。

10) 右移

命令格式: F8

该命令为单字节命令(最大执行时间为12毫秒,Ts2=12mS),其功能为将屏幕向右移动一个点阵行。

显示窗口坐标关系

以上列表为汉字、ASCⅡ码显示屏幕坐标(ASCⅡ码Y坐标一点阵坐标为准)。如显示图形点阵,则以128*64(OCMJ4X8)或128*32(OCMJ2X8)点阵坐标为准,可在屏幕任意位置显示。

(2)OCMJ2×8液晶模块外部连接原理图及接口说明

模块连接图与OCMJ4X8图3 –55 89C52 REQ插孔分别对应于图中相应的引脚。DB0~DB7插孔

对应于位数据线;BUSY、模块上

8液晶模块的基本测试方法)OCMJ2×(3 。接REQBUSY,T0接,T1DB0~DB7CPU模块的P1.0~P1.7接。运行测试程序,液晶屏上应显示“北京理工达盛科技有限公司”测试参考程序如下:BUSY BIT P3.4

STOBE BIT P3.5

CSEG AT 0000H

LJMP START

CSEG AT 4100H

START: CLR STOBE

SETB BUSY

MOV A, #0F4H

ACALL SUB2

ACALL DELAY ;清屏

START1: MOV R0, #01H

MOV R1, #3CH

HE1: JB BUSY HE1

ACALL SUB1

ACALL SUB2

DJNZ R1, HE1

ACALL DELAY

ACALL DELAY

ACALL DELAY

LJMP START1

DELAY: MOV R2, #23H

DEL0: MOV R4, #06FH

DEL1: MOV R6, #06FH

DEL2: DJNZ R6, DEL2

DJNZ R4, DEL1

DJNZ R2, DEL0

RET

SUB2: NOP

MOV P1,A

SETB STOBE

INC R0

HE2: NOP

JNB BUSY,HE2

CLR STOBE

RET

SUB1: MOV A, R0 ;显示“北京理工达盛科技有限公司”

MOVC A,@A+PC

RET

DB 0F0H,01D,00D,17D,17D,0F0H,02D,00D,30D,09D DB 0F0H,03D,00D,32D,77D,0F0H,04D,00D,25D,04D DB 0F0H,05D,00D,20D,79D,0F0H,06D,00D,42D,02D DB 0F0H,01D,01D,31D,38D,0F0H,02D,01D,28D,28D DB 0F0H,03D,01D,51D,48D,0F0H,04D,01D,47D,62D DB 0F0H,05D,01D,25D,11D,0F0H,06D,01D,43D,30D END

相关文档