LCD12864显示图形程序
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
;MOV B,#55H
;LCALL SHOW_HLINE
;LCALL DELAY
;显示横线 2
;MOV B,#0FFH
;MOV
29H,#00H
;LCALL SHOW_VLINE
;LCALL DELAY
;显示竖线 1
;MOV B,#00H
;MOV
29H,#0FFH
;LCALL SHOW_VLINE
;LCALL DELAY
XY地址计数器是一个9位计数器,高3位是X地址计数器,低6位为Y地址计数 器。XY地址计数器实际上是作为DDRAM的地址指针。X地址计数器为DDRAM的页指 针,Y地址计数器为DDRAM的Y地址指针。
X地址计数器是没有记数功能的,只能用指令设置。 Y地址计数器具有循环记数功能,各显示数据写入后,Y地址自动加1。Y地址 指针从0到63。
2
嵌入式应用软件园,版权所有,请勿转载/销售。
第 1 章 HS12864-1 简介
1.1 实物图
1.2 概述
HS12864-1 是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及格 128 x 64全点阵液晶显示器组成,可完成图形显示,也可以显示8 x 4个(16 x 16 点阵)汉字 主要技术参数和性能: 1. 电源 VDD +5V 模块内自带-10V负压 用于LCD的驱动电压; 2. 显示内容 128(列) 64(行)点; 3. 全屏幕点阵; 4. 七种指令; 5. 与CPU接口采用8位数据总线并行输入输出和8条控制线; 6. 占空比1/64; 7. 工作温度 -10 +55 存储温度 -20 +60。
COM
EQU 20H ;指令数据寄存器
DAT
EQU 21H ;显示数据寄存器
;********************************变量定义结束**********************************
;**********************************程序开始************************************
第 2 章 程序功能 ...................................................................................8 2.1 硬件连接 .................................................................................... 8 2.2 程序功能 .................................................................................... 8
;*
控制器:KS0107
*
;*
LCD 型号:TS12864A-2 或兼容型号
*
;*
MCU:AT89S5* ,晶体频率:11.0592MHz
*
;*
取模方式:纵向字节倒序
*
;*
CS1 和 CS2 为高电平有效
*
*
;****************************LCM 与 89C51 接口定义*******************************
;显示第二幅图片
MOV LCALL MOV LCALL LCALL AJMP
DPTR,#TAB5 WRITE_RIGHT
DPTR,#TAB6 WRITE_LEFT DELAY L0100
;显示第三幅图片
;******************************************************************************
7. 读显示数据 读出显示数据。
7
嵌入式应用软件园,版权所有,请勿转载/销售。
第 2 章 程序功能
程序中包含 LCD12864 用到的所有函数:初始化、写指令、写数据、 判忙碌。
2.1 硬件连接
LCD 12864 D/I R/W E CS1 CS2 RET
AT89S51 P1.2 P1.1 P1.0 P2.6 P2.5 P2.4
;显示竖线 2
MOV LCALL MOV LCALL LCALL
DPTR,#TAB1 WRITE_RIGHT
DPTR,#TAB2 WRITE_LEFT DELAY
;显示第一幅图片
MOV LCALL MOV LCALL LCALL
DPTR,#TAB3 WRITE_RIGHT
DPTR,#TAB4 WRITE_LEFT DELAY
Z地址计数器可以用指令显示起始行预置。因此,显示屏幕的起始行就由此 指令控制,即DDRAM的数据从哪一行开始显示在屏幕的第一行。此模块的DDRAM 共64行,屏幕可以循环滚动显示64行。
5
嵌入式应用软件园,版权所有,请勿转载/销售。
1.5 LCD 引脚分布
表2 LCD 12864引脚分布
6
嵌入式应用软件园,版权所有,请勿转载/销售。
DI
EQU P1.2
RW
EQU P1.1
E
EQU P1.0
CS1 EQU P2.6
CS2 EQU P2.5
RST
EQU P2.4
;********************************接口定义结束**********************************
;*********************************变量定义*************************************
DR是用于寄存数据的,与指令寄存器寄存指令相对应。当D/I=1时,在下降 沿作用下,图形显示数据写入DR,或在E信号高电平作用下由DR读到DB7~DB0数 据总线。DR和DDRAM之间的数据传输是模块内部自动执行的。
4
嵌入式应用软件园,版权所有,请勿转载/销售。
3. 忙标志 BF BF标志提供内部工作情况。BF=1表示模块在内部操作,此时模块不接受外部
4. 设置Y地址 设置Y地址计数器的值。 0x40: 第一列。
5. 读状态 BUSY: 即BF,如前所述。 ON/OFF: 显示的开关状态。 RST: 表示内部正在初始化,此时组件不接受任何指令和数据。
6. 写显示数据 按照表1的位置,存储显示数据。数据为1,表示该点显示;数据为0,该点 不显示。 取模方式:纵向字节倒序。
第 3 章程序代码 .....................................................................................9 3.1 文本版代码 ................................................................................ 9 3.2 图片版代码 .............................................................................. 21
3
嵌入式应用软件园,版权所有,请勿转载/销售。
1.3 外形尺寸
1.4 硬件构成说明
IC2控制模块的左半屏,IC1控制模块的右半屏。IC3为行驱动器,IC1和IC2 为列驱动器。IC1、IC2、IC3 含有以下主要功能器件。 1. 指令寄存器(IR)
IR是用于寄存指令码,与数据寄存器数据相对应。当D/I=0时,在E信号下降 沿的作用下,指令码写入IR。 2. 数据寄存器(DR)
表1 DDRAM地址
6. 显示数据RAM DDRAM DDRAM是存储图形显示数据的。数据为1,表示该点显示;数据为0,该点不
显示。DDRAM与地址和显示位置的关系见DDRAM地址表。 7. Z地址计数器
Z地址计数器是一个6位计数器。此计数器具备循环记数功能。它是用于显示 行扫描同步,当一行扫描完成,此地址计数器自动加1,指向下一行扫描数据。 RST复位后Z地址计数器为0。
;模 块:LCD12864
;文件名:LCD_ShowPicture.asm
;作 者:嵌入式应用软件园 http://emsys.taobao.com
;修 订:
;
版本号
原因
;
1.0
初始版本
;******************************************************************************
2.2 程序功能
LCD 会每隔 1 秒显示一个画面,共 3 个画面,一直循环下去。 第 1 秒:
第 2 秒: 第 3 秒:
8
嵌入式应用软件园,版权所有,请勿转载/销售。
第 3 章程序代码
3.1 文本版代码
我们的辛勤付出,需要您的肯定,请访问: 嵌入式应用软件园。
;******************************************************************************
TCON,#00H
LCALL
LCD_INIT
;中断允许 ;优先中断 ;电平中断
;********************************************************以上是软件初始化
;MOV B,#0AAH
;LCALL SHOW_HLINE
;显示横线 1
;LCALL DELAY
Βιβλιοθήκη Baidu
ORG 0000H
;程序由地址 0000 开始执行
AJMP MAIN
ORG 0030H
MAIN:
AJMP L0100
L0100: CLR
RST ;软件复位
NOP
NOP
SETB RST
MOV
SP,#60H
9
嵌入式应用软件园,版权所有,请勿转载/销售。
MOV MOV MOV
IE,#81H
IP,#01H
指令和数据;BF=0时,模块为准备状态,随时可接受外部指令和数据。利用状态 读指令,可以将BF读到DB7总线,从而检验LCD的工作状态 4. 显示控制触发器DFF
此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示,DISPLAY OFF DDRAM的内容就显示在屏幕上;DFF=0为关显示。DISPLAY OFF DDRAM的状态是指 令显示ON/OFF和RST信号控制的。 5. XY地址计数器
;函数名:WRITE_RIGHT
;输 入:无
1.6 指令说明
表2 LCD 12864的7种指令
1. 显示 ON/OFF 0x3F: LCD显示开,可以对LCD进行其它的指令操作。 0x3E: LCD显示关,不可对LCD进行其它的指令操作。
2. 显示起始行 设置Z地址计数器的值。 0xC0:从DDRAM在第一行,开始显示。
3. 设置X地址 设置X地址计数器的值。 0xB8: 第一页。
嵌入式应用软件园,版权所有,请勿转载/销售。
LCD 12864 显示图形程序
作者: 嵌入式应用软件园
1
嵌入式应用软件园,版权所有,请勿转载/销售。
目录
第 1 章 HS12864-1 简介.........................................................................3 1.1 实物图 ........................................................................................ 3 1.2 概述 ............................................................................................ 3 1.3 外形尺寸 .................................................................................... 4 1.4 硬件构成说明............................................................................. 4 1.5 LCD 引脚分布 ..............................................................................6 1.6 指令说明 .................................................................................... 7