当前位置:文档之家› LCD 单片机实验

LCD 单片机实验

贵州大学实验报告纸

系别电科班级09 姓名郭举龙学号0907010078 课程名称单片机应用实验成绩

评定教师签名:

实验时间

2012年 5月 14 日

实验十五 LCD显示实验

一、实验目的

掌握点阵式(128×64点)带汉字字库液晶显示屏的程序设计方法。

二、实验内容

根据系统提供的电路,掌握128×64点阵LCD的工作原理,编程实现显示字符、汉字和图片。

三、实验要求

根据实验内容编写一个程序,并在实验仪上调试和验证。

四、实验说明和电路原理图

系统使用OCMJ4X8C_3型液晶显示屏(奥可拉中文集成模块)。

此模块可以显示字母、数字符号、中文字型及图形,具有绘图及文字画面混合显示功能。提供三种控制接口,分别是8位微处理器接口,4位微处理器接口及串行接口(OCMJ4X16A/B 无串行接口)。所有的功能,包含显示RAM,字型产生器,都包含在一个芯片里面,只要一个最小的微处理系统,就可以方便操作模块。内置2M-位中文字型ROM (CGROM) 总共提供8192个中文字型(16x16点阵),16K位半宽字型ROM(HCGROM) 总共提供126 个符号字型(16x8点阵),64x16位字型产生RAM(CGRAM),另外绘图显示画面提供一个64x256点的绘图区域(GDRAM),可以和文字画面混和显示。提供多功能指令:画面清除(Display clear)、光标归位(Return home)、显示打开/关闭(Display on/off)、光标显示/隐藏(Cursor on/off)、显示字符闪烁(Display character blink)、光标移位(Cursor shift)、显示移位(Displayshift)、垂直画面卷动(Vertical line scroll)、反白显示(By_line reverse display)、待命模式(Standbymode)。

OCMJ4X8C_3的引脚说明如表15-1:

表15-1:

引脚名称方向说明

1 VSS - GND(0V)

2 VDD - Supply Voltage For Logic (+5V)

3 NC - Supply Voltage For LCD (悬空)

4 RS(CS) I H: Data L: Instruction Code

5 R/W(STD) I H: Read L: Write

6 E(SCLK) I Enable Signal,高电平有效

7 DB0 I/O 数据0

8 DB1 I/O 数据1

9 DB2 I/O 数据2

10 DB3 I/O 数据3

11 DB4 I/O 数据4

12 DB5 I/O 数据5

13 DB6 I/O 数据6

14 DB7 I/O 数据7

15 PSB I H: Parallel Mode L: Serial Mode

16 NC - 空脚

17 /RST I Reset Signal,低电平有效

18 NC - 空脚

19 LEDA - 背光源正极(+5V)

20 LEDK - 背光源负极(OV)

本实验需要用到CPU模块(F3区)、LCD液晶显示模块(B3区)。液晶显示电路原理图参见图15-1。

图15-1 液晶显示电路

18 NC - 空脚

19 LEDA - 背光源正极(+5V)

20 LEDK - 背光源负极(OV)

五、实验步骤

1)系统各跳线器处在初始设置状态,JT2B跳线器的两只短路帽置位上端。

用导线对应连接液晶显示模块的RS、R/W、E、PSB、RST到CPU模块的P10~P14。

2)启动PC机,打开THGMW-51软件,输入源程序,并编译源程序。编译无误后,下载程序运行。

3)LCD将显示字符和汉字及图形。

六、实验程序

;//******************************************************************

;文件名: LCD_S for MCU51 (LCD12864串行接口程序)

;功能: LCD显示实验

;接线: JT2B跳线器的两只短路帽置位上端。

; 对应连接液晶显示模块的RS、R/W、E、PSB、RST到CPU模块的P10~P14。;//******************************************************************

;RS=CS=D/I

;R/W=STD=STD

;E=SCLK=SCLK

CS BIT P1.0 ;D/I

STD BIT P1.1 ;串行数据线W/R

SCLK BIT P1.2 ;串行时钟线E

PSB BIT P1.3 ;CS1

RES BIT P1.4 ;RES

START EQU 30H ;起始字节

COM EQU 31H ;命令/数据

