< >
Home » Arduino库教程 » Arduino库教程-液晶-Hello World

Arduino库教程-液晶-Hello World

"Hello World!"

  • 液晶库允许你控制和日立HD44780驱动兼容的LCD显示器。他们在那里有很多显示器,你通常可以告诉他们的16针接口可以了。

  • 这个例子程序打印"Hello World!"到LCD上,并显示Arduino复位之后的时间(秒)。

  • 在一块 2x16 LCD 上程序的输出
    请输入图片描述

  • 液晶显示器有一个并行接口,即单片机同时操作若干接口引脚来控制显示。该接口包括以下引脚:

一个寄存器选择(RS)引脚:控制在液晶显示器的内存什么地方写入数据。您可以选择的数据寄存器(保存什么在屏幕上),或一个指令寄存器(LCD的控制器寻找在什么地方下一步做什么)。

一个读/写(R/W)引脚:选择读取模式或写入模式

一个使能引脚:使能写入到寄存器

8个数据引脚(D0~D7):这些引脚(高电平或低电平)是当你写入时你写到寄存器的字节,或者当你读取时你读取的数值。

还有一个显示对比引脚(VO),电源引脚(+5V和GND)和LED背光引脚(Bklt+ and BKlt-) ,这些可以提供电源到LCD,控制显示器的对比度,以及打开和关闭LED背光,等等。

  • 控制显示屏的过程包括把数据摆成你想数据寄存器显示的图像,然后放指令到指令寄存器中。液晶库简化了这个,所以你不需要知道底层的指令。

  • 兼容日立的液晶显示器可以以两种方式控制:4位或8位。4位模式需要Arduino的7个I/O引脚,而8位模式需要11引脚。在屏幕上显示的文本,你可以在4位模式做一切,所以示例显示如何控制在4位模式下的2x16 LCD。

硬件要求

  • Arduino or Genuino Board
  • LCD 显示屏 (和日立HD44780驱动兼容)
  • 焊接到LCD显示屏引脚的排针
  • 10k ohm 电位计
  • 220 ohm 电阻
  • 连接线
  • 面包板

电路

  • 在连接液晶显示屏到你的Arduino板之前,我们建议到焊接一组排针到LCD显示屏的连接器上(14或者16引脚数),你在上面的图可以看到。

  • 液晶显示屏连接到电线板,连接引脚:

LCD RS pin to digital pin 12
LCD Enable pin to digital pin 11
LCD D4 pin to digital pin 5
LCD D5 pin to digital pin 4
LCD D6 pin to digital pin 3
LCD D7 pin to digital pin 2 
  • 此外,连接10K电位计到+5V和GND,它的转轴(output)为LCD屏的VO引脚(pin3)。一个220欧姆的电阻是用来为显示屏的背光提供电源,通常在液晶显示器连接器的引脚15和16上。
    请输入图片描述
    图由 Fritzing 绘制

原理图

请输入图片描述
图由 Fritzing 绘制

样例代码

/*
  LiquidCrystal Library - Hello World

 Demonstrates the use a 16x2 LCD display.  The LiquidCrystal
 library works with all LCD displays that are compatible with the
 Hitachi HD44780 driver. There are many of them out there, and you
 can usually tell them by the 16-pin interface.

 This sketch prints "Hello World!" to the LCD
 and shows the time.

  The circuit:
 * LCD RS pin to digital pin 12
 * LCD Enable pin to digital pin 11
 * LCD D4 pin to digital pin 5
 * LCD D5 pin to digital pin 4
 * LCD D6 pin to digital pin 3
 * LCD D7 pin to digital pin 2
 * LCD R/W pin to ground
 * LCD VSS pin to ground
 * LCD VCC pin to 5V
 * 10K resistor:
 * ends to +5V and ground
 * wiper to LCD VO pin (pin 3)

 Library originally added 18 Apr 2008
 by David A. Mellis
 library modified 5 Jul 2009
 by Limor Fried (http://www.ladyada.net)
 example added 9 Jul 2009
 by Tom Igoe
 modified 22 Nov 2010
 by Tom Igoe

 This example code is in the public domain.

 http://www.arduino.cc/en/Tutorial/LiquidCrystal
 */

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("hello, world!");
}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(millis() / 1000);
}

[Get Code]
更多

  • Liquid Crystal Library - 液晶库的参考网页

  • lcd.begin()

  • lcd.print()

  • lcd.setCursor()

  • Autoscroll: 左右移动文本

  • Hello World! – 如何连接一个液晶显示器,使它工作。

  • Blink - 块状光标的控制。

  • Cursor: 线样式光标的控制。

  • Display: 迅速闪烁显示屏,而上面没有丢失任何东西。

  • TextDirection - 控制光标流出文本的方式。

  • Scroll - 左右滚动文本。

  • Serial display - 接收串口输入,并显示它。

  • SetCursor - 设置光标位置。

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: arduino库教程, arduino hello world