LCD屏幕显示设计.docx

上传人:b****4 文档编号:4852229 上传时间:2022-12-10 格式:DOCX 页数:32 大小:547.97KB
下载 相关 举报
LCD屏幕显示设计.docx_第1页
第1页 / 共32页
LCD屏幕显示设计.docx_第2页
第2页 / 共32页
LCD屏幕显示设计.docx_第3页
第3页 / 共32页
LCD屏幕显示设计.docx_第4页
第4页 / 共32页
LCD屏幕显示设计.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

LCD屏幕显示设计.docx

《LCD屏幕显示设计.docx》由会员分享,可在线阅读,更多相关《LCD屏幕显示设计.docx(32页珍藏版)》请在冰豆网上搜索。

LCD屏幕显示设计.docx

LCD屏幕显示设计

摘要……………………………………………………………..….1

第一章动态显示屏的设计要求与设计方案……………..………2

1.1设计方案的论证与确定…………………………………..…2

1.2动态显示器的设计要求……………………………………..2

第二章各单元模块设计…………………………………..………3

2.1各单元模块功能介绍及电路设计……………………..……..3

2.2特殊元器件的介绍………………………………………..….5

第三章动态显示屏的硬件与软件设计………………………...15

3.1硬件组成……………………………………………….……..15

3.2PCB板制作…………………………………………………..16

3.3软件设计………………………………………………………16

第四章动态显示屏的系统调试与功能…………………………17

4.1系统的调试……………………………………………………17

4.2系统的功能……………………………………………………17

第五章设计体会与小结…………………………………………18

参考文献…………………………………………………………..19

附件1…………………………………………………………..20

附件2……………………………………………….…………..29

附件3…………………………………………………………...30

附件4…………………………………………………………...31

附件5…………………………………………………………...32

摘要

随着电子技术的发展,计算机在现代科学技术的发展中起着越来越重要的作用,多媒体技术、网络技术、智能信息处理技术、数据挖掘与处理技术等都离不开计算机,而LCD液晶显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。

本次设计的目的在于利用单片机控制LCD来实现显示字幕的功能,这种功能已经被广泛的地应用于我们的生活中,例如公交车站的电子报站显示,计程车上的计价器及很多日常生活中我们所能接触到的电子产品,它的工作范围已经涉及到我们生活中的方方面面。

本人在此利用刚学过的单片机与接口技术中的51单片机与电脑软件相结合控制1602型LCD显示数据。

该方法可以对显示内容进行实时控制,从而实现诸如闪动、滚动、打字等多种动态显示效果。

该方法同时还可以调节动态显示的速度,同时用户也可以在PC机上进行显示效果的预览,显示内容亦可以即时修改。

关键词:

LCD1602AT89S52单片机动态显示

 

第一章动态显示屏的设计要求与设计方案

1.1设计方案的论证与确定

通过分析LCD的接口原理可知电路的连接存在两种控制方式:

直接控制方式和间接控制方式。

根据设计的要求,以及设计的便捷性,本设计采用直接控制的方式,基于汇编和C语言的编程,采用软硬件结合的方式来实现控制,即于89S52单片机的开发板上,用89S52单片机作为芯片,用LCD1602作为液晶显示屏,以P0口作为LCD1602的数据输入,以P3.0绑定LCD1602A的RS引脚,以P3.1绑定LCD1602A的E引脚,LCD1602A的R/W引脚接地,P0.0-P0.7对应这DB0-DB7,通过这样的形式去论证动态现实屏的结论。

方框图如下:

图1-1

1.2动态显示频的设计要求

1)键盘管理程序(包括键扫描、键处理程序)

2)LED动态显示程序

3)逐字显示程序,显示3个字“Hello!

Wellcome。

4)向上滚动显示程序

5)向左滚动显示程序

 

第二章各单元模块设计

2.1各单元模块功能介绍及电路设计

2.1.11602型液晶显示器模块介绍

图2-2为1602液晶显示模块,负责将单片机中执行结果显示出来

图2-11602LCD模块

2.1.2时钟电路的设计

图2-3时钟电路

 

图2-3时钟电路

上图是MCS-51内部时钟方式的电路,外接晶体以及电容C4和C5构成并联谐振电路,接在放大器的反馈回路中。

