Arduino控制LCD显示helloworld

首先是一些基础知识:html

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

 

 

Arduino LiquidCrystal库简介:oop

  这个库能够封装了对LCD芯片的一些操做,用起来很方便,不用再本身编写相关的芯片时序控制、数据或命令读写等函数的代码了。ui

  1. LiquidCrystal()spa

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

  构造函数:htm

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

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

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

    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

     百度文库

相关文章
相关标签/搜索