12864点阵式LCD显示屏实验设计报告样本.docx
《12864点阵式LCD显示屏实验设计报告样本.docx》由会员分享,可在线阅读,更多相关《12864点阵式LCD显示屏实验设计报告样本.docx(38页珍藏版)》请在冰豆网上搜索。
12864点阵式LCD显示屏实验设计报告样本
自动化专业综合课程设计1
课程设计报告
系别:
机电与自动化学院
专业班级:
自动化0902
学号:
1184077
学生姓名:
王威
指引教师:
李川香
(课程设计时间:
年月日——月日)
华中科技大学武昌分校
1课程设计目…………………………………………………………………2
2课程设计题目描述和规定……………………………………………………2
3课程设计报告内容…………………………………………………………2
3.1系统软、硬件功能设定(分工方案)……………………………………2
3.2系统硬件电路简介…………………………………………………………2
3.2.1系统硬件电路框图………………………………………………………6
3.2.2LCD显示基本原理………………………………………………………7
3.2.3接线办法…………………………………………………………………7
3.2.4管脚应用阐明……………………………………………………………7
3.3系统软件简介………………………………………………………………8
3.3.1系统软件流程……………………………………………………………9
3.3.2读写操作时序……………………………………………………………11
3.3.3液晶显示模块指令系统…………………………………………………13
3.3.4指令应用阐明……………………………………………………………14
3.4系统软、硬调试过程………………………………………………………16
4.总结……………………………………………………………………………16
参照文献…………………………………………………………………………17
附录………………………………………………………………………………18
1课程设计目
通过电路构造选取、控制方式选取、参数计算、器件选型、硬件制作及软件编程调试等训练切实培养学生综合应用知识、对的分析问题、解决问题能力,特别是实际动手和创新能力,将自动化专业知识进行整合,融会贯通。
2课程设计题目描述和规定
设计题目:
LCD显示屏显示界面设计
信息时代各种信息最后都是要通过信息显示来实现人、机互换,而信息显示依赖于各种显示屏件应用,由于液晶显示屏(LCD)具备低工作电压、微功耗、显示灵活、成本低等特点,因而在电子计算器、智能化仪器仪表、手机、掌上电脑等等领域应用极为广泛。
(1)理解128X64液晶显示屏基本构造、电路特性、软件特性、接口应用技术等;
(2)在
(1)基本上能依照实际工作需要,进行液晶显示界面任意开发;如:
规定每位同窗在液晶(LCD)上显示自己学号(数字)、姓名(中文)等;
(3)撰写课程设计阐明书。
阐明书中规定有主程序流程图、核心子程序流程图及应用系统硬件电路图;
(4)总结调试过程中浮现问题及解决办法。
3课程设计报告内容
3.1系统软、硬件功能设定(分工方案)
系统软件使用keil,89C51单片机,硬件则选用12864液晶显示屏
3.2系统硬件电路简介
一﹑概述
带中文字库128X64是一种具备4位/8位并行、2线或3线串行各种接口方式,内部具有国标一级、二级简体中文字库点阵图形液晶显示模块;其显示辨别率为128×64,内置8192个16*16点中文,和128个16*8点ASCII字符集.运用该模块灵活接口方式和简朴、以便操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵中文.也可完毕图形显示.低电压低功耗是其又一明显特点。
由该模块构成液晶显示方案与同类型图形点阵液晶显示模块相比,无论硬件电路构造或显示程序都要简洁得多,且该模块价格也略低于相似点阵图形液晶模块。
二﹑基本特性
(1)低电源电压(VDD:
+3.0--+5.5V)
(2)显示辨别率:
128×64点
(3)内置中文字库,提供8192个16×16点阵中文(简繁体可选)
(4)内置128个16×8点阵字符
(5)2MHZ时钟频率
(6)显示方式:
STN、半透、正显
(7)驱动方式:
1/32DUTY,1/5BIAS
(8)视角方向:
6点
(9)背光方式:
侧部高亮白色LED,功耗仅为普通LED1/5—1/10
(10)通讯方式:
串行、并口可选
(11)内置DC-DC转换电路,无需外加负压
(12)无需片选信号,简化软件设计
(13)工作温度:
0℃-+55℃,存储温度:
-20℃-+60℃
三、模块接口阐明
管脚号
管脚名称
电平
管脚功能描述
1
VSS
0V
电源地
2
VCC
3.0+5V
电源正
3
V0
-
对比度(亮度)调节
4
RS(CS)
H/L
RS=“H”,表达DB7——DB0为显示数据
RS=“L”,表达DB7——DB0为显示指令数据
5
R/W(SID)
H/L
R/W=“H”,E=“H”,数据被读到DB7——DB0
R/W=“L”,E=“H→L”,DB7——DB0数据被写到IR或DR
6
E(SCLK)
H/L
使能信号
7
DB0
H/L
三态数据线
8
DB1
H/L
三态数据线
9
DB2
H/L
三态数据线
10
DB3
H/L
三态数据线
11
DB4
H/L
三态数据线
12
DB5
H/L
三态数据线
13
DB6
H/L
三态数据线
14
DB7
H/L
三态数据线
15
PSB
H/L
H:
8位或4位并口方式,L:
串口方式(见注释1)
16
NC
-
空脚
17
/RESET
H/L
复位端,低电平有效(见注释2)
18
VOUT
-
LCD驱动电压输出端
19
A
VDD
背光源正端(+5V)(见注释3)
20
K
VSS
背光源负端(见注释3)
*注释1:
如在实际应用中仅使用串口通讯模式,可将PSB接固定低电平,也可以将模块上J8和“GND”用焊锡短接。
*注释2:
模块内部接有上电复位电路,因而在不需要经常复位场合可将该端悬空。
*注释3:
如背光和模块共用一种电源,可以将模块上JA、JK用焊锡短接。
控制器接口信号阐明:
1、RS,R/W配合选取决定控制界面4种模式:
RS
R/W
功能阐明
L
L
MPU写指令到指令暂存器(IR)
L
H
读出忙标志(BF)及地址记数器(AC)状态
H
L
MPU写入数据到数据暂存器(DR)
H
H
MPU从数据暂存器(DR)中读出数据
2、E信号
E状态
执行动作
成果
高—>低
I/O缓冲—>DR
配合/W进行写数据或指令
高
DR—>I/O缓冲
配合R进行读数据或指令
低/低—>高
无动作
忙标志:
BF BF标志提供内部工作状况.BF=1表达模块在进行内部操作,此时模块不接受外部指令和数据.BF=0时,模块为准备状态,随时可接受外部指令和数据.运用STATUSRD指令,可以将BF读到DB7总线,从而检查模块之工作状态.
字型产生ROM(CGROM) 字型产生ROM(CGROM)提供8192个此触发器是用于模块屏幕显示开和关控制。
DFF=1为开显示(DISPLAYON),DDRAM内容就显示在屏幕上,DFF=0为关显示(DISPLAYOFF)。
DFF状态是指令DISPLAYON/OFF和RST信号控制。
显示数据RAM(DDRAM)模块内部显示数据RAM提供64×2个位元组空间,最多可控制4行16字(64个字)中文字型显示,当写入显示数据RAM时,可分别显示CGROM与CGRAM字型;此模块可显示三种字型,分别是半角英数字型(16*8)、CGRAM字型及CGROM中文字型,三种字型选取,由在DDRAM中写入编码选取,在0000H—0006H编码中(其代码分别是0000、0002、0004、0006共4个)将选取CGRAM自定义字型,02H—7FH编码中将选取半角英数字字型,至于A1以上编码将自动结合下一种位元组,构成两个位元组编码形成中文字型编码BIG5(A140—D75F),GB(A1A0-F7FFH)。
字型产生RAM(CGRAM) 字型产生RAM提供图象定义(造字)功能,可以提供四组16×16点自定义图象空间,使用者可以将内部字型没有提供图象字型自行定义到CGRAM中,便可和CGROM中定义同样地通过DDRAM显示在屏幕中。
地址计数器AC地址计数器是用来贮存DDRAM/CGRAM之一地址,它可由设定指令暂存器来变化,之后只要读取或是写入DDRAM/CGRAM值时,地址计数器值就会自动加一,当RS为“0”时而R/W为“1”时,地址计数器值会被读取到DB6——DB0中。
光标/闪烁控制电路 此模块提供硬体光标及闪烁控制电路,由地址计数器值来指定DDRAM中光标或闪烁位置。
3.2.1系统硬件电路框图
128*64图形液晶显示屏内部构造图如图3-2-1
(1),其引脚功能如表3-2-1
(2)。
图3-2-1
(1)模块原理图
引脚符号
状态
引脚名称
功能
CS1CS2
输入
芯片片选端
CS1和CS2高电平选通
E
输入
读写使能信号
在E降沿数据被销存写入及其兼容控制驱动器在E高电平期间数据被读出
R/W
输入
读写选取信号
R/W=1为读选通,R/W=0为写选通
D/I
输入
数据指令选取信号
D/I=1为数据操作,D/I=0为写指令或读状态
DB0-DB7
三态
数据总线
RST
输入
复位信号
复位信号有效时,关闭液晶显示,使显示起始行为0,RST可跟MPU相连,由MPU控制也可直接接VCC使之不起作用
表3-2-1
(2)引脚功能表
3.2.2LCD显示基本原理
FYD12864-0402B是一种具备4位/8位并行、2线或3线串行各种接口方式,内部具有国标一级、二级简体中文字库点阵图形液晶显示模块;其显示辨别率为128×64,内置8192个16*16点中文,和128个16*8点ASCII字符集.运用该模块灵活接口方式和简朴、以便操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵中文.也可完毕图形显示.低电压低功耗是其又一明显特点。
由该模块构成液晶显示方案与同类型图形点阵液晶显示模块相比,无论硬件电路构造或显示程序都要简洁得多,且该模块价格也略低于相似点阵图形液晶模块。
3.2.3接线办法
将LCD模块板插入顾客板扩展槽中,连接好仿真器,打开实验箱电源,将系统资源区数据总线D0到D7分别接扩展板数据总线D0到D7,RST接P1.6,CS2接P1.1,CS1接P1.2,EN接P1.3,RW接P1.4,DI接P1.5。
3.2.4管脚应用阐明
管脚号
管脚名称
电平
管脚功能描述
1
VSS
0V
电源地
2
VCC
3.0+5V
电源正
3
V0
-
对比度(亮度)调节
4
RS(CS)
H/L
RS=“H”,表达DB7——DB0为显示数据
RS=“L”,表达DB7——DB0为显示指令数据
5
R/W(SID)
H/L
R/W=“H”,E=“H”,数据被读到DB7——DB0
R/W=“L”,E=“H→L”,DB7——DB0数据被写到IR或DR
6
E(SCLK)
H/L
使能信号
7
DB0
H/L
三态数据线
8
DB1
H/L
三态数据线
9
DB2
H/L
三态数据线
10
DB3
H/L
三态数据线
11
DB4
H/L
三态数据线
12
DB5
H/L
三态数据线
13
DB6
H/L
三态数据线
14
DB7
H/L
三态数据线
15
PSB
H/L
H:
8位或4位并口方式,L:
串口方式(见注释1)
16
NC
-
空脚
17
/RESET
H/L
复位端,低电平有效(见注释2)
18
VOUT
-
LCD驱动电压输出端
19
A
VDD
背光源正端(+5V)(见注释3)
20
K
VSS
背光源负端(见注释3)
*注释1:
如在实际应用中仅使用并口通讯模式,可将PSB接固定高电平,也可以将模块上J8和“VCC”用焊锡短接。
*注释2:
模块内部接有上电复位电路,因而在不需要经常复位场合可将该端悬空。
*注释3:
如背光和模块共用一种电源,可以将模块上JA、JK用焊锡短接。
□□系统完整硬件电路图见附录1。
3.3系统软件简介
MCS-51系列单片机是美国Intel公司在1980年推出高性能8位单片机,它包括51和52两个子系列。
对于51子系列,重要有8031、8051、8751三种机型,它们指令系统与芯片引脚完全兼容,仅片内程序存储器有所不同,8031芯片不带ROM,8051芯片带4KROM,8751芯片带4KEPROM。
51子系列重要特点为:
◆8位CPU。
◆片内带振荡器,频率范畴1.2~12MHZ。
◆片内带128字节数据存储器。
◆片内带4K程序存储器。
◆片外程序存储器寻址空间为64K字节。
◆片外数据存储器寻址空间为64K字节。
◆128个顾客位寻址空间。
◆21个字节特殊功能寄存器。
◆4个8位并行I/O接口:
P0、P1、P2、P3。
◆2个16位定期器/计数器
◆2个优先级别5个中断源。
◆1个可编程全双工串行I/O接口,可多机通信。
◆111条指令,含乘法指令和除法指令。
◆片内采用单总线构造。
◆有较强位解决能力。
◆采用单一+5V电源。
对于52子系列,有8032、8052、8752三种机型。
52子系列与51子系列相比大某些相似,不同之处在于:
片内数据存储器增至256字节;8032芯片不带ROM,8052芯片带8KROM,8752芯片带8KEPROM;有3个16位定期器/计数器;6个中断源。
3.3.1系统软件流程
程序流程图如图3-3-1
(1)所示,初始化流程图如图3-3-1
(2)所示。
图3-3-1
(1)程序流程图
图3-3-1
(2)初始化流程图
3.3.2读写操作时序
8位数据线传播过程如图3-3-2
(1)所示。
图3-3-2
(1)8位数据线传播过程
MPU写资料到ST7920(8位数据线模式)时序如图3-3-2
(2)所示。
图3-3-2
(2)写操作时序图
MPU从ST7920读资料(8位数据线模式)时序如图3-3-2(3)所示。
图3-3-2(3)读操作时序图
3.3.3液晶显示模块指令系统
惯用基本指令简介如下:
(1)显示开/关指令
当DB0=1时,LCD显示RAM中内容;DB0=0,时关闭显示。
(2)起始行ROW设立指令
(3)页PAGE设立指令
(4)列地址YADDRESS设立指令
设立了页地址和列地址,就唯一拟定了显示RAM中一种单元,这样MPU就可以用读写指令,读出该单元中内容或向该单元写进一种字节数据。
(5)写数据指令
(6)读状态指令
(7)读数据指令
读写数据指令每执行完一次读写操作列地址就自动增一,必要注意是进行读操作之前必要有一次空读操作,紧接着再读才会读出所要读单元中数据。
3.3.4指令应用阐明
模块控制芯片提供两套控制命令,基本指令和扩充指令如下:
指令表1:
(RE=0:
基本指令)
指
指令码
功能
令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
清除
显示
0
0
0
0
0
0
0
0
0
1
将DDRAM填满"20H",并且设定DDRAM地址计数器(AC)到"00H"
地址
归位
0
0
0
0
0
0
0
0
1
X
设定DDRAM地址计数器(AC)到"00H",并且将游标移到开头原点位置;这个指令不变化DDRAM内容
显示状态开/关
0
0
0
0
0
0
1
D
C
B
D=1:
整体显示ON
C=1:
游标ON
B=1:
游标位置反白容许
进入点
设定
0
0
0
0
0
0
0
1
I/D
S
指定在数据读取与写入时,设定游标移动方向及指定显示移位
游标或显示移位控制
0
0
0
0
0
1
S/C
R/L
X
X
设定游标移动与显示移位控制位;这个指令不变化DDRAM内容
功能
设定
0
0
0
0
1
DL
X
RE
X
X
DL=0/1:
4/8位数据
RE=1:
扩充指令操作
RE=0:
基本指令操作
设定CGRAM
地址
0
0
0
1
AC5
AC4
AC3
AC2
AC1
AC0
设定CGRAM地址
设定DDRAM
地址
0
0
1
0
AC5
AC4
AC3
AC2
AC1
AC0
设定DDRAM地址(显示位址)
第一行:
80H-87H
第二行:
90H-97H
读取忙标志和地址
0
1
BF
AC6
AC5
AC4
AC3
AC2
AC1
AC0
读取忙标志(BF)可以确认内部动作与否完毕,同步可以读出地址计数器(AC)值
写数据到RAM
1
0
数据
将数据D7——D0写入到内部RAM(DDRAM/CGRAM/IRAM/GRAM)
读出RAM值
1
1
数据
从内部RAM读取数据D7——D0
(DDRAM/CGRAM/IRAM/GRAM)
指令表2:
(RE=1:
扩充指令)
指
指令码
功能
令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
待命
模式
0
0
0
0
0
0
0
0
0
1
进入待命模式,执行其她指令都棵终结
待命模式
卷动地址开关启动
0
0
0
0
0
0
0
0
1
SR
SR=1:
容许输入垂直卷动地址
SR=0:
容许输入IRAM和CGRAM地址
反白
选取
0
0
0
0
0
0
0
1
R1
R0
选取2行中任一行作反白显示,并可决定反白与否。
初始值R1R0=00,第一次设定为反白显示,再次设定变回正常
睡眠
模式
0
0
0
0
0
0
1
SL
X
X
SL=0:
进入睡眠模式
SL=1:
脱离睡眠模式
扩充
功能
设定
0
0
0
0
1
CL
X
RE
G
0
CL=0/1:
4/8位数据
RE=1:
扩充指令操作
RE=0:
基本指令操作
G=1/0:
绘图开关
设定绘图RAM
地址
0
0
1
0
AC6
0
AC5
0
AC4
AC3
AC3
AC2
AC2
AC1
AC1
AC0
AC0
设定绘图RAM
先设定垂直(列)地址AC6AC5…AC0
再设定水平(行)地址AC3AC2AC1AC0
将以上16位地址持续写入即可
备注;当IC1在接受指令前,微解决器必要先确认其内部处在非忙碌状态,即读取BF标志时,BF需为零,方可接受新指令;如果在送出一种指令前并不检查BF标志,那么在前一种指令和这个指令中间必要延长一段较长时间,即是等待前一种指令的确执行完毕。
3.4系统软、硬件调试过程
系统调试中,一方面是在所有程序﹑操作都正常状况下,编译目的为产生,检查程序后发现用搜狗输入法编写分号不能再软件中显示,修改输入法后,问题得到理解决;另一方面,目的编译无错误,下载程序不成功,仔细检查各个方面后,发现下载线接触问题,重试几次后成功;再次,能正常编译下载,LCD显示屏显示中文有乱码现象,检查后发现是程序问题。
在调试过程中,什么事情都不能马虎,一点点小错误都会导致失败,必要仔细。
4.总结
通过这次设计让我对单片机有更加进一步理解,提高了分析程序和硬件电路能力,对编译调试和下载烧录程序办法更加熟悉。
在找资料过程中不但掌握了课本上没有知识,还提高了自己搜索能力,我相信到将来这是一种很宝贵财富。
学而知局限性,这次设计让我学到了更多东西同步也让我看到了自己知识缺少,从而增进我不断进取﹑不断进步。
这次设计我还明白了一种道理:
有些事情不是自己不会做,而是并没有去行动,因此才会觉得难。
在程序设计中遇到了诸多问题,在教师和同窗帮忙下也一一顺利解决了,我明白了团结合伙重要性。
在整个调试过程中,软件设计是很核心一部,每个指令都关系到最后调试成果,虽然仿真器运营汇编并没有错误,但是那只是检查了最基本语句错误,核心在于整个程序思路要清晰,理解要对的。
总之,这次设计是所学知识一次综合检查,通过自己动手学到了诸多宝贵经验,虽然走了不少弯路,但那也是一次次深刻教训。
这次设计是我大学生涯得到了升华,个人价值得到了必定,它将让我受益终身。
参照文献
1李全利,单片机原理及接口技术,北京,高等教诲出版社,.1
2徐惠民,单片微型计算机原理﹑接口及应用,北京,北京邮电大学出版社,.8
3郭速学,图解单片机功能与应用,北京,中华人民共和国电力出版社,.2
4康维新,MCS-51单片机原理与应用,北京,中华人民共和国轻工业出版社,.9
5汪道辉,单片机系统设计与实践,北京,电子工业出版社,.5
6刘乐善,微型计算机接口技术及应用,武汉,华中科技大学出版社,.4
7耿长青,单片机应用技术,北京,化学工业出版社,1996
8胡汉才,单片机原理及其接口技术,北京,清华大学出版社,1999
9余永权,FLASH单片机原理及应用,北京,电子工业出版社,1997
10徐爱卿,单片微型计算机及其应用,北京,北京航空学院出版社,1986
11施善定,液晶与显示应用,上海,华东化工学院出版社,1993
12范志新,液晶器件工艺基本,北京,北京邮电大学出版社,
附录1系统完整硬件电路
附录2系统完整程序
逐字显示:
#include
#defineucharunsignedchar
#defineuintunsignedint
#definexcharunsignedcharcode
sbitCS1=P2^0;
sbitRS=P2^1;
sbitWWR=P2^2;
sbitRRD=P2^3;
sbitRST=P2^4;
unsignedcharcodeHK_HZ[16][32];
unsignedcharcodeHK_HZ0[16][32];
unsignedcharcodeHK_HZ1[16][32];
unsignedcharcodeHK_HZ2[16][32];
unsignedcharcodeHK_HZ3[16][32];
unsignedcharcodeHK_HZ4[16][32];
unsignedcharcodeHK_HZ5[16]