Arduino和C51开发LCD1602显示屏
概述
详细
一、LCD1602
LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符,1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号的点阵型液晶模块。它是由若干个5x7或者5x10的点阵字符位组成,每个点阵字符位都可以用显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此,所以它不能很好的显示图片。
二、51单片机 - LCD1602显示字符串
硬件连接:

对比度太大或者太小都容易看不到东西,这里要注意了,接着在LCD1602上显示"This is lcd1602":
#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
#include "lcd.h" typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8; u8 Disp[]="This is lcd1602"; void main(void)
{
u8 i;
LcdInit();
for(i=0;i<15;i++)
{
LcdWriteData(Disp[i]); }
while(1);
}
LCD1602显示屏效果如下:

除了这些简单的显示字符串功能外,LCD1602显示屏上还可以显示一些简单的中文。LCD1602内部有80个字节的显存,即DDRAM。但LCD1602的显示屏幕只有16×2大小,因此,并不是所有写入DDRAM的字符代码都能在屏幕上显示出来,只有写在范围内的字符才可以显示出来,写在范围外的字符不能显示出来。这样,我们在程序中利用“光标或显示移动指令”使字符慢慢移动到可见的显示范围内,看到字符的移动效果。这些大家可以尝试做一下!!!
三、Arduino - LCD显示字符串
硬件连接:

加载库文件:
打开Arduino IDE -> 项目 -> 加载库 -> 管理库中搜索LiquidCrystal,然后安装即可。

LCD1602显示字符串代码:
#include <LiquidCrystal.h> //引入依赖 /* 初始化针脚 */
const int rs = 3;
const int en = 5;
const int d4 = 10;
const int d5 = 11;
const int d6 = 12;
const int d7 = 13;
const int lcdlight = 9; //调节对比度 LiquidCrystal lcd(rs, en, d4, d5, d6, d7); void setup() {
pinMode(lcdlight,OUTPUT);
analogWrite(lcdlight, 130);//用于调节对比度(0-255) lcd.begin(16, 2);//设置LCD要显示的列数、行数,即2行16列 lcd.print("This is lcd1602!");//输出Hello World
} void loop() {
lcd.setCursor(0, 1); //设置光标定位到第0列,第1行(从0开始)
lcd.print( millis() / 1000);//打印从重置后的秒数
}
LCD1602显示字符串:

LCD1602自动滚屏:
四、总结
本文介绍了LCD1602显示屏,并在LCD1602上显示字符串。大家也可以使用LCD1602显示时钟和温湿度值等等,也可以尝试显示中文,后面一篇文章会教大家使用OLED显示屏!!!
五、项目结构图

