Arduino和C51开发LCD1602显示屏

发布时间:2018-12-25
技术:51单片机、Arduino、LCD1602

概述

本文介绍了LCD1602显示屏,并在LCD1602上显示字符串,对LCD1602常见的问题的解决和开发方法也做了简单介绍。

详细

一、LCD1602

1545654315758066696.png  LCD1602是一种工业字符型液晶,能够同时显示16x0232个字符,1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号的点阵型液晶模块。它是由若干个5x7或者5x10的点阵字符位组成,每个点阵字符位都可以用显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此,所以它不能很好的显示图片。

二、51单片机 - LCD1602显示字符串

  硬件连接:

1545654450088286909.png

  对比度太大或者太小都容易看不到东西,这里要注意了,接着在LCD1602上显示"This is lcd1602":

#include "reg52.h"    //此文件中定义了单片机的一些特殊功能寄存器
#include "lcd.h"
 
typedef unsigned int u16;   //对数据类型进行声明定义
typedef unsigned char u8;
 
u8 Disp[]="This is lcd1602";
 
void main(void)
{
    u8 i;
    LcdInit();
    for(i=0;i<15;i++)
    {
        LcdWriteData(Disp[i]);
    
    } 
    while(1);    
}

  LCD1602显示屏效果如下:

图片3.png

  除了这些简单的显示字符串功能外,LCD1602显示屏上还可以显示一些简单的中文。LCD1602内部有80个字节的显存,即DDRAM。但LCD1602的显示屏幕只有16×2大小,因此,并不是所有写入DDRAM的字符代码都能在屏幕上显示出来,只有写在范围内的字符才可以显示出来,写在范围外的字符不能显示出来。这样,我们在程序中利用“光标或显示移动指令”使字符慢慢移动到可见的显示范围内,看到字符的移动效果。这些大家可以尝试做一下!!!

三、Arduino - LCD显示字符串

  硬件连接:

图片4.png

  加载库文件:

  打开Arduino IDE -> 项目 -> 加载库 -> 管理库中搜索LiquidCrystal,然后安装即可。

1545654707990061071.png

  LCD1602显示字符串代码:

#include <LiquidCrystal.h> //引入依赖
 
/* 初始化针脚 */
const int rs = 3;
const int en = 5;
const int d4 = 10;
const int d5 = 11; 
const int d6 = 12;
const int d7 = 13;
const int lcdlight = 9; //调节对比度
 
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
 
void setup() {
   pinMode(lcdlight,OUTPUT);
   analogWrite(lcdlight, 130);//用于调节对比度(0-255)
    
   lcd.begin(16, 2);//设置LCD要显示的列数、行数,即2行16列
    
   lcd.print("This is lcd1602!");//输出Hello World
}
 
void loop() {
   lcd.setCursor(0, 1); //设置光标定位到第0列,第1行(从0开始)
   lcd.print( millis() / 1000);//打印从重置后的秒数
}

  LCD1602显示字符串:

1545654774916076162.png

  LCD1602自动滚屏:

四、总结

  本文介绍了LCD1602显示屏,并在LCD1602上显示字符串。大家也可以使用LCD1602显示时钟和温湿度值等等,也可以尝试显示中文,后面一篇文章会教大家使用OLED显示屏!!!

五、项目结构图

图片7.png

本实例支付的费用只是购买源码的费用,如有疑问欢迎在文末留言交流,如需作者在线代码指导、定制等,在作者开启付费服务后,可以点击“购买服务”进行实时联系,请知悉,谢谢
手机上随时阅读、收藏该文章 ?请扫下方二维码