在该项目中,我们将简要讨论如何将16×2 LCD模块接口到AT89C51,这是一个8051个家庭微控制器。我们使用LCD显示器以更具交互式的方式为显示消息进行操作,以操作系统或显示错误消息等。如果您了解LCD的工作,可以很容易地连接16×2液晶显示器。
因此,在这个项目中,我不仅提供LCD的信息,还提供C语言的代码,该代码在没有任何错误的情况下工作。
还有一个想法亚博彩票下载带8051 MiroController的接口LED
关于16×2液晶的简要说明
16×2液晶显示屏将在两行中显示32个字符(一行中的16个字符)。显示屏中的每个字符都具有5×7像素矩阵。该矩阵对于不同的16×2 LCD模块而异,如果使用JHD162A,则该矩阵进入5×8。LCD模块中有16个引脚,我们在下面给出的引脚配置
|
|
|
---|---|---|
|
|
地面别针 |
|
|
5V的电源销 |
|
|
用于调节常用于电位器的对比度。 |
|
|
RS是用于将显示数据写入LCD(字符)的寄存器选择引脚,在将数据写入LCD时,此引脚必须高。在初始化序列和其他命令期间,该引脚应低。 |
|
|
读取和将数据写入LCD,用于读取数据R / W引脚应高(R / W = 1),将数据写入LCD R / W引脚应低(R / W = 0) |
|
|
启用引脚用于启动或启用模块。对该销提供约450ns脉冲的高脉冲。亚博彩票下载 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
用于提供数据的DB0-DB7数据引脚(类似于数字字符或命令数据)的数据引脚 |
|
|
|
|
|
|
|
|
|
|
|
应该连接到VCC的LCD的背光 |
|
|
应连接到地面的LCD背光。 |
因此,通过阅读上面的表格,您可以了解如何显示字符。为了显示一个字符,您应该通过在启用PIN6之后给出450ns的脉冲来启用启用引脚(引脚6),在启用PIN6之后,您应该在写入模式下选择寄存器选择引脚(PIN4)。要在写入模式中选择寄存器选择引脚,您必须使此引脚高(RS = 1),选择寄存器后,选择您必须配置R / W的R / W为R / W应该低(R / W)= 0)。
遵循这些简单的步骤来显示字符或数据
- E = 1;启用PIN应高
- Rs = 1;注册选择应该很高
- r / w = 0;读/写销应低。
要向LCD发送命令只是遵循以下步骤:
- E = 1;启用PIN应高
- rs = 0;注册选择应低
- r / w = 0;读/写销应低。
命令:有一些预设命令将在LCD中执行特定任务。这些命令对于在LCD中显示数据非常重要。下面给出的命令列表:
|
|
---|---|
|
用于在LCD上切换,闪烁光标。 |
|
清除屏幕 |
|
回家。 |
|
递减游标 |
|
递增光标 |
|
显示屏和光标上 |
|
强制光标到第一行的开头 |
|
强制光标到第二行的开始 |
|
使用两行和5x7矩阵 |
|
光标线1位置3 |
|
激活第二行 |
|
跳到第二行位置3 |
|
跳到第二行位置1 |
要获取详细信息,单击此处并下载数据表
接口16×2 LCD带8051电路图
需要组件
- AT89C51(8051微控制器)
- 16x2 LCD显示器
- 11.0592MHz水晶
- 2 x 33pf电容器
- 2 x10kΩ电阻
- 1kΩx 8电阻包
- 10kΩ电位器
- 330Ω电阻
- 按钮
- 10μF/ 16V电容器
- 8051程序员
- 5V电源
- 连接电线
电路解释
晶体振荡器以及两个33pf电容器连接到XTAL1和XTAL2,其将向微控制器提供系统时钟。
RST引脚在10kΩ电阻的帮助下被拉低。在10μF电容和按钮的帮助下,您可以重置8051微控制器。ea在10kΩ电阻的帮助下被拉高。
LCD的数据引脚连接到Port0(首先,在1kΩ电阻包的帮助下,必须拉高Port0引脚)。RS和E连接到Port2引脚P2.0和P2.1。
10kΩ电位器用于调整LCD的对比度。
编程LCD至8051
来编程您应该按照以下步骤操作:
- 步骤1:液晶显示的初始化。
- 第2步:将命令发送到LCD。
- 第3步:将数据写入LCD。
[还阅读:如何制作可调整的计时器]
初始化液晶显示器
要将LCD初始化为8051,将嵌入以下指令和命令
- 0x38用于8位数据初始化。
- 0xOC用于使LCD显示屏和光标关闭。
- 0x01清除LCD的显示。
- 0x80用于将光标定位在第一行。
向LCD发送命令
- E = 1;启用PIN应高
- rs = 0;寄存器选择应该是低的发送命令
- 将数据放在数据寄存器上
- r / w = 0;读/写PIN应低于编写数据。
将数据写入LCD
- E = 1;启用PIN应高
- Rs = 1;寄存器选择应该很高用于写入数据
- 将数据放在数据寄存器上
- r / w = 0;读/写PIN应低于编写数据。
重要的帖子 -带8051微控制器的连接7段显示器
代码
附加码
下面给出的程序将使用上面的函数,并显示程序员给出的完整字符串以显示数据。我们提供了两份演示代码,良好地工作,易于理解。
代码1
代码2.
相关帖子:实时时钟(RTC)接口PIC18F
20回应
嗨......这是Sandhya ....我们是使用LCD显示器的DNG项目。所以我们希望在Keil中编码编码,以显示收到的数据......?
我们可以。
哇,这篇文章很好,我的妹妹正在分析这样的事情,因此我要告诉她。
如果你有回答,请给我发来。B'cz我有同一个项目。
下面是用keile汇编编写的简单代码。代码显示您好。
代码是为8051 UC编写的。有关PIN连接或其他内容的信息,请发送电子邮件 -srihariash@gmail.com.
org 0000h.
在这里:mov a,#38h
acall cmnd.
mov a,#0fh
acall cmnd.
mov a,#06h
acall cmnd.
mov a,#01h
acall cmnd.
mov a,#080h
acall cmnd.
mov a,#''
acall disp.
mov a,#'h'
acall disp.
mov a,#'e'
acall disp.
mov a,#'l'
acall disp.
mov a,#'l'
acall disp.
mov a,#'o'
acall disp.
sjmp这里
CMND:MOV P2,a
clr p3.5.
CLR P3.4
setb p3.3.
CLR P3.3.
雷
DISP:MOV P2,A
setb p3.5.
CLR P3.4
CLR P3.3.
setb p3.3.
雷
结尾
如何通过Keil刻录生成的十六进制代码到8051
我已经看到的卓越网站,Coz编程非常好,没有undetstood很容易......
谢谢你………..
NGDFM,HD FVULDVBDVFDVHBDKFHVBFDMVHBDMFVBMVVHG
非常简化的程序。这是我在互联网上找到的最好的代码。
我明白如何显示简单的字符。
但假设我想显示一个字符串(例如:“我的名字是XYZ”)我该怎么办?
我应该把这些字符串放在lcddata qufcion吗?或者确实要手动将数据转移到左侧,以显示同一行中的空间和其他字符?
嗨... Sir Am Pratibha ...我们是丁液晶显示项目我们想要代码和图表PLZ给我
代码通过完全通过它在Post ...中上传。
先生,我正在设计数字预设测量显示......我很困惑我给ADC给一个anlog信号,它将它转换为数字,我想根据应用于ADC 0808的信号显示预衰退0808如何做到这一点.. ??
我的儿子,如果你去早上好的商店,我就会理解你的担忧,买一个压力8056洗头锤
需要使用XMC4500在LCD中显示代码
很好的解释 !
我可以在这个项目上获得完整的报告吗?
我想通过微控制器从传感器读取实时值并在此显示它。这段代码是否会工作或如果没有任何人可以帮助我在Keil Vision软件中的代码
程序中存在太多的void
你好。我可以用装配格式获取代码吗?