LCD引脚介绍
1602采用标准的16脚接口,其中:
第1脚:VSS为地电源
第2脚:VDD接5V正电源
第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度
第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:D0~D7为8位双向数据线。
第15~16脚:背光电源 15:VCC 16:GND
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,
如表1所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H
中的点阵字符图形显示出来,我们就能
看到字母“A”
连接IO有全连接和以下连接方式,当然只介绍优先节省IO口的!
以下是代码:还可以精简 可以用的串口来发送字符串,显示到1062上面,
代码实现
#include <LiquidCrystal.h>
//此代码是给1602显示屏写的。2017-3-15
String comdata = "";
int potpin=0;//定义模拟接口0
int val=0;//将定义变量val,并赋初值0
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//第一个是接RS,第二个是EN,剩下的是接D4,D5,D6,D7;
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
lcd.print("Hi XiaoHe *^_^*");
}
void loop() {
float val1,val;
int val2;
jieshou();//接受字符并显示
val=analogRead(potpin);//读取模拟接口0 的值,并将其赋给val
val1=(5*val/1023)*5;
lcd.setCursor(4, 1);//1位 第二行开始显示
lcd.print(" ");//清空不稳定的显示
lcd.setCursor(0, 1);//1位 第二行开始显示
lcd.print(val1);
lcd.print("V");//单位
lcd.setCursor(11, 1);//显示光标
val2=millis()/1000;//取系统运行时间单位秒
lcd.print(val2);
delay(999);
}
char jieshou()
{
while (Serial.available() > 0)
{
comdata += char(Serial.read());
delay(2);//接受完成字符
}
if (comdata.length() > 0)
{
Serial.println(comdata);
lcd.setCursor(0, 0);//打印第一行第一个
lcd.print(comdata);//显示接受的数据
comdata = "";//接受完成再清空
}
}