Arduino与Proteus仿真实例-LCD2004(4线LM044L控制器)驱动仿真

LCD2004(4线LM044L控制器)驱动仿真

LCD2004,即2004字符型液晶显示器,是一种点阵模块,用于显示字母、数字、字符等。 它由 5x8 个点阵位置组成; 每个位置可以显示一个字符。 两个字符之间有一个点间距,行之间有一个空格,从而将字符和行分开。 模型 2004 表示它显示 4 行,每行 20 个字符。
LCD2004一般都有并口,即同时控制几个管脚。 LCD2004 可分为八端口和四端口连接。 如果使用八端口连接,那么SunFounder Uno板的所有数字端口几乎都被占用了。 如果要连接更多传感器,将没有可用端口。 因此,这里采用四端口连接,以便更好地应用。

LCD2004与LCD1602使用类似,请参考:

1、仿真电路原理图

在这里插入图片描述

2、仿真代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <LiquidCrystal.h>
/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/
char array1[]=" Wellcome!";
char array2[]="hello, Arduino!";
int tim = 50;
unsigned char i = 0;
// 初始化LCD1602
LiquidCrystal lcd(11, 10,5, 4, 3, 2);// RS、RW,D0~D7
/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/
void setup()
{
lcd.begin(20, 4); // 设置LCD的行和列
}
/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/
void loop()
{
i = 0;
lcd.setCursor(20,0); // 设置光标位置到第一行
while(array1[i] != NULL){
lcd.scrollDisplayLeft(); //将显示内容向左滚动一格。
lcd.print(array1[i]); // 显示内容
delay(tim); //wait for 250 ms
i++;
}
lcd.clear(); // 清屏
lcd.setCursor(0,1); // 设置光标位置到第二行
i = 0;
while(array2[i] != NULL){
lcd.scrollDisplayRight();
lcd.print(array2[i]);
delay(tim);
i++;
}
lcd.clear();
lcd.setCursor(0,0);
lcd.print(array1);
lcd.setCursor(0,1);
lcd.print(array2);
delay(2000);
}

3、仿真结果

在这里插入图片描述

文章来源: https://iotsmart.blog.csdn.net/article/details/121878027