对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡器频率的高低、谐振器的稳定性、起振的快速性和温度的稳定性。

晶体可在1.2MHz~12MHz之间任选,电容C4和C5的典型值在20pF~100pF之间选择。

在设计印刷电路板时,晶体或陶瓷振荡器和电容应尽可能安装的与单片机芯片靠近,以减少寄生电容,更好的保证振荡器稳定和可靠的工作。

图2-4复位电路

2.1.3复位电路的设计

 

AT89S52的复位是由外部的复位电路来实现的。

复位电路通常采用上电自动复位和按钮复位两种方式。

本设计中所用到的是按钮复位。

2.1.4电源电路设计

图2-5系统电源线路

 

本装置的电源是通过USB接口后经C1,C2进行滤波,滤波后的电压通电时发光二极管亮。

2.2特殊元器件的介绍

2.2.1AT89S52芯片

图2-6AT89S52芯片引脚图

 

AT89S52主要性能:

1、8K字节在系统可编程Flash存储器

2、1000次擦写周期

3、全静态操作:

0Hz~33Hz

4、三级加密程序存储器

5、32个可编程I/O口线

6、三个16位定时器/计数器

7、八个中断源

8、全双工UART串行通道

9、低功耗空闲和掉电模式

10、掉电后中断可唤醒

11、看门狗定时器

12、双数据指针

13、掉电标识符

功能特性描述:

AT89S52提供以下功能:

8k字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

同时,AT89S52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。

掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

VCC:

电源电压

GND:

P0口:

P0口是一个8位漏极开路的双向I/O口,也即地址/数据总线复用口。

作为输出口,每位能吸收电流的方式驱动8个TTL逻辑电平。

对P0端口写“1”时,引脚用作高阻抗输入。

当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。

在这种模式下,P0具有内部上拉电阻。

在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。

程序校验时,需要外部上拉电阻。

P1口:

P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。

对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

此外,P1.0和P1.1分别作定时器/计数器2的外部计数输(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。

在flash编程和校验时,P1口接收低8位地址字节。

表2.1

引脚号

第二功能

P1.0

T2(定时器/计数器T2的外部计数输入)

P1.1

T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)

P2口:

P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。

对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。

在这种应用中,P2口使用很强的内部上拉发送1。

在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。

在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

P3口:

P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。

对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

P3口亦作为AT89C52特殊功能(第二功能)使用,如下表所示。

在flash编程和校验时,P3口也接收一些控制信号。

表2.2

引脚号

第二功能

P3.0

RXD(串行输入)

P3.1

TXD(串行输出)

P3.2

INT0(外部中断0)

P3.3

INT1(外部中断1)

P3.4

T0(定时器0外部输入)

P3.5

T1(定时器1外部输入)

P3.6

WR(外部数据存储器写选通)

P3.7

RD(外部数据存储器读选通)

RST:

复位输入。

晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。

ALE/PROG:

地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。

在flash编程时,此引脚(PROG)也用作编程输入脉冲。

在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。

然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。

如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。

这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。

否则,ALE将被微弱拉高。

这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。

PSEN:

外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。

当AT89C52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。

EA/VPP:

访问外部程序存储器控制信号。

为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。

为了执行内部程序指令,EA应该接VCC在flash编程期间,EA也接收12伏VPP电压。

XTAL1:

振荡器反相放大器和内部时钟发生器的输入端。

XTAL2:

振荡器反相放大器的输出端。

Flash编程―并行模式:

AT89S52带有用作编程的片上Flash存储器阵列。

编程接口需要一个高电压(12V)编程使能信号,并且兼容常规的第三方Flash或EPROM编程器。

编程方法:

对AT89C51编程之前,需设置好地址、数据及控制信号,可采用下列步骤对AT89C51编程:

1.在地址线上输入编程单元地址信号

2.在数据线上输入正确的数据

3.激活相应的控制信号

4.把EA/Vpp升至12V

5.每给Flash写入一个字节或程序加密位时,都要给ALE/PROG一次脉冲。

每个字节写入周期是自身定时的,通常均为1.5ms。

重复1—5步骤,改变编程单元的地址和写入的数据,直到全部文件编程结束。

 

2.2.2LCD显示模块功能特性描述

