在本课题中,我们将简要讨论如何将16×2 LCD模块与8051系列单片机AT89C51接口。我们使用LCD显示以更交互式的方式显示消息,以操作系统或显示错误消息等。接口16×2液晶与8051单片机如果你了解LCD的工作原理,就很容易了。
因此,在这个项目中,我不仅会提供LCD的信息,还会提供C语言的代码,运行良好,没有任何错误。
也了解一下接口led与8051微控制器
一个简短的说明16×2 LCD
16×2液晶显示器,将在两行中一次显示32个字符(一行16个字符)。显示器中的每个字符大小为5×7像素矩阵。这个矩阵不同的16×2液晶模块,如果你采取JHD162A,这个矩阵到5×8。LCD模块中有16个引脚,引脚配置如下所示
|
|
|
---|---|---|
|
|
地面销 |
|
|
5V电源引脚 |
|
|
用于调节通常附在电位器上的对比度。 |
|
|
RS是用来将显示数据写入LCD(字符)的寄存器选择引脚,当将数据写入LCD时,该引脚必须是高的。在初始化序列和其他命令期间,该引脚应该低。 |
|
|
读写数据到LCD读写数据R/W引脚应该是高的(R/W=1)写入数据到LCD R/W引脚应该是低的(R/W=0) |
|
|
使能引脚用于启动或使能模块。给该引脚一个约450ns的高到低脉冲。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DB0-DB7用于显示数据(如数字、字符或命令数据等普通数据)的数据引脚 |
|
|
|
|
|
|
|
|
|
|
|
LCD的背光应连接到Vcc |
|
|
LCD背光应接地。 |
因此,通过阅读上表,您可以得到一个简短的想法如何显示字符。为了显示一个字符,你应该通过提供450ns的脉冲来启用引脚(引脚6),在启用引脚6之后,你应该在写模式下选择寄存器选择引脚(引脚4)。要在写模式下选择寄存器选择引脚,你必须使该引脚高(RS=1),选择寄存器选择后,你必须配置R/W写入模式,即R/W应该是低(R/W=0)。
按照以下简单的步骤显示字符或数据
- E = 1;使能引脚应该高
- RS = 1;寄存器选择应该是高的
- R / W = 0;读/写引脚应该低。
发送命令到LCD只需要遵循以下步骤:
- E = 1;使能引脚应该高
- RS = 0;寄存器选择应该是低的
- R / W = 0;读/写引脚应该低。
命令:有一些预设命令将在LCD中执行特定的任务。这些命令对于在LCD上显示数据非常重要。命令列表如下:
|
|
---|---|
|
LCD开机,光标闪烁即可。 |
|
清除屏幕 |
|
回家了。 |
|
减量光标 |
|
增量光标 |
|
显示打开,光标也打开 |
|
强制光标到第一行的开始 |
|
强制光标到第二行开头 |
|
使用两条直线和5x7矩阵 |
|
光标行1位置3 |
|
激活第二行 |
|
跳到第二行位置3 |
|
跳到第二排位置1 |
为了获得详细的信息,点击这里并下载数据表
接口16×2液晶与8051电路图
组件的要求
- AT89C51单片机(8051单片机)
- 16 x2液晶显示器
- 11.0592 mhz的水晶
- 2 X 33pF电容器
- 2 X 10 KΩ电阻
- 1 KΩ X 8电阻包
- 10 KΩ电位计
- 330Ω电阻
- 按钮
- 10μF / 16 v电容器
- 8051年程序员
- 5 v电源
- 连接电线
电路的解释
晶体振荡器连同两个33pF电容器连接到XTAL1和XTAL2,为微控制器提供系统时钟。
RST引脚在10KΩ电阻的帮助下被拉低。通过一个10μF电容和一个按键,可以对8051单片机进行复位。EA在10KΩ电阻的帮助下被拉高。
LCD的数据引脚连接到PORT0(首先,PORT0引脚必须用1KΩ拉出- high)电阻包).RS和E连接到PORT2引脚P2.0和P2.1。
一个10KΩ电位器被用来调整LCD的对比度。
LCD编程到8051
开始编程时,你应该遵循以下步骤:
- 步骤1:初始化的液晶。
- 步骤2:发送命令到LCD。
- 步骤3:将数据写入LCD。
[也读:如何制作可调节计时器]
初始化液晶
初始化LCD到8051以下指令和命令将被嵌入到功能
- 0x38用于8位数据初始化。
- 0xoC用于使液晶显示和光标关闭。
- 0X01用于清除LCD显示。
- 将光标定位在第一行的0x80。
向LCD发送命令
- E = 1;使能引脚应该高
- RS = 0;对于发送命令,寄存器选择应该是低的
- 将数据放在数据寄存器中
- R / W = 0;读/写引脚应该低写入数据。
数据写入LCD
- E = 1;使能引脚应该高
- RS = 1;对于写入数据,寄存器选择应该是高的
- 将数据放在数据寄存器中
- R / W = 0;读/写引脚应该低写入数据。
重要的后7段显示与8051单片机接口
代码
额外的代码
下面给出的程序将使用上面的函数并显示程序员给出的显示数据的完整字符串。我们已经提供了两个演示代码,工作正常,易于理解。
代码1
代码2
相关文章:实时时钟接口PIC18F
20的反应
嗨……这是sandhya…我们是DNG项目使用LCD显示。所以我们想在keil程序编码显示接收的数据....?
是的,我们可以。
哇,这篇文章很好,我妹妹正在分析这样的事情,所以我要让她知道。
如果你有答案,把pgm发给我。因为我也有同样的项目。
下面是用keil编写的简单代码,代码显示HELLO。
代码是为8051 uc编写的。关于引脚连接或其他事情的信息,电子邮件我-srihariash@gmail.com
ORG 0000 h
: MOV, # 38 h
驱使着CMND
MOV, # 0跳频
驱使着CMND
MOV, # 06 h
驱使着CMND
MOV, # 01 h
驱使着CMND
MOV, # 080 h
驱使着CMND
MOV, # ' '
驱使着DISP
MOV, #“H”
驱使着DISP
MOV, #“E”
驱使着DISP
MOV, #“L”
驱使着DISP
MOV, #“L”
驱使着DISP
MOV, #“O”
驱使着DISP
SJMP这里
CMND: MOV P2
CLR P3.5
CLR P3.4
SETB P3.3
CLR P3.3
受潮湿腐烂
DISP: MOV P2
SETB P3.5
CLR P3.4
CLR P3.3
SETB P3.3
受潮湿腐烂
结束
如何燃烧生成的十六进制代码由keil到8051
我看到过非常棒的网站,因为z编程写得很好,而且很容易理解....
谢谢你 ...........
NGDFM,高清FVULDVBDVFDVHBDKFHVBFDMVHBDMFVBMVVHG
非常简化程序。这是我在网上找到的最好的代码。
我知道如何显示简单的字符。
但是假设我想要显示一个字符串(例如:“我的名字是xyz”),那么我应该做什么?
我应该把字符串放在lcddata函数吗?还是需要手动向左移动数据以显示同一行中的空格和其他字符?
你好,先生,我是pratibha,我们正在进行LCD显示项目,我们需要代码和图表,请给我
代码已经上传了。
先生,我正在设计数字压力测量显示器,我感到困惑,我给adc一个模拟信号,它把它转换成数字,我想根据应用到adc 0808的信号显示压力,我怎么能做到…??
我的儿子,我理解你的担心,如果你只是去good morning商店买一个压力8056洗涤锤
需要一个代码显示在LCD使用xmc4500
好解释!
我能要一份关于这个项目的完整报告吗
我想通过微控制器读取传感器的实时值并在这里显示出来。这个代码工作或如果没有,那么任何人可以帮助我与keil视觉软件的代码
程序中存在太多空白
嗨。我能得到汇编格式的代码吗?