- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LCD1602液晶显示器简介
一 概述
液晶( Liquid Crystal )是一种高分子材料,因其特殊的物理、化学、光学特性, 广泛应用轻薄显示器上。
液晶显示器(Liquid Crystal Display , LCD的主要原理是以电流刺激液晶分子产 生点、线、面并配合背部灯管构成画面。
各种型号的液晶通常是按照显示字符的行数或液晶点阵的行、列数来命名。例如,
1602 表示每行显示 16 个字符,一共可以显示两行。这类液晶通常称为字符型液晶,只 能显示 ASCII 码字符。 12232 表示液晶显示画面由 122列、32 行组成, 共有 122*32 个点 来显示各种图形。用户可以通过程序控制这些点中任何一个点显示或不显示,从而构成 各种图形画面。因此, 12232 称为图形型液晶。
液晶体积小,功耗低,显示操作简单。但其有致命的弱点,即使用温度范围很窄。
通用型液晶工作温度为 0 到+55摄氏度,存储温度为 -20 到+60摄氏度。
二 LCD1602
1602 的外形尺寸(毫米)
主要技术参数
接口信号说明
基本操作时序
4 RAM地址映射图
控制器内部带有80B的RAM缓冲区。对应关系如下图所示。
向图中的00~0F、40~4F地址中的任意处写入显示数据时, 液晶可立即显示出来; 当
写入到10~27或50~67地址时,必须通过移屏指令将他们一移入可显示区域方可正常显
示。
1602液晶模块内部的字符发生存储器 (CGROME)经存储了 160个不同的点阵字符图
形,如下表所示。
这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一
个字符都有一个固定的代码,比如大写的英文字母“ A”的代码( 41H),显
示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“ A”。
状态字说明
说明:原则上每次对控制器进行读写操作前,都必须进行读写检测,确保 STA7为0。实
际上,由于单片机的操作速度慢于液晶控制器的反应速度,因此可以不进行检测,或只 进行简短的延时即可。
指令说明
1602液晶模块内部的控制器共有 11条控制指令。
(1) 显示模式设置
(2) 显示开/关及光标设置
(3) 数据指针设置
(4) 其它设置
8控制接口时序说明
时序参数
读操作时序
写操作时序
9初始化过程
1) 延时15ms
2) 写指令38H(不检测忙信号)
3) 延时5ms
4) 写指令38H(不检测忙信号)
5) 延时5ms
6) 写指令38H(不检测忙信号)
7) (以后每次写指令、读/写数据操作之前均需检测忙信号 )
8) 写指令38H:显示模式设置
9) 写指令08H:显示关闭
10) 写指令01H:显示清屏
11) 写指令06H:显示光标移动设置
12) 写指令OCH显示开及光标设置
三驱动程序举例
1 I/O 方式驱动程序
程序如下:
/*
SMC1602A(16*2)I/O 口线接线方式 连接线图 :
|LCM 51 | LCM 51 | LCM 51 |
|
| | | |
| | | |
| | | |
| | | VLCD 接 1K 电阻到 GND|
[ 注 :AT89S51 使用 12M 晶体震荡器 ]
=========================================================*/ #include
sbit LCM_RW=P2A0; // 定义引脚
sbit LCM_RS =卩2人1;
sbit LCM_E =P2A2;
#define LCM_Data P1
#define Busy 0x80 // 用于检测 LCM 状态字中的 Busy 标识
void WriteDataLCM(unsigned char WDLCM);
void WriteCommandLCM(unsigned char WCLCM,BuysC);
unsigned char ReadDataLCM(void);
unsigned char ReadStatusLCM(void); void LCMInit(void);
void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);
void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code
*DData);
void Delayms(unsigned int n);
void dellay(unsigned int h);
unsigned char code blog_adr[] = {EDNchina};
unsig
原创力文档


文档评论(0)