zoukankan      html  css  js  c++  java
  • Arduino控制LCD显示helloworld

    首先是一些基础知识:

      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.h>
         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.h>
       
      // 建立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

         百度文库

      

      

      

  • 相关阅读:
    subsonic资源聚合
    一些经典的框架
    小毛看传统图书行业
    商界传媒20092010 从容就业,激情创业(企业家走进北在)活动记
    Beijing Perl Workshop 2009
    智力更生小毛笔记&心得
    使用world 2007 或是windows live writer写blog的设置
    php技术准备
    我需要知道的技术常识
    重新分配ip
  • 原文地址:https://www.cnblogs.com/Zhang-Shangyu/p/5249206.html
Copyright © 2011-2022 走看看