博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Arduino控制LCD显示helloworld
阅读量:7009 次
发布时间:2019-06-28

本文共 2707 字,大约阅读时间需要 9 分钟。

首先是一些基础知识:

  LCD 1602简介:(图片来自http://www.51hei.com/bbs/dpj-36571-1.html)

 

 

Arduino LiquidCrystal库简介:

  这个库可以封装了对LCD芯片的一些操作,用起来很方便,不用再自己编写相关的芯片时序控制、数据或命令读写等函数的代码了。

  1. LiquidCrystal()

  简介:创建一个LiquidCrystal的实例(构造函数).可使用4线或8线方式作为数据线(请注意,还需要指令线).若采用四线方式,将d0-d3悬空不连接.RW引脚可接地而不用接在Arduino的某个引脚上;如果这样接,省略在函数中的rw参数。

  构造函数:

    LiquidCrystal(rs, enable, d4, d5, d6, d7)  

    LiquidCrystal(rs, rw, enable, d4, d5, d6, d7)  

    LiquidCrystal(rs, enable, d0, d1, d2, d3, d4, d5, d6, d7)  

    LiquidCrystal(rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7) 

  参数说明:

    rs: rs连接的Arduino的引脚编号  rw: rw连接的Arduino的引脚编号   enable:enable连接的Arduino的引脚编号  

    d0, d1, d2, d3, d4, d5, d6, d7: 连接的Arduino的引脚编号 

  例子  :

    #include 
    LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); //使用的上述第一个构造函数,Arduino的12脚接LCD的rs脚、11脚接enable...      void setup()     {       lcd.print("hello, world!");     }      void loop() {}

   2.begin()

     简介 :指定显示屏的尺寸(宽度和高度)。  

    语句:lcd.begin(cols, rows)  

    参数设置 :

      lcd:一个LiquidCrystal类型的变量  

      cols: 显示器可以显示的列数(1602是16列)  

      rows: 显示器可以显示的行数(1602是2行) 

   3.clear()

      简介:清屏

     语句:lcd.clear();

   4.setCursor()

     简介 : 将光标定位在特定的位置

     语句  lcd.setCursor(col, row)  

     参数:

       lcd:一个LiquidCrystal类型的变量  

       col: 你要显示光标的列 (从0开始计数)  

       row: 你要显示光标的行 (从0开始计数)

    5.print()

      简介:  将文本显示在LCD上

      语句  :

         lcd.print(data)  

         lcd.print(data, BASE)

      参数:

        data:要显示的数据,可以是char, byte, int, long或者string类型的  

        BASE (optional): 数制(可选的),BIN,DEC,OCT,HEX分别将数字以二进制,十进制,八进制,十六进制方式显示出来. 

    该库还有其他很多有用的函数,这里就不一一介绍了,具体要应用到时可以查阅相关库资料。

  

  有了这些基本知识之后,我们可以开始准备连接硬件线路了

   要用的材料:

    1.杜邦线若干

    2.Arduino主板一块

    3.面板包一块

    4.1602 LCD一块

    5.可变电阻器一个

    6.220欧电阻一个

   连接方式:

    将LCD的RS,ENABLE,D4,D5,D6,D7分别接到Arduino的12,11,5,4,3,2口;

    LCD的Vss、R/W接到GND, Vdd接到5v;

    LCD的A脚接到5v,k脚串接一个电阻到GND(稍微降低一点背光的亮度);

    可变电阻的一只脚接到5v,中间一只接到lcd的V0,另外一只接到GND,这个可变电阻的作用是调节LCD的对比度,若对比度不合适则会导致字符显示看不到

  

 

  软件代码:

// 引用LiquidCrystal Library  #include 
// 建立LiquidCrystal 的变数lcd // LCD 接脚: rs, enable, d4, d5, d6, d7 // 对应到Arduino 接脚: 12, 11, 5, 4, 3, 2 LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // 设定LCD 的行列数目(2 x 16) lcd.begin(16, 2); // 列印"Hello World" 讯息到LCD 上 lcd.print("hello, world!"); } void loop() { // 将光标设到第5列,第2行(第一列第一行为0,0),设置显示到屏幕第二行中间 lcd.setCursor(6, 1); // 打印Arduino 重开之后经过的秒数 lcd.print(millis()/1000); }

  代码在连接好的电路上运行的结果:

  

  结果显示算是成功了,本次实验值得注意的有以下几点:

  1.对硬件如LCD的基本了解,各个引脚的接法,其中LCD对比度的控制,在V0脚上串接一个可调电阻是个很好的选择

  2.对Arduino库的了解,用起来很方便,不需自己编写赋复杂的硬件控制代码。

 

 

  参考:

     http://www.51hei.com/bbs/dpj-36571-1.html

     百度文库

  

  

  

转载于:https://www.cnblogs.com/Zhang-Shangyu/p/5249206.html

你可能感兴趣的文章
[06]项目实战-移动端流体布局
查看>>
2.TCP/IP的三次握手与四次挥手
查看>>
windows使用composer.phar
查看>>
Windows下安装MySQL.zip
查看>>
Net体系结构组件
查看>>
python学习之老男孩python全栈第九期_day001知识点总结
查看>>
修复Extjs6.x表格最后一列的列头无右边线的BUG
查看>>
用vector实现矩阵, vector传参必须用模板泛型
查看>>
C#socket客户端自己输入消息发送到服务端通信实现通信
查看>>
Linux 之dhcp服务搭建
查看>>
SQL语句练习(四)
查看>>
C# WebAPI设置跨域
查看>>
vue(3)--生命周期,组件传值---2019.5.22学习笔记
查看>>
linux下根据进程名字获取PID,类似pidof(转)
查看>>
真值和假值
查看>>
css简单动画
查看>>
MySQL教程
查看>>
golang语言
查看>>
【C语言】07-基本语句和运算
查看>>
poj 1185 炮兵布阵
查看>>