单片机原理与应用 综合实验报告
LCD1602字符液晶滚动演示程序
专业班级: 姓 名: 学 号: 时 间: 指导教师:
2012年 05月日
23
LCD1602字符液晶滚动演示程序
摘要:本设计以单片机作为LCD液晶显示系统控制器为主线,基于单片机89C51,采用的液晶显示器是LCD1602,主要用来显示字母、数字、符号,滚屏、左右移动以及实时控制功能。同时也对部分芯片和外围电路进行了介绍和设计,并附以系统结构框图加以说明,着重介绍了本系统应用的各硬件接口技术和各个接口模块的功能及工作过程。本设计还介绍了显示原理、硬件电路和软件部分的设计原理。
关键词:1602液晶显示器 89C51单片机 并行通信
1 引言:
液晶显示器(LCD)具有功耗低、体积小、重量轻、超薄等许多其它显示器无法相比的优点。近几年来被广泛用于单片机控制的智能仪器、仪表和低功耗电子产品中。液晶显示器分为字符型LCD显示模块和点阵型LCD显示模块。字符型LCD是一种用5×7点阵图形来显示字符的液晶显示器。点阵型液晶可显示用户自定义的任意符号和图形,并可卷动显示,它作为便携式单片机系统人机交互界面的重要组成部分被广泛应用于实时检测和显示的仪器仪表中。支持汉字显示的点阵型液晶在现代单片机应用系统中是一种十分常用的显示设备,汉字BP机、手机上的显示屏就是点阵型LCD。点阵型LCD是现代单片机应用系统中最常用的人机交互界面之
利用单片机控制液晶显示系统的原理,完成单片机液晶显示系统的设计,我希望能够触类旁通,灵活应用其他型号的液晶显示控制器。将来如果有机会从事这方面的工作,要运用的液晶显示控制器不一定是KS0108,但这次毕业设计中学到的东西为此打下了良好的基础,相信自己能做好这方面的工作。
2 总体设计方案
2.1 设计思路
2.1.1 本设计主要是通过控制89C51单片同的引脚来控制LCD1602显示给定的符号、字母、数字,以及控制显示内容的垂直移动和水平移动。由于LCD1602的字符有相应的字符代码,不用编写字库,因此在设计时对方案的选择就只考虑单片机与显示器的数据传送类型,即串行通信和并行通信。
(1)方案确立:
方案一:串行通信
串行通信是反映一个数据的所有位按一定的顺序和方式,一位一位地通过串行输入/输出口进行传送。由于串行通信是数据的逐位顺序传送,在进行通信时,只需一根传输线,其传送的数
据位多且通信距离长。串行通信方式如图1所示。
方案二:并行通信
采用并行传送方式在微机与外部设备之间进行数据传送的接口叫并行接口。主要特点:一是同时并行传送的二进位数就是数据宽度;二是在计算机与外设间采用应答式的联络信号来协调双方的数据操作。传送的数据位1-128位,一般为8位。单片机与外部设备之间也通常采用8位并行I/O接口进行短距离的通信其传输距离近,传送方式单一,每次传送一个字或一个字节。并行通信方式如图2所示。
P0.0 D0
RXD RXD P0.1 D1
TXD TXD P0.2 D2
P0.3 D3
89C51 89C51 P0.4 D4
P0.5 D5
P0.6 D6
P0.7 D7
GND GND GND GND
图1 串行通信方式 图2 并行通信方式 由于本设计的传输距离不远,所用I/O口不多,所以方案二既可满足课程设计的基本要求又能充分发挥其优势,电路简单,易控制,所以采用该方案。 2.2 设计方框图 晶振电路 LCD1602显示器 主控制芯片 控制开关 复位电路 89C51
图3 系统总体方框图 3 设计原理分析
本设计主要是通过控制89C51单片同的引脚来控制LCD1602显示给定的符号、字母、数字,以及控制显示内容的垂直移动和水平移动。在控制LCD1602过程中主要是通过LCD1602显示模指令和单片机的中断嵌套来实现的。由于在编程时最主要的就是使用LCD1602显示模指令来实现写指令和写数据功能,所以下面我给出其显示模指令集、写操作时序及RAM地址映射。 LCD1602显示模指令集: (1)清屏
功能:清DDROM值和AC值 (2)归位
功能:光标复位,光标返回到地址00H (3)输入方式设置
功能:设置光标,画面移动方式。
其中:I/D=1:数据读写操作后,AC 自加一;
I/D=0:数据读写操作后,AC 自减一; S=1:数据读写操作,画面平移; S=0:数据读写操作,画面不动; (4)显示开关控制
功能:设置显示、光标和闪烁开关。
其中:D 表示显示开关,D=1 为开,D=0 为关;
C 表示光标开关,C=1 为开,C=0 为关; B 表示闪烁开关,B=1 为开,B=0 为关。 (5)光标、画面位移
功能:光标、画面移动。
其中:S/C=1 画面移动一个字符位;
S/C=0 光标移动一个字符位; R/L=1:右移;R/L=0 左移。
(6)功能设置
功能:工作方式设置(初始化指令)。 其中:DL=1,8 位数据接口;
DL=0,4 位数据接口;
N=1,两行显示;N=0,一行显示;
F=1,5*10 点阵显示;F=0,5*7 点阵显示。
(7)CGRAM 地址设置
功能:设置CGRAM 地址,A5~A0=0~3FH。 (8)DDRAM 地址设置
功能:设置DDRAM 地址。
其中:N=0,一行显示A6~A0=0~4FH;
N=1 两行显示,首行A6~A0=0~2FH,次行A6~A0=40~67H。 (9)读BF 及AC 值
功能:读忙BF 和地址计数器AC 的值。
其中:BF=1:忙,BF=0:准备好。此时AC 值意义为最近一次地址设置(CGRAM 或DDRAM)定义。 (10)写数据
功能:根据最近设置的地址性质,数据写入CGRAM 或DDRAM 中。 (11)读数据
功能:根据最近设置的地址性质,从CGRAM 或DDRAM 数据读出。
图4 写操作时序