1、1602LCD的基本参数及引脚功能

1602LCD主要技术参数:

显示容量:

16×2个字符

芯片工作电压:

4.5—5.5V

工作电流:

2.0mA(5.0V)

模块最佳工作电压:

5.0V

字符尺寸:

2.95×4.35(W×H)mm

引脚功能说明

1602LCD采用标准的16脚(带背光)接口,各引脚接口说明如表2.3所示:

表2.3

编号

符号

引脚说明

编号

符号

引脚说明

1

VSS

电源地

9

D2

数据

2

VDD

电源正极

10

D3

数据

3

VL

液晶显示偏压

11

D4

数据

4

RS

数据/命令选择

12

D5

数据

5

R/W

读/写选择

13

D6

数据

6

E

使能信号

14

D7

数据

7

D0

数据

15

BLA

背光源正极

8

D1

数据

16

BLK

背光源负极

第1脚:

VSS为地电源。

第2脚:

VDD接5V正电源。

第3脚:

VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。

第4脚:

RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:

R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。

当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。

第6脚:

E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:

D0~D7为8位双向数据线。

第15脚:

背光源正极。

第16脚:

背光源负极。

2、1602LCD的指令说明及时序

1)1602液晶模块内部的控制器共有11条控制指令,如表2.4所示:

表2.4

序号

指令

RS

R/W

D7

D6

D5

D4

D3

D2

D1

D0

1

清显示

0

0

0

0

0

0

0

0

0

1

2

光标返回

0

0

0

0

0

0

0

0

1

*

3

置输入模式

0

0

0

0

0

0

0

1

I/D

S

4

显示开/关控制

0

0

0

0

0

0

1

D

C

B

5

光标或字符移位

0

0

0

0

0

1

S/C

R/L

*

*

6

置功能

0

0

0

0

1

DL

N

F

*

*

7

置字符发生存贮器地址

0

0

0

1

字符发生存贮器地址

8

置数据存贮器地址

0

0

1

显示数据存贮器地址

9

读忙标志或地址

0

1

BF

计数器地址

10

写数到CGRAM或DDRAM)

1

0

要写的数据内容

11

从CGRAM或DDRAM读数

1

1

读出的数据内容

1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。

(说明:

1为高电平、0为低电平)

指令1:

清显示,指令码01H,光标复位到地址00H位置。

指令2:

光标复位,光标返回到地址00H。

指令3:

光标和显示模式设置I/D:

光标移动方向,高电平右移,低电平左移S:

屏幕上所有文字是否左移或者右移。

高电平表示有效,低电平则无效。

指令4:

显示开关控制。

D:

控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:

控制光标的开与关,高电平表示有光标,低电平表示无光标B:

控制光标是否闪烁,高电平闪烁,低电平不闪烁。

指令5:

光标或显示移位S/C:

高电平时移动显示的文字,低电平时移动光标。

指令6:

功能设置命令DL:

高电平时为4位总线,低电平时为8位总线N:

低电平时为单行显示,高电平时双行显示F:

低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。

指令7:

字符发生器RAM地址设置。

指令8:

DDRAM地址设置。

指令9:

读忙信号和光标地址BF:

为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。

指令10:

写数据。

指令11:

读数据。

2)基本操作时序表

读写操作时序如图2-8和2-9所示:

图2-8

图2-9

 

3)LCD的连接与调节

图2-10

 

利用电位器实现对LCD的亮度调节:

电位器的结构:

电位器的电阻体有两个固定端,通过手动调节转轴或滑柄,改变动触点在电阻体上的位置,则改变了动触点与任一个固定端之间的电阻值,从而改变了电压与电流的大小。

电位器的作用:

电位器是随意调节改变电阻值的元件,在这里能够对LCD进行亮度调节

2.2.3LED显示模块简介

(一)、八段数码管图片:

 

图2-11LCD码管引脚定义

(二)、数码管结构:

