基于单片机的LCD显示系统设计.docx

上传人:b****5 文档编号:2785838 上传时间:2022-11-15 格式:DOCX 页数:24 大小:157.69KB
下载 相关 举报
基于单片机的LCD显示系统设计.docx_第1页
第1页 / 共24页
基于单片机的LCD显示系统设计.docx_第2页
第2页 / 共24页
基于单片机的LCD显示系统设计.docx_第3页
第3页 / 共24页
基于单片机的LCD显示系统设计.docx_第4页
第4页 / 共24页
基于单片机的LCD显示系统设计.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

基于单片机的LCD显示系统设计.docx

《基于单片机的LCD显示系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的LCD显示系统设计.docx(24页珍藏版)》请在冰豆网上搜索。

基于单片机的LCD显示系统设计.docx

基于单片机的LCD显示系统设计

1系统概述

1.1系统设计任务、目的和意义

课程设计是在校学生素质教育的重要环节,是理论与实践相结合的桥梁和纽带。

单片机课程设计,要求学生更多的完成软硬结合的动手实践方案,解决目前学生课程设计过程中普遍存在的缺乏动手能力的现象.《单片机课程设计》是继《电子技术》、和《单片机原理与应用》课程之后开出的实践环节课程,其目的和任务是训练学生综合运用已学课程“电子技术基础”、“单片机原理及应用”的基本知识,独立进行单片机应用技术和开发工作,掌握单片机程序设计、调试和应用电路设计、分析及调试检测。

本设计的大致要求为:

1、设计12864LCD与单片机的显示接口电路;2、至少设置两个按键,按下不同的按键,显示不同的内容,要求所显示内容为汉字。

随着社会的发展,趣来趣多的地方需要应用显示功能,各种数字显示仪器中的显示、广告牌、数码产品等,传统的数码管显示已经远远不能满足各行各业的需求。

基于单片机的LCD显示是一种用单片机来控制的一种显示系统,它不仅能显示种各数字、字母、还能显示各种字体的汉字以及一些简单的图象,使用起来极为方便,只要通过对单片机写入一定的程序来控制LCD的显示即可完成,根据程序的不同而产生不同不效果以满足各种不同需求。

1.2LCD显示原理

LCD由两块玻璃板构成,厚约1mm,其间由包含有液晶材料的5μm均匀间隔隔开。

因为液晶材料本身并不发光,所以在显示屏两边都设有作为光源的灯管,而在液晶显示屏背面有一块背光板(或称匀光板)和反光膜,背光板是由荧光物质组成的可以发射光线,其作用主要是提供均匀的背景光源。

  

背光板发出的光线在穿过第一层偏振过滤层之后进入包含成千上万液晶液滴的液晶层。

液晶层中的液滴都被包含在细小的单元格结构中,一个或多个单元格构成屏幕上的一个像素。

在玻璃板与液晶材料之间是透明的电极,电极分为行和列,在行与列的交叉点上,通过改变电压而改变液晶的旋光状态,液晶材料的作用类似于一个个小的光阀。

在液晶材料周边是控制电路部分和驱动电路部分。

当LCD中的电极产生电场时,液晶分子就会产生扭曲,从而将穿越其中的光线进行有规则的折射,然后经过第二层过滤层的过滤在屏幕上显示出来。

1.3单片机及LCD选型

此设计是通过单片机来控制LCD来显示一些要求的汉字,如邵阳学院、电气工程系、零八电本二班等字样。

单片机种类繁多,由于上课学习的是51系列的单片机,着重介绍了89C51,故对此类型的单片机比较熟悉,故在此设计中选用的单片机为AT89C51,方便操作和进一步学习加深。

对于LCD,此设计的要求要用128×64的LCD,同时由于AMPIRE12864LCD的资料比较容易得到,且比较通俗易懂,便于快速上手,所以就选用AMPIRE12864LCD用来作为显示。

1.4系统总设计框图

此设计的总设计框图如下:

图1.1总设计框图

 

2系统硬件设计

2.1硬件的选择

在此设计中用到的元件列表如下:

表2-1元件列表

AT89C51

AMPIRE12864LCD

BUTTON

RESPACK-8

CRYSTAL

RES

CAP

CAP-ELEC

