- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
液晶显示实验.doc
实验7 液晶控制实验
一 实验目的
掌握单片机AT89C52与LM016L的接口技术
用proteus设计、仿真基于AT89C52单片机的LCD显示屏的控制。
掌握LM0161结构和程序的编写方法。
二 实验原理
1. LM016L的工作原理简介:
液晶显示器(Liquid Crystal Display,LCD)的主要原理是以电流刺激液晶分子产生点、线、面,并配合背部灯管构成画面。LM016L每行显示16个字符,一共可以显示两行,是字符型液晶。
2.LM016L引脚图及说明:
6-1引脚图
引脚 符号 功能说明 1 VSS 一般接地 2 VDD 接电源(+5V) 3 V0 液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。 4 RS RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 5 R/W R/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 6 E E(或EN)端为使能(enable)端,下降沿使能。 7 DB0 底4位三态、 双向数据总线 0位(最低位) 8 DB1 底4位三态、 双向数据总线 1位 9 DB2 底4位三态、 双向数据总线 2位 10 DB3 底4位三态、 双向数据总线 3位 11 DB4 高4位三态、 双向数据总线 4位 12 DB5 高4位三态、 双向数据总线 5位 13 DB6 高4位三态、 双向数据总线 6位 14 DB7 高4位三态、 双向数据总线 7位(最高位)(也是busy flang)
RS R/W 操作说明 0 0 写入指令寄存器(清除屏等) 0 1 都busy flag(DB7),以及读取位址计数器(DB0~DB6)值 1 0 写入数据寄存器(显示各字型等) 1 1 从数据寄存器读取数据 注:关于E=H脉冲——开始时初始化E为0,然后置E为1,再清0.busy flag(DB7):在此位为被清除为0时,LCD将无法再处理其他的指令要求。
指令1:清显示,指令码01H,光标复位到地址00H位置。
?指令2:光标复位,光标返回到地址00H。
?
指令3:光标和显示模式设置?I/D:光标移动方向,高电平右移,低电平左移S:屏幕上所
? 指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。
? 指令5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光标。
? 指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线N:低电平时为单行显示,高电平时双行显示F:?低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。
? 指令7:字符发生器RAM地址设置。
?指令8:DDRAM地址设置。指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
?指令10:写数据。指令:读数据。液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。 识别的是ASCII码,试验可以用ASCII码直接赋值6-3字符代码与图形对应表
5.显示字符地址
6-4显示字符地址
三 实验内容
1.实验程序如下:
#includereg51.h
#includeintrins.h
#define uchar unsigned char
#define uint unsigned int
sbit rs=P3^3;
sbit rw=P3^4;
sbit en=P3^5;
sbit bflag=P2^7;
uchar str1[]=welcome1234567890098;
uchar str2[]= every one;
void delay()
{
uchar j;
for(j=250;j0;j--);
}
//-------------------液晶模块-----------------//
void en_toggle()
{
en=0;
delay();
en=1;
delay();
en=0;//由高电平变成低电平时,执行命令
} //注意必须加延时,否
您可能关注的文档
最近下载
- (正式版)DB61∕T 1486.8-2021 《设施茄果类蔬菜水肥一体化技术规范 第8部分:辣椒基质栽培》.docx VIP
- (正式版)DB61∕T 1486.8-2021 《设施茄果类蔬菜水肥一体化技术规范 第8部分:辣椒基质栽培》.pdf VIP
- 《光伏玻璃工艺讲解》课件.ppt VIP
- 迅达扶梯9300ae产品介绍.pdf VIP
- SL747-2016采矿业建设项目水资源论证导则.pdf VIP
- 重症医学科专科护士工作汇报.ppt VIP
- 云南省茶叶出口影响因素的实证研究.docx VIP
- crrt专科护士汇报ppt.pptx VIP
- 毕业设计(论文)-星型发动机设计.docx
- 除尘器噪音标准.pdf VIP
原创力文档


文档评论(0)