“Arduino实验三十一:LCD1602实验”的版本间的差异
来自丢石头百科
Yousimaier17(讨论 | 贡献) (创建页面,内容为“=== 实验现象 === * LCD1602刚上电显示Welcome to use! * LCD1602第一行显示Hello,Diustou! * LCD1602第二行滚屏显示Hello,Diustou! === 部分函数…”) |
Yousimaier17(讨论 | 贡献) (→参数说明) |
||
(未显示同一用户的7个中间版本) | |||
第1行: | 第1行: | ||
+ | == 模块介绍 == | ||
+ | === 模块说明 === | ||
+ | *1602字符型液晶显示模块是专门用于显示字母、数字元、符号等的点阵型液晶显示模块。分4位和8位数据传输方式。提供5×7点阵+光标的显示模式。提供显示数据缓冲区DDRAM、字符发生器 CGROM 和字符发生器 CGRAM,可以使用 CGRAM 来存储自己定义的最多8个5×8点阵的图形字符的字模数据。提供了丰富的指令设置,清显示;光标回原点;显示开/关;光标开/关;显示字符闪烁;游标移位;显示移位元等。提供内部上电自动复位电路,当外加电源时,自动对模块进行初始化操作,将模块设置为默认的显示工作状态。 | ||
+ | |||
+ | === 显示原理 === | ||
+ | 在数字电路中,所有的数据都是以0和1保存的。对LCD控制器进行不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。而对于中文,常用却有6000以上,所以在ASCII表中,将高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。而剩下的低128位则留给英文字符使用,即英文的内码。那么,得到了汉字的内码后,还仅是一组数字,那又如何在屏幕上去显示呢?这就涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英文或汉字的形状,如英文的'A'在字模的记载方式如图1所示. | ||
+ | |||
+ | [[File:LCD Display Module_显示原理字符.jpg|400px]] | ||
+ | |||
+ | 而中文的“你”在字模中的记载却如图2所示。 | ||
+ | |||
+ | [[File:LCD Display Module_显示原理汉字.jpg|400px]] | ||
+ | |||
+ | === 参数说明 === | ||
+ | *电源电压:4.5V-5.5V (5V 最佳) | ||
+ | *屏幕:黄绿屏 | ||
+ | *显示容量:16x2个字符 | ||
+ | *数据传输:4位或8位并行 | ||
+ | *接口数量:16Pin | ||
+ | *工作电流(无背光):0.9mA-1.7mA | ||
+ | *工作电流(有背光):35mA-40mA | ||
+ | *驱动电压:4.2V-4.8V (4.5V 最佳) | ||
+ | *驱动电流:0.6mA | ||
+ | *背光功耗:170mW-200mW | ||
+ | *显示占空比:1/16 | ||
+ | *驱动偏压:1/5 | ||
+ | *工作温度:-20℃ - 70℃ | ||
+ | *存储温度:-30℃ - 80℃ | ||
+ | *可视范围:76mm x 25.2mm | ||
+ | *外形尺寸:98mm x 60mm x 13.5mm | ||
+ | === 引脚说明 === | ||
+ | * [[File:Basic Pack For Arduino_1602.png|600px]] | ||
+ | |||
+ | == 实验说明 == | ||
=== 实验现象 === | === 实验现象 === | ||
* LCD1602刚上电显示Welcome to use! | * LCD1602刚上电显示Welcome to use! | ||
第60行: | 第94行: | ||
=== 电路连接 === | === 电路连接 === | ||
− | * | + | *[[File:Arduino实验三十一:LCD1602实验_接线1.png|400px]] |
+ | *4线连接: | ||
+ | **[[File:Arduino实验三十一:LCD1602实验_接线2.png|600px]] | ||
+ | *8线连接: | ||
+ | **[[File:Arduino实验三十一:LCD1602实验_接线3.png|600px]] | ||
=== 主要程序 === | === 主要程序 === | ||
第73行: | 第111行: | ||
delay(1000); | delay(1000); | ||
} | } | ||
− | lcd.clear(); //液晶清屏</pre> | + | lcd.clear(); //液晶清屏 |
+ | </pre> | ||
=== 相关下载 === | === 相关下载 === | ||
− | * | + | *[[:File:Arduino实验三十一:LCD1602实验.zip|Arduino实验三十一:LCD1602实验]] |
2023年6月3日 (六) 16:06的最新版本
模块介绍
模块说明
- 1602字符型液晶显示模块是专门用于显示字母、数字元、符号等的点阵型液晶显示模块。分4位和8位数据传输方式。提供5×7点阵+光标的显示模式。提供显示数据缓冲区DDRAM、字符发生器 CGROM 和字符发生器 CGRAM,可以使用 CGRAM 来存储自己定义的最多8个5×8点阵的图形字符的字模数据。提供了丰富的指令设置,清显示;光标回原点;显示开/关;光标开/关;显示字符闪烁;游标移位;显示移位元等。提供内部上电自动复位电路,当外加电源时,自动对模块进行初始化操作,将模块设置为默认的显示工作状态。
显示原理
在数字电路中,所有的数据都是以0和1保存的。对LCD控制器进行不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。而对于中文,常用却有6000以上,所以在ASCII表中,将高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。而剩下的低128位则留给英文字符使用,即英文的内码。那么,得到了汉字的内码后,还仅是一组数字,那又如何在屏幕上去显示呢?这就涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英文或汉字的形状,如英文的'A'在字模的记载方式如图1所示.
而中文的“你”在字模中的记载却如图2所示。
参数说明
- 电源电压:4.5V-5.5V (5V 最佳)
- 屏幕:黄绿屏
- 显示容量:16x2个字符
- 数据传输:4位或8位并行
- 接口数量:16Pin
- 工作电流(无背光):0.9mA-1.7mA
- 工作电流(有背光):35mA-40mA
- 驱动电压:4.2V-4.8V (4.5V 最佳)
- 驱动电流:0.6mA
- 背光功耗:170mW-200mW
- 显示占空比:1/16
- 驱动偏压:1/5
- 工作温度:-20℃ - 70℃
- 存储温度:-30℃ - 80℃
- 可视范围:76mm x 25.2mm
- 外形尺寸:98mm x 60mm x 13.5mm
引脚说明
实验说明
实验现象
- LCD1602刚上电显示Welcome to use!
- LCD1602第一行显示Hello,Diustou!
- LCD1602第二行滚屏显示Hello,Diustou!
部分函数说明
- LiquidCrystal()——构造函数
- 内容:创建一个LiquidCrystal的实例(LiquidCrystal是一个类)。可使用4线或8线方式作为数据线(请注意,还需要指令线)。若采用四线方式,将D0-D3悬空不连,RW引脚可接地而不用接在Arduino的某个引脚上;如果这样接,省略在函数中的rw参数.
- 语法:
- LiquidCrystal(rs, enable, d4, d5, d6, d7)
- LiquidCrystal(rs, rw, enable, d4, d5, d6, d7)
- LiquidCrystal(rs, enable, d0, d1, d2, d3, d4, d5, d6, d7)
- LiquidCrystal(rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7)
- 参数设置:
- rs: rs连接的Arduino的引脚编号
- rw: rw连接的Arduino的引脚编号
- enable:enable连接的Arduino的引脚编号
- d0, d1, d2, d3, d4, d5, d6, d7: 连接的Arduino的引脚编号
- begin()——指定显示屏尺寸
- 内容:指定显示屏的尺寸(宽度和高度)。
- 语句:lcd.begin(cols, rows)
- 参数设置:
- lcd: 液晶类型的名称变量
- cols: 显示器可以显示的列数(1602是16列)
- rows: 显示器可以显示的行数(1602是2行)
- clear())——清屏并将光标置于左上角
- 简介:清除LCD屏幕上内容,并将光标置于左上角。
- 语法: lcd.clear()
- home()——将光标置于左上角(不清屏)
- 内容:将光标定位在屏幕左上角. 就是说,接下来的字符从屏幕左上角开始显示.如果同时要清除屏幕上的内容,请使用clear()函数代替.
- 语法: lcd.home()
- setCursor())——将光标置于指定位置
- 简介:将光标定位在特定的位置。
- 语法: lcd.setCursor(col, row)
- 参数:
- lcd: 液晶类型的名称变量
- col: 你要显示光标的列 (从0开始计数)
- row: 你要显示光标的行 (从0开始计数)
- write())——显示一个字符(在光标处)
- 简介:向LCD写一个字符。
- 语法:lcd.write(data)
- 参数:
- lcd: LiquidCrystal类的对象
- data: 你要显示的字符(仅限英文和数字和你自己定义的字符)。
- print())——显示字符串
- 内容:将文本显示在LCD上.
- 语法:
- lcd.print(data)
- lcd.print(data, BASE)
- 参数:
- lcd: 液晶类型的名称变量
- data:要显示的数据,可以是char, byte, int, long或者string类型的
- BASE (optional): 数制(可选),BIN,DEC,OCT,HEX分别将数字以二进制,十进制,八进制,十六进制方式显示出来.
电路连接
主要程序
int i = 0; lcd.setCursor(1,0); //设置液晶开始显示的指针位置 lcd.print("Hello,Diustou!"); //液晶显示Hello,Diustou! for(i=16;i >=0;i--) { lcd.setCursor(i,1); lcd.print("Hello,Diustou!"); //液晶显示温度整数值 delay(1000); } lcd.clear(); //液晶清屏