2.2AMPIRE12864LCD简介

2.2.1主要参数

表2-2主要参数

显示容量:

128X64点阵(STN型)

模块最佳工作电压:

5.0V

工作电压:

4.8~5.2V

点尺寸:

0.48X0.48(WXH)mm

工作电流:

5.1mA(5.0V)

工作温度:

-20~60℃

背光源颜色:

黄绿

存储温度:

-30~70℃

背光源电流:

<140mA

2.2.2引脚简介

表2-3引脚简介

编号

符号

引脚说明

编号

符号

引脚说明

1

VSS

电源地

10

DB3

DataI/O

2

VDD

电源正极(+5V)

11

DB4

DataI/O

3

V0

LCD偏压输入

12

DB5

DataI/O

4

RS

数据/命令选择端(H/L)

13

DB6

DataI/O

5

R/W

读写控制信号(H/L)

14

DB7

DataI/O

6

E

使能信号

15

CS1

片选IC1信号

7

DB0

DataI/O

16

CS2

片选IC2信号

8

DB1

DataI/O

17

RTS

复位端(H:

正常工作,L:

复位)

9

DB2

DataI/O

18

VEE

LCD驱动负压输出(-5V)

2.2.3主要指令代码

表2-4指令代码

指令码

功能

3EH

关显示

3FH

开显示

指令码

功能

0C0H

设置显示初始行

指令码

功能

0B8H+页码(0~7)

设置数据地址页指针

40H+列码(0~63)

设置数据地址列指针

2.2.4读时序

图2.1读时序图

2.2.5写时序

图2.2写时序图

2.3主要电路模块简介

本硬件电路主要由四大模块组成:

主芯片模块;晶振和复位电路模块;控制接钮模块;显示电路模块。

2.3.1主芯片模块

XTAL1:

接外部晶振和微调电容的一端。

在片内,它是振荡电路反相放大器的输入端。

在采用外部时钟时,该引脚输入外部时钟脉冲。

XTAL2:

接外部晶振和微调是容的一端。

在89C51片内它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体的固有频率。

若须采用外部时钟电路,则该引脚悬空。

要检查89C51的振荡电路是否正常工作,可以用示波器查看XTAL2端是否有脉冲信号输出。

RST:

AT89C51的复位信号输入引脚,高电平有效。

当此输入端保持两个机器周期的高电平时,就可以完成复位操作。

ALE:

允许地址锁存信号端。

当89C51上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率的1/6。

CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。

PSEN:

访问外部程序存储器选通信号,低电平有效。

当89C51由片外程序存储器取指令时,每个机器周期两次PSEN有效。

但在此期间内,每当访问外部数据存储器时,这两次有效的PSEN信号将不出现。

EA:

该引脚为低电平时,则读取外部的程序代码来执行程序。

P0、P1、P2、P3:

8位并行输入输出口。

每个端口都是8位准双向口,共占32只引脚。

每一条都能独立地用作输入或输出。

每个端口都包括一个锁存器、一个输出驱器和输入缓冲器。

作输出时,数据可以锁存;作输入时,数据可以缓冲。

图如图2.3。

2.3.2复位和晶振电路模块

上部分为晶振电路。

89C51芯片内部有一个高增益反相放大器,用于构成振荡器。

反相放大器的输入端为XTAL1,输出端为XTAL2,两个跨接石英晶体及两个电容就可以构成稳定的自激振荡器。

电容器通常取30pF左右,可以稳定频率并对振荡频率有微调作用。

下部分为手动复位和上电自动复位组合的复位电路。

上电自动复位是在加电瞬间电容通过充电来实现。

在通电瞬间电容通过电阻充电,RES端出现正脉冲,用以复位。

只要电源的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。

所谓手动复位,是指通过接通一按钮开关,使单片机进入复位状态。

系统上电运行后,若需要复位,一般是通过手动复位来实现的。

图如图2.5。

2.3.3控制按钮模块

上方的按钮为常规显示汉字的按钮,一按下一行内容就以常规方式显示出来。

再按一次则接着常规显示下一行,每次按下只显示一行。

下方的按钮为滚动显示汉字的按钮,一按下一行内容就以滚动方式显示出来,再按一次显示下一行,每次按下只显示一行。

