LCD1602液晶显示实验实验报告及程序.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三 LCD1602 液晶显示实验
姓名专业学号成绩
一、实验目的
1.掌握 Keil C51 软件与 proteus 软件联合仿真调试的方法;
2.掌握 LCD1602液晶模块显示西文的原理及使用方法;
3.掌握用 8 位数据模式驱动 LCM1602液晶的 C 语言编程方法;
4.掌握用 LCM1602液晶模块显示数字的 C 语言编程方法。
二、实验仪器与设备
1.微机一台 C51 集成开发环境仿真软件三、
实验内容
1.用 Proteus 设计一 LCD1602液晶显示接口电路。要求利用 P0口接 LCD1602
液晶的数据端, ~做 LCD1602液晶的控制信号输入端。 ~口扩展 3 个功能
键 K1~K3。参考电路见后面。
2.编写程序,实现字符的静态和动态显示。显示字符为
第一行:“ 1. 姓名全拼”,第二行:“ 2. 专业全拼 +学号”。
3.编写程序,利用功能键实现字符的垂直滚动和水平滚动等效果显示。显
示字符为:
“1. 姓名全拼 2.专业全拼+学号EXP8DISPLAY ”
主程序静态显示“ My information!”
四、实验原理
液晶显示的原理:采用的 LCD显示屏都是由不同部分组成的分层结构,位于最后面的一层是由荧光物质组成的可以发射光线的背光层,背光层发出的光线在穿过第一层偏振过滤层之后进入包含成千上万水晶液滴的液晶层,液晶层中的水晶液滴都被包含在细小的单元格结构中,一个或多个单元格构成屏幕上的一个像素。当 LCD中的电极产生电场时,液晶分子就会产生扭曲,从而将穿越其中的光线进行有规则的折射,然后经过第二层过滤层的过滤在屏幕上显示出来。
1.LCD1602采用标准的 14 引脚(无背光)或 16 引脚(带背光)接口,各
引脚接口说明如表:
编号符号引脚说明编号符号引脚说明
1VSS电源地9D2数据
2VDD电源正极10D3数据
3VL液晶显示偏压11D4数据
4RS数据/命令选择12D5数据
5R/W读/写选择13D6数据
6E使能信号14D7数据
7D0数据15BLA背光源正极
8D1数据16BLK背光源负极2. 1602 液晶模块内部的控制器共有11 条控制指令,如表所示:
3.芯片时序表:
4. 1602LCD的一般初始化 ( 复位 ) 过程
(1)延时 15ms。
(2)写指令 38H(不检测忙信号 ) 。
(3)延时 5ms。
(4)写指令 38H(不检测忙信号 ) 。
(5)延时 5ms。
(6)写指令 38H(不检测忙信号 ) 。
(7)以后每次写指令、读/写数据操作均需要检测忙信号。
(8)写指令 38H:显示模式设置。
(9)写指令 08H:显示关闭。
(10)写指令 01H:显示清屏。
(11)写指令 06H:显示光标移动设置。
(12)写指令 0CH:显示开及光标设置。
五、实验步骤
1.用 Proteus 设计 1602 液晶显示接口电路;
2.在Keil C51中编写液晶显示控制程序,编译通过后,与Proteus 联合调
试;
3.按动功能键,观察字符及效果是否正确显示。
六、电路设计调试及程序
1)实验电路
LCD1
LM016L
S D E
S
W 01234567
S D E
VVVRRE
DDDDDDDD
1 2 3
4 5 6
7
8 9 0 1 2 3 4
RV1
1 1 1 1 1
S W
E
R R
10k
C1
RP1
1 22p X1
U1
2
19
39
3 C2
12M
XTAL1
P0.0/AD0
38 4
P0.1/AD1
37
5
P0.2/AD2
18
36
6
XTAL2
P0.3/AD3
22p
R2
35
7
P0.4/AD4
P0.5/AD5
34
8
10k
33
9
P0.6/AD6
9
32
C3
RST
P0.7/AD7
RESPACK-8
RS
P2.0/A8
21
22 RW
P2.1/A9
10u
23 E
P2.2/A10
29
24
PSEN P2.3/A11
30
25
ALE P2.4/A12
31
26
EA
P2.5/A13
27
P2.6/A14
28
P2.7/A15
垂直滚动
1 P1.0/T
2 P3.0/RXD 10
水平滚动
2 11
P1.1/T2EX P3.1/TXD
3 12
P1.2 P3.2/INT0
暂停 /继续
4 13 P1.3 P3.3/INT1
5
14
P1.4 P3.4/T0
返回
6
15
P1.5 P3.5/T1
7
16
P1.6 P3.6/WR
8
17
P1.7 P3.7/RD
AT89C52
2) 程序设计与调试静态显示
#include<>
sbit lcdrs=P2^0; #define uchar unsigned char uchar num;
#define uint unsigned int
uchar code table[]=" Xin "; void delay(uint z)
uchar code table1[]=" 412381"; {
sbit lcden=P2^2; uint x,y;
sbit lcdrw=P2^1;
for(x=z;x>0;x--)