arduino LCD1602液晶屏 使用方法 四位io数据传输

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 = "";//接受完成再清空 } }

 

posted @ 2017-03-15 19:32  xiaohe520  阅读(5192)  评论(0编辑  收藏  举报