lcd4linux 1602,详解一种LCD1602 的4线接法

描述

虽然LCD1602的显示屏幕与显示字符都较小,实用性并不强,但是在一般的教学实验中,它仍不失为一个常用的输出显示设备。

LCD1602与单片机连接的线路共有11条,其中有8条数据线,3条控制线。如果把它们都连接上,将占用较多的单片机的接口。

LCD1602还有一种使用高4位数据线的接法,可以减少单片机的负担。

另外,RW的控制也并非是必用的,如果仅仅是用于读取LCD1602“忙”的状态,就可以用稍事等待来代替。这样一来,RW就可以直接接地,使LCD1602永远处于写入的状态。

那么,LCD1602和单片机之间就仅仅需要6条线了,这就是LCD1602最简洁的连接方法。

下面的一个例子是使用P0口的高4位连接到LCD1602的高4位数据线,P2.0连接到RS,P2.1连接到EN。

对LCD1602写入输出的子程序如下:

LCD_W_DATA:;LCD1602数据线D7~D4接P0口高四位

CALLWAIT5MS;稍等

PUSHACC;保存

SETBLCD_RS;RS=1,数据

ORLA,#0FH;低4位置一

MOVP0,A;写高四位

CALLENABLE;在EN给出正脉冲

POPACC;恢复

SWAPA;高低四位交换

ORLA,#0FH;低4位置一

MOVP0,A;写低四位

CALLENABLE;在EN给出正脉冲

RET

程序中,先输出高4位,再输出低4位,这是按照LCD1602的4线接法的数据传输规范进行的。

输出时,对P0口的低4位进行了置1,目的是使其处于输入状态,这样,低4位可以用做按键的输入接口。

对LCD1602写入命令的子程序,和上面的程序类似,只是要有RS=0。

但是要注意,初始化为4位的时候,应该使用8位的形式。

利用LCD1602、DS18B20制作万年历温度计的电路如下:

e03219b704287fe4e00c25213d47ec91.png

这个电路已经制作成实物,经过多日的实际测量,可以看出时间精度很高,并不亚于使用DS1302的方案。

温度的显示程序,可以显示零下、以及超过100度的温度。

可以使用4个按键进行控制,长按“设置”,方可进入设置状态;之后再短按“设置”,即可依次改变当前设置的项目。

只有再长按“设置”,方可退出设置状态。

在设置状态,当前选定的项目,将以闪烁显示,此时再按下“加”、“减”,即可进行修改。

程序中,具有自动计算平闰年、计算星期几的功能,所以只需要设置年月日即可。

程序中,设计了一个闹钟功能,可以设置一个精确到秒的闹时时刻。闹时,也可以设置为闹或不闹。

实际上,多设计几个闹时也是可轻易办到的,这样就可以做为定时控制器了,比如用于校园打铃。

打开APP阅读更多精彩内容

点击阅读全文

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值