LCD屏幕显示设计

LCD屏幕显示设计
LCD屏幕显示设计

目录

摘要 (1)

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

1.1 设计方案的论证与确定 (2)

1.2 动态显示器的设计要求 (2)

第二章各单元模块设计 (3)

2.1各单元模块功能介绍及电路设计................................. .3 2.2 特殊元器件的介绍 (5)

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

3.1硬件组成 (15)

3.2 PCB板制作 (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机上进行显示效果的预览,显示内容亦可以即时修改。

关键词:LCD1602 AT89S52 单片机动态显示

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

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.1 1602型液晶显示器模块介绍

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

图2-1 1602LCD模块

2.1.2 时钟电路的设计

图2-3 时钟电路

图2-3 时钟电路

上图是MCS-51内部时钟方式的电路,外接晶体以及电容C4和C5构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡器频率的高低、谐振器的稳定性、起振的快速性和温度的稳定性。晶体可在1.2MHz~12MHz之间任选,电容C4和C5的典型值在20pF~100pF之间选择。在设计印刷电路板时,晶体或陶瓷振荡器和电容应尽可能安装的与单片机芯片靠近,以减少寄生电容,更好的保证振荡器稳定和可靠的工作。

2.1.3 复位电路的设计

图 2-4 复位电路

AT89S52的复位是由外部的复位电路来实现的。复位电路通常采用上电自动复位和按钮复位两种方式。本设计中所用到的是按钮复位。

2.1.4电源电路设计

图2-5系统电源线路

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

2.2特殊元器件的介绍

2.2.1 AT89S52芯片

图2-6 AT89S52芯片引脚图

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

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

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.2 LCD显示模块功能特性描述

指令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.3 LED显示模块简介

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

(二)、数码管结构:

LED 数码管(LED Segment Displays )是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。led 数码管常用段数一般为7段有的另加一个小数点。LED 数码管按连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM 接到+5V ,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM 接到地线GND 上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。

图2-11 LCD 码管引脚定义

图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.2 PCB板制作

图3-2 PCB板

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

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

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

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

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

3.3软件设计

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

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

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

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

第三步,根据显示原理,显示字符或数字。仅需要占用16x8点。如果显示图片,也要和显示字符、汉字一样取模。图片最好不要超过128x64,否则会显示不完全。

相关主题
相关文档
最新文档