LED数码管(LEDSegmentDisplays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。

led数码管常用段数一般为7段有的另加一个小数点。

LED数码管按连接方式分为共阳极数码管和共阴极数码管。

共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。

共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。

图2-10

 

(三)、驱动方式

数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。

1.静态显示驱动:

静态驱动也称直流驱动。

静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。

静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多。

2.动态显示驱动

数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划“a、b、c、d、e、f、g、dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。

通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

(四)、数码管的驱动连接

利用三极管NPN9013与1K的电阻为数码管实现共阴驱动。

1三极管起到电流放大,开关控制的作用(单片机的I/O口驱动能力有限)。

当三极管工作在饱和状态时,它的作用就是个开关了;P3.4~P3.6=0时导通。

2电阻用来限流,并确定了三极管的静态工作点,即工作在深度饱和状态。

图2-11

 

第三章动态显示屏的硬件与软件设计

3.1硬件组成

硬件主要有PC机与51单片机连接组成。

1602液晶显示模块可以和单片机AT89S52直接接口电路如图3.1所示。

 

图3-1硬件原理图

 

3.2PCB板制作

图3-2PCB板

 

1.打印原理图,把打印出来的原理图覆盖到PCB板上;

1.把包好的PCB板拿去高温(140℃)过塑,在PCB板上覆铜;

2.做完覆铜之后,拿去腐蚀PCB板;

3.按照腐蚀后的PCB板上面的孔的位置准确钻孔

4.焊接元器件,并用万能表检测电路

 

3.3软件设计

本次设计主要利用C语言编写程序,根据功能的需要进行编程,其中软件设计所用的软件主要是Keil软件STC_ISP烧写软件。

根据本设计提供的要求,显示字符等信息,首先,要写出控制显示模块实现功能的主程序。

第一步则是定义端口,我们是利用AT89C51的P2,P0口对显示模块进行控制的。

第二步,按照显示模块各端口的各个功能编写主程序以达到设计的目的.

第三步,根据显示原理,显示字符或数字。

仅需要占用16x8点。

如果显示图片,也要和显示字符、汉字一样取模。

图片最好不要超过128x64,否则会显示不完全。

 

第四章动态显示屏的系统调试与功能

4.1系统的调试

硬件调试

1、液晶屏不亮。

解决方法:

检查显示屏是否插错了,要注意管脚的接口连接。

2、液晶屏亮,但无任何显示。

解决方法:

调节对比度后按复位按键。

3、液晶屏亮,但只有一排白色方框。

解决方法:

插紧液晶,插正单片机,按复位或者重新下载程序。

4、背光亮但不能显示,解决方法:

调节对比度。

5、显示不清晰,解决方法:

增大供电流或者使用外部供电。

软件调试软件调试主要通过Keil软件进行操作,对程序编写过程中的错误进行查找,找出错误,进行修改,然后再进行编译直至编译成功,生成.HEX文件,将已经生成的HEX文件写入单片机里面,然后,点击运行,继而实现相应功能。

一般出现的问题如下:

1、在进行程序编译时出现了错误,查看错误的程序段,并并进行更改,在重新编译程序。

2、编译成功了,没有发现.HEX文件时,打开文件查看编译软件中的target→optionsfortarget→output→createHEX处打勾,后在重新编译。

3、编译成功后,且发现了.HEX文件,但proteus仿真失败!

此时对线路进行查看,并改正,最后模拟成功。

4.2系统的功能

设计前期通过KEIL软件和proteus软件联调,对设计功能进行仿真,均达到了预期的设计效果,设计后期,硬件制作完毕后,将仿真成功后的程序通过单片机下载程序,写入单片机,再根据显示模块的各个端口连接方式,正确地将单片机跟显示模块连接,最后都实现了设计的功能。

 

第五章Protues模拟

Protues软件是英国Labcenterelectronics公司出版的EDA工具软件。

它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

它是目前最好的仿真单片机及外围器件的工具。

虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。

在编译方面,它也支持IAR、Keil和MPLAB等多种编译。

在编译完成生成hex文件之后,装载入proteus软件中。

在元器件库中选取符合要求的元器件。

在将元器件一一放置,进行连线标号,成功之后,读取hex文件进行模拟。

在模拟过程中根据模拟的情况的反馈进行程序的修改,令程序达到要求。

图5-1

 

第六章设计体会与小结

单片机高级工培训是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。

因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。

回顾起此次单片机培训,我们感慨颇多,在这几周的日子里,从选题到最后仿真调试,可以说得是苦多于甜,但是可以学到很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次培训使我们懂得了理论与实际相结合是很重

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

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

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

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