HDATA EQU 32H ;命令/数据字节高位

LDATA EQU 33H ;命令/数据字节低位

ASC EQU 34H ;ASCII数据单元

XPOS EQU 35H

YPOS EQU 36H

ORG 0000H

MAIN:

MOV SP,#60H

CLR RES

SETB RES ; 可以直接接电源VDD

SETB CS ; 可以直接接电源VDD

CLR PSB ; 可以直接接地VSS

CALL LCDRESET ; 模块系统初始化

CALL HZKDIS ; 显示汉字子程序

MOV START,#0F8H ; 写入命令(11111000)

MOV COM,#80H ; 设定显示位置

CALL LCDWRITE

MOV START,#0FAH ;写数据(11111010)

MOV COM,#10H ;显示字符

CALL LCDWRITE

MOV COM,#11H ;显示字符

CALL LCDWRITE

MOV COM,#1EH ;显示字符

CALL LCDWRITE

MOV COM,#1FH ;显示字符

CALL LCDWRITE

MOV START,#0F8H ; 写入命令(11111000)

MOV COM,#34H ;扩充功能设定

CALL LCDWRITE

MOV COM,#05H ;反白选择

CALL LCDWRITE

CALL DL40MS ;延时

CALL DL40MS

CALL DL40MS

MOV A,#055H ;绘图方式下写55数据

CALL LCDFILL

CALL CLEAR ;清屏

JMP MAIN

CLEAR: ;清屏子程序

MOV A,#00H

CALL LCDFILL

RET

LCDRESET:

LCALL DL1MS ;延时等待内部复位

MOV START,#0F8H ; 写入命令(11111000) MOV COM,#30H ;使用基本指令集

LCALL LCDWRITE

MOV COM,#0CH

LCALL LCDWRITE ;整体显示ON

MOV COM,#01H ;清屏

LCALL LCDWRITE

LCALL DL1MS

MOV COM,#06H ;显示右移

LCALL LCDWRITE

LCALL DL1MS

RET

LCDWRITE: ;模块写入子程序MOV A,COM ;送待发数据命令A

ANL A,#0F0H ;屏蔽低4位

MOV HDATA,A ;将高4位送HDATA单元MOV A,COM ;取低4位

SWAP A ;高低4位互换

ANL A,#0F0H

MOV LDATA,A ;将低4位送LDATA单元MOV A,START ;取起始字节

LCALL SENDBIT ;发送

LCALL DL1MS ;延时1ms

MOV A,HDATA

LCALL SENDBIT

LCALL DL1MS

MOV A,LDATA

LCALL SENDBIT

LCALL DL1MS

RET

HZKDIS: ;显示汉字子程序

MOV R5,#2

MOV START,#0F8H ;写入命令(11111000) MOV COM,#80H ;设定显示位置

LCALL LCDWRITE

MOV DPTR,#TAB ;指向文字型代码表

MOV A,#00H ;取汉字代码低位

DIS_1: MOV R6,#8 ;每行八个汉字

DIS_2: MOV START,#0FAH ;写数据(11111010) CLR A

MOVC A,@A+DPTR

MOV COM,A

CALL LCDWRITE ;写入显示模块

INC DPTR ;取汉字代码高位

CLR A

MOVC A,@A+DPTR

MOV COM,A

CALL LCDWRITE ;写入显示模块

INC DPTR

CALL DL40MS

DJNZ R6,DIS_2 ;未显示完则继续

MOV START,#0F8H ; 写入命令(11111000)

MOV COM,#90H ;第二行地址

CALL LCDWRITE

DJNZ R5,DIS_1

MOV R5,#2

MOV START,#0F8H ;写入命令(11111000)

MOV COM,#88H ;第三行地址

CALL LCDWRITE

DIS_4: MOV R6,#08H

DIS_3:

MOV START,#0FAH ;写数据(11111010)

CLR A

MOVC A,@A+DPTR

MOV COM,A

CALL LCDWRITE ;写入显示模块

INC DPTR ;取汉字代码高位

CLR A

MOVC A,@A+DPTR

MOV COM,A

CALL LCDWRITE ;写入显示模块

INC DPTR

CALL DL40MS

DJNZ R6,DIS_3 ;未显示完则继续

