- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
液显模块LCD1602接口设计及编程技巧
液显模块LCD1602接口设计及编程技巧
摘要:结合液显模块LCD1602在温度测量仪中的应用,介绍了LCD1602的接口设计。在软件设计方面,编写了初始化程序和写操作程序,同时,针对LCD1602上显示内容的两种存在方式,分别编写了程序和提出了编程过程中的注意事项,最后总结出LCD1602的编程技巧,以供编程人员参考。
关键词:LCD1602 接口设计 编程技巧
引言
液显模块LCD1602广泛应用于袖珍式仪表和低功耗应用系统中,是目前单片机应用设计中常用的显示器件之一,它具有功耗低、体积小、寿命长等优点。能够显示 个字符,工作电压一般取为+5V(允许电压为4.5V―5.5V),接口设计简单,价格便宜,具有很高的性价比。这里介绍LCD1602在温度测量仪中的接口设计和编程技巧。
1 LCD1602的接口设计
LCD1602具有标准14脚(无背光)和标准16脚(带背光)两种型号,这里介绍标准16脚的LCD1602。选择AT89S52单片机作为微控制器,其接口连接如图1所示。
LCD1602的引脚连接为:VSS接电源地;VDD接电源+5V;VL为液显对比度调整端,接电源正极时对比度最弱,接电源地时对比度最高,对比度过高会产生“鬼影”,在这里通过一个10 电阻来调整对比度,可以取得理想的效果;RS、E、R/W为LCD1602的3根控制线,控制着液显的读/写状态。其中,RS为高电平时选择数据寄存器,RS为低电平时选择指令寄存器;R/W为读/写控制端,在这里将R/W接地,只能进行写操作;E为使能端,当E端由高电平跳变成低电平时,液晶显示模块执行命令 。
2 LCD1602的软件设计
软件设计主要包括初始化、读/写程序编写、数据地址指针设置等 。
2.1 LCD1602的初始化程序
LCD1602提供了11条控制指令,通过这些指令可实现基本控制显示功能。每次读/写LCD寄存器后要延时一定的时间,之后CPU才可发下一条指令。
通过对LCD1602控制指令的理解,编写初始化程序如下:
void init()//初始化程序
{
write_com(0x38);//设置为8位数据传送,2行显示, 点阵字符
delay(20); //延时
write_com(0x0c);//开显示,不显示光标,光标不闪烁
delay(20); //延时
write_com(0x06);//设置为地址指针加一,且光标加一
delay(20); //延时
write_com(0x01);//清屏
delay(20); //延时
}
2.2 LCD1602的写操作
LCD1602内部电路的工作需要有一个统一的时序。LCD1602的工作时序与单片机一般的读/写时序相同,易于与单片机配合使用,其写时序如图2。3根控制线决定着LCD1602的读/写状态,电路图中R/W接地,只能进行写操作。只要控制RS、E引脚的高低电平就能编写写指令函数、写数据函数。
根据写操作时序图和读/写控制时序表,编写程序时,如下:
写命令函数:
void write_com(uchar com)
{
delay(20); //延时
P0=com;//将命令送给P0口
rs=0; //写命令字,rs为低电平
en=1; //使能端为高电平
delay(10); //延时
en=0;//使能端产生下降沿,写指令
}
写数据函数:
void write_date(uchar date)
{
delay(20); //延时
P0=date;//将数据送给P0口
rs=1; //写数据字时,rs为高电平
en=1; //使能端为高电平
delay(10); //延时
en=0;//使能端产生下降沿,写数据
}
3 应用举例及编程技巧
在编写温度测量仪的程序过程中,LCD1602上显示的内容,有两种存在方式:第一种是显示固定的显示内容,第二种是从键盘上输入数字或从传感器上读取数据用来显示。下面详细阐述 。
3.1 显示固定内容的情况
温度测量仪在启动后会显示thermometer,编写程序时,有两点需要注意:1.根据显示内容的长短,恰当地设置显示初始位置;2.控制延时时间。程序如下:
#include
#define uchar unsigned char
sbitrs=P3^5;//RS控制寄存器选择
sbiten=P3^4;//使能
文档评论(0)