LCD1602液晶显示器设计文档格式.docx
- 文档编号:15372182
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:25
- 大小:1.76MB
LCD1602液晶显示器设计文档格式.docx
《LCD1602液晶显示器设计文档格式.docx》由会员分享,可在线阅读,更多相关《LCD1602液晶显示器设计文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
2.1LCD1602简介
2.1.1LCD1602 引脚功能
LCD1602引脚如图2.1所示
图2.1LCD1602引脚图
引脚图的功能如表2—1所示
表2—1引脚功能图
2.1.2LCD1602显示模指令集
(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数据读出。
2.2IIC总线
IIC总线是PHILIPS公司推出的两线式串行总线。
用于连接微控制器及其外围设备。
IIC总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。
例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。
可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。
2.2.1IIC总线的特点
(1)只要求两条总线线路一条串行数据线SDA一条串行时钟线SCL。
(2)每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机从机关系软件设定地址;
主机可以作为主发送器或主机接收器。
(3)它是一个真正的多主机总线,如果两个或更多主机同时初始化数据
传输可以通过冲突检测和仲裁防止数据被破坏。
(4)串行的8位双向数据传输位速率在标准模式下可达100kbit/s快速模式下可达400kbit/s高速模式下可达4Mbit/s。
(5)片上的滤波器可以滤去总线数据线上的毛刺波保证数据完整。
(6)连接到相同总线的IC数量只受到总线的最大电容400pF限制。
2.2.2IIC协议总线信号时序
(1)数据的有效性
SDA线上的数据必须在时钟的高电平周期保持稳定数据线的高或低电平状态只有在SCL线的时钟信号是低电平时才能改变。
如图2.2IIC总线的位传输所示。
图2.2IIC总线的为传输
(2)起始和停止条件
在IIC总线中唯一出现的是被定义为起始(S)和停止(P)条件(见图2.3)的情况。
其中一种情况是在SCL线是高电平时,SDA线从高电平向低电平切换,这个情况表示起始条件。
当SCL是高电平时SDA线由低电平向高电平切换表示停止条件。
起始和停止条件一般由主机产生,总线在起始条件后被认为处于忙的状态。
在停止条件的某段时间后,总线被认为再次处于空闲状态。
如果产生重复起始(Sr)条件而不产生停止条件,总线会一直处于忙的状态,此时的起始条件(S)和重复起始(Sr)条件在功能上是一样的。
因此在本文档的剩余部分,符号(S)将作为一个通用的术语既表示起始条件又表示重复起始条件,除非有特别声明的(Sr)。
如果连接到总线的器件合并了必要的接口硬件,那么用它们检测起始和停止条件十分简便。
但是,没有这种接口的微控制器在每个时钟周期至少要采样SDA线两次来判别有没有发生电平切换。
图2.3起始和停止条件
(3)总线空闲状态
SDA和SCL两条信号线都处于高电平,即总线上所有的器件都释放总线,两条信号线各自的上拉电阻把电平拉高。
(4)数据传输与应答信号ACK
发送到SDA线上的数据必须是8位的。
每次传输可以发送的数据不受限制。
每个字节后必须在时钟的第9个脉冲期间释放数据总线(SDA为高),由接收器发送一个ACK(把数据总线的电平拉低)来表示数据成功接收。
如图2.4IIC总线响应。
图2.4IIC总线响应
首先传输的是数据的最高位(MSB)。
如果从机要完成一些其他功能后(例如一个内部中断服务程序)才能接收或发送下一个完整的数据字节,可以使时钟SCL保持低电平迫使主机进入等待状态。
当从机准备好接收下一个数据字节并释放时钟线SCL后,数据传输继续。
如图2.5IIC总线数据传输所示。
图2.5IIC总线数据传输
2.2.3IIC总线器件寻址方式
IIC总线上的器件是共用总线的,因此,主器件在进行数据传输前要选择通信的从器件,即进行总线寻址。
总线上的所有器件都有唯一的地址,由器件地址和引脚地址两部分构成,共7位。
引脚地址由IIC总线外围器件的地址引脚(A2、A1、A0)决定的。
数据的传输遵循如图2.6完整的数据传送所示,在起始条件之后,发送一个7位的从机地址,紧接着第8位是数据方向(R/W),0-表示发送数据(写),1-表示接收数据(读)。
数据传输一般由主机产生的停止位(P)终止。
但是如果主机仍希望在总线上通讯,它可以产生重复起始条件(Sr),和寻址另一个从机,而不是首先产生一个停止条件。
在这种传输中,可能有不同的读/写格式结合。
如图2.6IIC总线完整的数据传输。
图2.6IIC总线的数据传输
2.3系统电路图
系统的电路图如2.7所示:
图2.7系统电路图
运行状况如图2.8:
图2.9运行状态
第三章软件设计
3.1系统框图
本课题的程序设计是在C语言的基础之上的,可分为两大模块,分别是:
(1)IIC协议;
(2)LCD显示。
程序总体框图如图3.1所示:
图3.1总程序框图
LCD显示程序框图如图3.2所示:
图3.2LCD显示程序框图
3.2程序清单
(一)
#include<
reg52.h>
stdio.h>
#defineuintunsignedint
#defineucharunsignedchar
ucharcodedisplay_1[]={"
goodmorning"
};
ucharcodedisplay_2[]={"
missyou"
sbitlcden=P3^4;
sbitlcdrs=P3^5;
//sbitlcdrw=P3^6;
ucharnum;
uinti=0;
voiddelayms(uintz)
{
uintx,y;
for(x=z;
x>
0;
x--)
for(y=110;
y>
y--);
}
voidwrite_com(ucharcom)
lcdrs=0;
lcden=0;
P0=com;
delayms(5);
lcden=1;
voidwrite_data(uchardate)
lcdrs=1;
P0=date;
voidinit()
write_com(0x38);
write_com(0x0f);
write_com(0x06);
write_com(0x01);
voidmain()
init();
//lcdrw=0;
write_com(0x80+0x1a);
while(display_1[i]!
='
\0'
)
{
write_data(display_1[i]);
i++;
delayms(5);
}
write_com(0x80+0x5f);
for(num=0;
num<
10;
num++)
write_data(display_2[num]);
16;
write_com(0x18);
delayms(100);
}
while
(1);
(二)
/****************************************************************************
*File:
main.c
*功能:
向LCD输出HelloWorld
**************************************************************
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LCD1602 液晶显示器 设计