找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1724|回复: 0
收起左侧

基于单片机的lcd12864

[复制链接]
ID:458954 发表于 2018-12-31 13:55 | 显示全部楼层 |阅读模式
一、设计目的
12864 液晶显示屏中央显示“★仿真实例★”字样。
二、原理介绍
12864LCD :带中文字库的 128X64 是一种具有 4 /8 位并行、 2 线或 3 线串行多种接
口方式, 内部含有国标一级、 二级简体中文字库的点阵图形液晶显示模块; 其显示分辨率为
128×64, 内置 8192 16*16 点汉字,和 128 16*8 ASCII 字符集 .利用该模块灵活的接
口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示
8×4 16×16
点阵的汉字 . 也可完成图形显示 .低电压低功耗是其又一显著特点。
1、引脚功能: GND 电源地 VCC 电源正 +5
V0 液晶显示驱动电源 0~5V RS H:数据输入 L :指令码输入
R/W H:数据读入 L:数据写入 E 使能信号。 由 H L 完成使能。
DB0~DB7 数据线 CS1 CS1=1 芯片选择左边 64*64
CS2 CS2=1 芯片选择右边 64*64
RST 复位 -Vout LCD 驱动负电源
A 背光电源( +K 背光电源( -
2、取码方法:
DDRAM 12864 内部的存储器, 屏幕显示内容与存储单元建立一一对应关系, 模块内
部自带扫描与驱动, 用户只需要将要显示内容写入到
12864 对应的存储器中, 就能实现内容
的显示。
12864 液晶屏横向有 128 个点,纵向有 64 个点。显示屏分为左半屏和右半屏。取
码时, 按照从上到下,从左到右的原则进行取码, 每个字都有
32 个字节与之对应。 编程时,
也按照从上到下,从左到右的原则取数送到相应的
DDRAM 中。
RESPACK8 :排阻。接在 51 单片机的 P0 口,因为 P0 口内部没有上拉电阻,不能输出
高电平, 所以要接上拉电阻。 排阻就是好多电阻连载一起, 他们有一个公共端
1 端为公共端
VCC 或地。




三、液晶显示控制方法
1、读状态
判忙子程序
BUSY: CLR RS RS 0
SETB RW RW 1
PRR01: MOV DATAES,#0FFH ;将端口置 1,准备读数据总线
SETB E E 1,液晶模块将当前状态送到数据总线
MOV A,DATAES ;读数据总线
CLR E ;将 E 清零,为下次读做准备
JB ACC.7,PRR01 ACC.7 1,表示液晶模块处于忙状态,为 0 返回主
程序
RET
如果读到的 BUSY=1 ,表示系统忙,不能操作;只有 BUSY=1 才允许操作。
2、写指令
写指令子程序(
PRM
PRM: LCALL BUSY ;写指令之前判忙
CLR RS RS 0 设置写指令操作
CLR RW RW 0
MOV DATAES,COM COM 中存放指令, DATAES 为某一端口
SETB E
CLR E
E 下降沿液晶模块从数据总线上写入指令
RET
3、写数据
写数据子程序(
PRD
PRD: LCALL BUSY ;写指令之前判忙
SETB RS RS 1 设置为写数据操作
CLR RW RW 0
SETB E
MOV DATAES,DA T
DAT 中存放写入的数据
CLR E E 下降沿液晶模块从数据总线上读入指令
RET
操作每完成一个列地址计数器自动加
1

四、程序
1、程序流程图:
2、程序如下:
ORG 0000H
LJMP MAIN
CSA EQU P2.4
CSB EQU P2.3
RS EQU P2.2
RW EQU P2.1
E EQU P2.0
DATAES EQU P0
COM EQU 21H
DAT EQU 22H
YM EQU 23H
LM EQU 24H
CODES EQU 25H
ORG 0030H
MAIN: LCALL INT
LCALL LEFT
MOV YM,#3
MOV LM,#16
MOV CODES,#4
LCALL CHINE
MOV YM,#3
MOV LM,#32
MOV CODES,#0
LCALL CHINE
MOV YM,#3
MOV LM,#48
MOV CODES,#1
LCALL CHINE
LCALL RIGHT
MOV YM,#3
MOV LM,#0

MOV CODES,#2
LCALL CHINE
MOV YM,#3
MOV LM,#16
MOV CODES,#3
LCALL CHINE
MOV YM,#3
MOV LM,#32
MOV CODES,#4
LCALL CHINE
DDD: LJMP DDD
INT: LCALL LEFT
MOV COM,#3FH
LCALL PRM
LCALL RIGHT
MOV COM,#3FH
LCALL PRM
CLEARL: LCALL LEFT
MOV R4,#00H
CLEAR0: MOV COM,R4
LCALL PAGEFIRST
MOV COM,#00H
LCALL LIEFIRST
MOV R3,#64
CLEAR1: MOV DA T,#00H
LCALL PRD
DJNZ R3,CLEAR1
INC R4
CJNE R4,#08H,CLEAR0
CLEARR: LCALL RIGHT

MOV R4,#00H
CLEAR2: MOV COM,R4
LCALL PAGEFIRST
MOV COM,#00H
LCALL LIEFIRST
MOV R3,#64
CLEAR3: MOV DA T,#00H
LCALL PRD
DJNZ R3,CLEAR3
INC R4
CJNE R4,#08H,CLEAR2
RET
BUSY: CLR RS
SETB RW
PRR01: MOV DATAES,#0FFH
SETB E
MOV A,DATAES
CLR E
JB ACC.7,PRR01
RET
LEFT: CLR CSA
SETB CSB
RET
RIGHT: SETB CSA
CLR CSB
RET
PRM: LCALL BUSY
CLR RS
CLR RW
MOV DATAES,COM

SETB E
CLR E
RET
PRD: LCALL BUSY
SETB RS
CLR RW
SETB E
MOV DATAES,DA T
CLR E
RET
PAGEFIRST:MOV A,COM
ORL A,#0B8H
MOV COM,A
LCALL PRM
RET
LIEFIRST:MOV A,COM
ORL A,#40H
MOV COM,A
LCALL PRM
RET
CHINE: MOV DPTR,#TAB
MOV A,CODES
MOV B,#32
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
MOV COM,YM

LCALL PAGEFIRST
MOV COM,LM
LCALL LIEFIRST
MOV R0,#00H
RETURN0:MOV A,R0
MOVC A,@A+DPTR
MOV DAT,A
LCALL PRD
INC R0
CJNE R0,#16,RETURN0
MOV A,YM
INC A
MOV COM,A
LCALL PAGEFIRST
MOV COM,LM
LCALL LIEFIRST
RETURN1:MOV A,R0
MOVC A,@A+DPTR
MOV DAT,A
LCALL PRD
INC R0
CJNE R0,#32,RETURN1
RET
TAB:DB 80h, 40h, 20h, 0F8h, 07h, 10h, 10h, 10h
DB 0F1h,96h, 90h, 90h, 0D0h, 98h, 10h, 00h
DB 00h, 00h, 00h, 0FFh, 00h, 80h, 40h, 30h
DB 0Fh, 40h, 80h, 40h, 3Fh, 00h, 00h, 00h; " 仿"
DB 00h, 04h, 04h, 0F4h, 54h, 54h, 54h, 5Fh
DB 54h, 54h, 54h, 0FCh, 16h, 04h, 00h, 00h
DB 10h, 10h, 90h, 5Fh, 35h, 15h, 15h, 15h

DB 15h, 15h, 35h, 5Fh, 0D0h, 18h, 10h, 00h; “真”
DB 10h, 0Ch, 04h, 44h, 8Ch, 94h, 35h, 06h
DB 0F4h,04h, 04h, 04h, 04h, 14h, 0Ch, 00h
DB 02h, 82h, 82h, 42h, 42h, 23h, 12h, 0Eh
DB 03h, 0Ah, 12h, 22h, 42h, 0C3h, 02h, 00h; " 实 "
DB 40h, 20h,0F8h, 07h, 84h, 64h, 3Ch, 24h
DB 24h,0E6h, 04h,0F0h, 00h, 0FFh, 00h, 00h
DB 00h, 00h,0FFh, 01h, 20h, 11h, 0Ah, 04h
DB 03h, 00h, 00h, 47h, 80h, 7Fh, 00h, 00h; " 例"
DB 00h, 20h, 60h,0E0h, 0E0h,0E0h,0F0h,0FCh
DB 0FFh,0FCh,0F0h,0E0h,0E0h,0E0h, 60h, 20h
DB 00h, 00h, 40h, 30h, 3Dh, 1Fh, 1Fh, 0Fh
DB 07h, 0Fh, 1Fh, 1Fh, 3Dh, 30h, 40h, 00h; "*"
END


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表