MOV START,#0F8H ; 写入命令(11111000)

MOV COM,#98H ;第四行地址

CALL LCDWRITE

DJNZ R5,DIS_4 ;遇“0”结束显示

RET ;写完两行则结束

LCDFILL: ;绘图

MOV R4,A

MOV XPOS,#0

MOV YPOS,#0

MOV START,#0F8H

MOV COM,#30H ;重新选择基本指令?

CALL LCDWRITE

MOV COM,#01H ;清屏

CALL LCDWRITE

MOV COM,#36H ;扩充功能设定

CALL LCDWRITE

LCD_A1:

MOV YPOS,#0

LCD_A2:

MOV START,#0F8H

MOV A,XPOS ;设定绘图首地址

ADD A,#80H ; X坐标

MOV COM,A

CALL LCDWRITE

MOV A,YPOS ;Y坐标

ADD A,#80H

MOV B,A

MOV COM,A

CALL LCDWRITE

MOV START,#0FAH

MOV COM,R4

CALL LCDWRITE

CALL LCDWRITE

INC YPOS

MOV A,B

CJNE A,#87H,LCD_A2 ;最后一列地址为87H

INC XPOS

MOV A,XPOS

CJNE A,#20H,LCD_A1 ;最后行地址为80H+20H=0A0H

MOV XPOS,#0

LCD_A3:MOV YPOS,#0

LCD_A4:

MOV START,#0F8H

MOV A,XPOS ;设定绘图首地址

ADD A,#80H ; X坐标

MOV COM,A

CALL LCDWRITE

MOV A,YPOS ;Y坐标

ADD A,#80H

MOV B,A

MOV COM,A

CALL LCDWRITE

MOV START,#0FAH

MOV COM,R4

CALL LCDWRITE

CALL LCDWRITE

INC YPOS

MOV A,B

CJNE A,#8FH,LCD_A4 ;最后一列地址为8FH

INC XPOS

MOV A,XPOS

CJNE A,#20H,LCD_A3 ;最后行地址为80H+20H=0A0H

RET

SENDBIT: ;串行字节数据发送子程序MOV R7,#08H ;发送8位

SEND_1:

RLC A

MOV STD,C ;数据送数据线

CLR SCLK ;产生同步时钟

SETB SCLK

DJNZ R7,SEND_1 ;未发送完8位继续

RET

DL1MS: ;延时子程序

PUSH 00H ;0.1MS

PUSH 01H

PUSH 02H

MOV R2,#01H

WA_PA: MOV R0,#0FH

WA_PB: MOV R1,#0FH

DJNZ R1,$

DJNZ R0,W A_PB

DJNZ R2,W A_PA

POP 02H

POP 01H

POP 00H

RET

NOP

RET

DL40MS: ;延时子程序40MS

SETB PSW.3

MOV R2,#03H

DL_PA: MOV R0,#0FFH

DL_PB: MOV R1,#0FFH

DJNZ R1,$

DJNZ R0,DL_PB

DJNZ R2,DL_PA

CLR PSW.3

RET

TAB:

DB '学校:贵州大学'

DB '电子信息科学技术'

DB '姓名:郭举龙'

DB '电话:152********'

DB 00H

END

七、实验总结

经过本次实验,对液晶LCD的显示有了一定的了解,下面做以下几点总结:

点阵字符型液晶显示器LCD是指显示单元是由一定数量的的点阵组成,专用于显示数字字母、常用图形符号、少量自定义符号或汉字。这类显示器把LCD控制器、点阵驱动器、字符发生器、字符存储器全集成在一块印刷版上,构成便于应用的液晶显示模LCM。显示器行数一般为1、2、4三种。每行可显示8、16、20、24、32、40个字符等。具有专门的指令,编写显示程序,开始必须进行初始化,否则模块无法正常工作,下面是两种初始化方法:(1)利用模块内部的复位电路进行初始化,包括以下几点:

①清除显示

②功能显示

③开/关显示

④进入方式设置

(2)软件复位

八、程序流程图

开始

初始化

4行显示,每行8个字符设置显示

方式,光标

显示第一

行字符

光标置第二行

显示第二行字符

依次显示3、4行

结束

相关主题
文本预览
相关文档 最新文档