1、注明:本文非原创,是在做而论道的百度空间里看到的,觉得很有价值,所以放这来给大家分享一下!虽然 LCD1602 的显示屏幕与显示字符都较小,实用性并不强,但是在一般的教学实验中,它仍不失为一个常用的输出显示设备。LCD1602 与单片机连接的线路共有 11 条,其中有 8 条数据线,3 条控制线。如果把它们都连接上,将占用较多的单片机的接口。LCD1602 还有一种使用高 4 位数据线的接法,可以减少单片机的负担。另外,RW 的控制也并非是必用的,如果仅仅是用于读取 LCD1602“忙”的状态,就可以用稍事等待来代替。这样一来,RW 就可以直接接地,使 LCD1602永远处于写入的状态。那么,
2、LCD1602 和单片机之间就仅仅需要 6 条线了,这就是 LCD1602 最简洁的连接方法。下面的一个例子是使用 P0 口的高 4 位连接到 LCD1602 的高 4 位数据线,P2.0连接到 RS,P2.1 连接到 EN。对 LCD1602 写入输出的子程序如下:LCD_W_DATA: ;LCD1602 数据线 D7D4 接 P0 口高四位CALL WAIT5MS ;稍等PUSH ACC ;保存SETB LCD_RS ;RS=1, 数据ORL A, #0FH ;低 4 位置一MOV P0, A ;写高四位CALL ENABLE ;在 EN 给出正脉冲POP ACC ;恢复SWAP A ;高
3、低四位交换ORL A, #0FH ;低 4 位置一MOV P0, A ;写低四位CALL ENABLE ;在 EN 给出正脉冲RET程序中,先输出高 4 位,再输出低 4 位,这是按照 LCD1602 的 4 线接法的数据传输规范进行的。输出时,对 P0 口的低 4 位进行了置 1,目的是使其处于输入状态,这样,低 4 位可以用做按键的输入接口。此方案也得到了网友的认可。对 LCD1602 写入命令的子程序,和上面的程序类似,只是要有 RS=0。但是要注意,初始化为 4 位的时候,应该使用 8 位的形式。利用 LCD1602、DS18B20 制作万年历温度计的电路如下: 这个电路已经制作成实物
4、,经过多日的实际测量,可以看出时间精度很高,并不亚于使用 DS1302 的方案。温度的显示程序,可以显示零下、以及超过 100 度的温度。可以使用 4 个按键进行控制,长按“设置”,方可进入设置状态;之后再短按“设置”,即可依次改变当前设置的项目。只有再长按“设置”,方可退出设置状态。在设置状态,当前选定的项目,将以闪烁显示,此时再按下“加”、“减”,即可进行修改。程序中,具有自动计算平闰年、计算星期几的功能,所以只需要设置年月日即可。程序中,设计了一个闹钟功能,可以设置一个精确到秒的闹时时刻。闹时,也可以设置为闹或不闹。实际上,多设计几个闹时也是可轻易办到的,这样就可以做为定时控制器了,比如用于校园打铃。