在本文中,我们将发布一个项目,该项目解释了图形LCD(GLCD)与8051微控制器接口的不同方面。诺基亚5110是一款48 x 84图形LCD,具有内部控制器PCD8544,用于控制所有显示和操作。诺基亚 5110 通过串行总线接口与微控制器接口。完成项目后,您可以显示要显示的图形或文本。因此,让我们开始我们的教程,并学习如何将诺基亚5110显示屏等图形LCD连接到8051微控制器。
所以让我们来看看我们的项目!
项目目标
· 了解诺基亚 5110 GLCD 的基础知识。
· GLCD 与 8051 的串行总线接口。
· 生成用于显示需要显示的图形或文本的代码。
让我们开始构建我们的项目!
电路图
如图所示组装电路!组件和连接说明如下
诺基亚 5110主题
规格
· 48 x 84 图形液晶显示器
· 串行总线接口
· 内部控制器 – PCD8544
· 背光源
· 电源电压 2.7 -5.0 V
· 低耗电量
连接说明
· GND = > 接地引脚|连接到 8051 GND
· BL = > 引脚,用于控制 LED(背光)|连接到 3.3V
· VCC = >电源引脚,7 – 5 V |连接到 3.3V
· CLK = > 引脚时钟(用于 SPI 通信的串行时钟线)|连接到 8051 的 P2^1。
· DIN = >引脚数据(用于SPI通信的串行数据线)|连接到 8051 的 P2^2。
· DC = > 引脚,用于选择命令或数据模式的数据格式|连接到 8051 的 P2^3。
· CE => 芯片使能输入。使能引脚允许对数据进行时钟输入。信号为低电平活动。|连接到 8051 的 P2^4。
· RST => 外部复位。该信号将重置器件,并且必须施加该信号才能正确初始化芯片。信号为低电平活动。|连接到 8051 的 P2^5。
程序/代码
该程序是用嵌入式C语言编写的。下面解释了该程序的重要方面和子程序。
下载程序
在程序的开头,包含一个名为"reg52.h"的头文件。它是通用 80C52 和 80C32 微控制器的头文件。您可以将其替换为 8051 系列下控制器的头文件。之后,您可以看到两个名为"CircuitsTodayLogo"和"LookUpTable"的大型数组。第一个是用于显示电路今天的徽标(如您在本网站的标题区域中看到的那样)。 后者用于编写普通文本。您可以将第一个替换为您自己的徽标数组。只需在以下链接中上传徽标图像即可生成徽标的数组。https://www.riyas.org/2017/01/online-tool-to-convert-bitmap-to-hex-nokia-arduino.html
如前所述,用于控制LCD操作的信号连接是串行格式。命令模式和数据模式是用于与LCD通信的两种模式。
LCD的直流引脚用于选择模式。如果 DC = 0,则发送到 LCD 的数据为 Command,如果 DC = 1,则发送到 LCD 的数据为数据,并将其放置在 DDRAM 存储器(显示数据 RAM)中以显示在 LCD 显示器上。DDRAM 的值在写入 1 个字节后将自动递增。发送每个字节时,将首先发送 MSB。此处使用名为"Send()"的子例程将字节发送到 LCD。数据将在信号时钟的每个上升沿期间转移到Din引脚。
"Data()"和"Cmd()"是用于选择发送数据模式(数据模式和命令模式)的子例程。LCD 5110中的存储器排列采用矩阵形式,由6行(Y地址)和84列(X地址)组成。数据将以字节形式发送,并将被排列为垂直线。如果我们想访问在LCD显示屏上显示结果的位置,我们必须参考X地址和Y地址之间的关系。用于此目的的子例程是"setPixel()"和"setCursor()"。"allClear()"是用于清除整个DDRAM的子例程。
顾名思义,"Initialize_LCD()"是用于向LCD发送命令以进行初始化的函数。"charDisp()"和"stringDisp()"分别用于显示字符和字符串。
输出显示在照片中!
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.