注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权
Arduino和C51开发LCD1602显示屏的更多相关文章
- Arduino和C51开发OLED显示屏
技术:51单片机.Arduino.OLED显示屏.U8glib 概述 OLED显示屏常常用作为智能产品的显示设备,本文简单介绍OLED显示屏的使用方法. 详细 代码下载:http://www.de ...
- Arduino和C51开发DHT11温湿度传感器
技术:51单片机.Arduino.DHT11.温湿度传感器.传感器 概述 学习单片机离不开对传感器的学习,本文主要介绍DHT11温湿度传感器的使用方法,同学也可以了解更多的传感器,这对你以后开发产 ...
- Arduino和C51开发光敏传感器
技术:51单片机.Arduino.光敏传感器.PCF8591.AD/DA转换 概述 本文介绍了如何接收传感器的模拟信号和如何使用PCF8591 AD/DA转换模块对光敏传感器的模拟信号进行转换.讲 ...
- Arduino和C51开发DS1302时钟
技术:51单片机.Arduino.DS1302时钟.串口通信 概述 本文实现51单片机和Arduino串口实时显示时钟功能,让读者对DS1302能够更好的理解,这次功能也和上节课学到的串口通信运用 ...
- x86 版的 Arduino Intel Galileo 开发板的体验、分析和应用
1.前言 在今年(2013)罗马举办的首届欧洲 Make Faire 上,Intel 向对外发布了采用 x86 构架的 Arduino 开发板:Intel Galileo.这无疑是一个开源硬件领域的重 ...
- Arduino可穿戴开发入门教程(大学霸内部资料)
Arduino可穿戴开发入门教程(大学霸内部资料) 试读下载地址:链接:http://pan.baidu.com/s/1mg9To28 密码:z5v8 介绍:Arduino可穿戴开发入门教程(大学霸内 ...
- Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE
Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE Windows平台下安装Arduino IDE Windows操作系统下可以使用安装向导和压缩包形式安装.下面详细讲解这 ...
- Arduino可穿戴开发入门教程Arduino开发环境介绍
Arduino可穿戴开发入门教程Arduino开发环境介绍 Arduino开发环境介绍 Arduino不像我们使用的PC端操作系统一样,可以直接在操作系统中安装软件为操作系统编程.Arduino的软件 ...
- Arduino可穿戴开发入门教程LilyPad和LilyPad Simple的介绍
Arduino可穿戴开发入门教程LilyPad和LilyPad Simple的介绍 LilyPad和LilyPad Simple的介绍 LilyPad和LilyPad Simple是LilyPad微控 ...
随机推荐
- Python 的 Flask 框架安装应用
Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱採用 Werkzeug ,模板引擎则使用 Jinja2 ,使用 BSD 授权. Flask也被称为 " ...
- SGU536 Berland Chess
棋盘上白子只有一个国王 黑子给出 各子遵从国际象棋的走法 黑子不动,白子不能走进黑子的攻击范围以内 问白字能不能吃掉所有的黑子 直接搜索就好了,各子状态用二进制表示 不过每个子被吃之后攻击范围会改变 ...
- ubuntu服务器常见使用技巧及-kill掉后GPU显存不释放进程-
如何解决python进程被kill掉后GPU显存不释放的问题 1 重新开一个shell,然后输入: ps aux|grep user_name|grep python.所有该用户下的python程序就 ...
- Reverse Words in a String leetcode java
题目: Given an input string, reverse the string word by word. For example, Given s = "the sky is ...
- 使用Vue.js实现列表选中效果
实际项目中,我们会遇到很多类似的需求,一个列表,需要点击其中一条高亮显示.熟悉JQuery的同学说这个太简单了.可以给这个选中的element设置一个active的class.配合Css样式,让ac ...
- [ Laravel 5.5 文档 ] 官方扩展包 —— 全文搜索解决方案:Laravel Scout
简介 Laravel Scout 为 Eloquent 模型全文搜索实现提供了简单的.基于驱动的解决方案.通过使用模型观察者,Scout 会自动同步更新模型记录的索引. 目前,Scout 通过 Alg ...
- JAVA-SpringMVC开发第一个应用
找到eclipse工具路径 打开eclipse.exe 选择workspace的存放位置,点击ok 点击file-new 选择web-dynamic web project(动态web项目)-next ...
- [转]PostgreSQL Replication之扩展与BDR
原文:https://www.cnblogs.com/xmzzp/p/6284300.html postgres 实现master, slave ,且master是多主. -------------- ...
- Spring(八):Spring配置Bean(一)BeanFactory&ApplicationContext概述、依赖注入的方式、注入属性值细节
在Spring的IOC容器里配置Bean 配置Bean形式:基于xml文件方式.基于注解的方式 在xml文件中通过bean节点配置bean: <?xml version="1.0&qu ...
- Linux Kernel系列三:Kernel编译和链接中的linker script语法详解
先要讲讲这个问题是怎么来的.(咱们在分析一个技术的时候,先要考虑它是想解决什么问题,或者学习新知识的时候,要清楚这个知识的目的是什么). 我在编译内核的时候,发现arch/arm/kernel目录下有 ...