按上键,所连引脚出现下降沿,此起外部中断0,当出现外部中断0,则产生一个常规方式显示的条件,常规显示出现。

按下键,所连引脚出现下降沿,此起外部中断1,当出现外部中断1,则产生一个滚动方式显示的条件,滚动显示出现。

图如图2.4。

2.3.4显示电路模块

P0口提供指令和数据信号,由DB0到DB7输入,DB0到DB7为数据输入输出端和指令的输入端。

P2口低5位提供使能及一些控制信号。

其中E为使能信号,高电平有效,当此引脚出现高电平时,整个显示器被使能,只有当显示器使能时,其它的此此脚才能工作。

R/W为读写控制信号。

当此引脚为高电平时,为读功能,为低电平时为写功能。

在读时只可以读数据,而在写时既可以写数据也可以写指令。

RS为数据命令选择端,当此引脚为高电平时,写入的是数据,当此引脚为低电平时,写入的是指令。

CS1和CS2为片选信号,因为此显示器的显示屏被分为左右两块,分别由CS1和CS2来控制,当CS1为高电平,CS2为低电平时,就表示选择了左半屏,当CS1为低电平,CS2为高电平时,表示选择了右半屏。

左右半屏在物理上是相近的。

图如2.6。

图2.3主芯片图

图2.4控制键钮电路图

图2.5复位与晶振电路图

图2.6显示电路图

2.4完整硬件电路图

图2.7完整电路图

3系统软件设计

3.1程序设计

3.1.1程序设计整体思路

此设计是由单片机控制的LCD显示系统,外设二个按钮来控制显示的方式。

对于按钮的工作方式可以是中断也可以是查询,在此设计中所选用的外部中断。

用单片机的P2口的低5来作为LCD的显示控制端,即控制LCD使能端、读写控制揣、数据指令选择端及两个选屏端。

对于此设计课题,因为要求是用128×64的显示器来显示汉字,而汉字及字符(如空格等)是需要显示代码的。

所以,首先是通过一定的软件如ZIMO等来获取你想要显示的汉字的编码代码。

有了这款软件,就方便多了,只在要软件中打入你想要显示的汉字或是字符,它就会自动生成代码,使用起来非常方便,而不需要人工去编写相应的代码。

由于此LCD的显示屏是被分为了两部分的,即左半屏和右半屏,分别由CS1和CS2来控制,两个半屏的内存都分别由X和Y两个地址来确定,X地址共64位,而Y地址两边各64位,一共128位,所以有的时候就称其为12864显示器。

X地址共有8个值,从0到7,即每个值有8位,每显示一个字符要2个X值,而Y共128个值,分为两块即左右两块,分别从0到63,即每个值一位。

每显示一个汉字要16个Y值,每显示一个字符要8个Y值。

所以应该对两半屏分别编程取显示地址。

同时还得用一个显示子程序来显示显示地址中保存的显示代码(汉字代码)。

由此LCD的显示时序图可知,在显示过程中还需要一定的延时(不同的型号,延时时间是不同的)并且在显示前需将一些特定的控制端置相应的电平,比如说还所有输入之关需先把LCD总使能端打开,即置E端为高电平,然后应再输入指令代码,对其进行相关的设置。

所以还需要一个适当的延时子程序以及输入数据前的准备程序。

除了这些外,还应写一个初始化程序,用来对中断等一些程序所需要的端口进行初始。

对于开中断,应打开总中断EA以及相应的低级中断EX0和EX1。

再者就是两个中断程序,对于这两个中断程序比较简单,只需对要执行相关控制(即常规显示和滚动显示)所需要的每件进行满足即可。

最后就是主函数,它的主要功能就是判断中断是否来临,来临了,然后判断是外部中断0还是外部中断1,然后根据是0还是1来执行相应的程序,选择相应的显示方式。

当四行全显示完了后,中断失效,即不管你是否还按键,都不再会对显示造成影响。

显示出来的内容将一直保持。

3.1.2主要子程序模块

延时子程序

voiddelay()

{

uchari;

for(i=0;i<20;i++);

}

输入准备子程序

voidready()

{

doi=0;图3.1延时子程序流程图

wor=0;

ena=0;

delay();

ena

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1