专注电子技术学习与研究
当前位置:单片机教程网 >> Arduino >> 浏览文章

基于Proteus的Arduino学习09-1602与液晶显示的实现

作者:我不是奔跑哥   来源:我不是奔跑哥的blog   点击数:  更新时间:2014年06月08日   【字体:

在前面几节的学习笔记中,我们利用LM35、DS18B20和热电偶这些温度传感器实现了温度的测量,并通过串口输出温度值,但是串口输出需要借助串口工具,给人的感觉不是那么的直观,这一节的学习笔记,我们来学着使用1602液晶显示屏,然后就可以做出带有液晶显示的温度计,是不是很酷呢。

1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。
1602是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。
1602液晶显示屏的实物如图1所示。
 

图1 1602液晶显示屏实物图
首先,我们需要proteus仿真里面添加1602液晶显示屏,在元器件搜索栏中输入“LM016L”,并添加至元器件选择栏中,如图2所示。然后,将1602液晶的VSS接地,VEE通过10k电阻接地,VDD接+5V,RW接地(写模式),E、RS、D4、D5、D6、D7分别接至Arduino UNO的数字口11、12、2、3、4、5管脚,液晶显示仿真图如图3所示。
图2 添加LM016L液晶显示屏
图3 液晶显示仿真图
 
Arduino代码清单:
#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);
}
编译成功之后,导入proteus仿真软件进行仿真。1602液晶第一行显示“hello,world!”,第二行显示程序执行的时间,依次计时。液晶显示仿真图如图4所示。

图4 “hello,world!”仿真图
关闭窗口

相关文章