IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 1602液晶显示屏工作原理引脚电路图51单片机 -> 正文阅读

[嵌入式]1602液晶显示屏工作原理引脚电路图51单片机

这一节讲解1602液晶屏的操作,搭建的proteus仿真图如下图。

.
.
在这里插入图片描述
.
.
.

1602液晶屏有16只引脚,其含义为:
.
.
在这里插入图片描述
.
.
.

VDD引脚是电源脚,1602液晶屏最佳工作电压是5V;

VO引脚用于调整1602显示的对比度,一般会外接电位器用以调整偏压信号(该引脚电压为0时对比度最高);

RS引脚为数据/命令选择端,该引脚高电平时1602操作的是数据,而低电平时1602操作的是命令。数据就是我们要让1602液晶屏显示的具体内容,而命令就是对1602的设置(比如光标是否闪烁等);

R/W引脚为读写选择端,该此脚高电平可对1602进行读数据操作,而低电平时进行写数据操作。由于实际应用1602时我们基本上都是对1602进行写操作,所以很多板子都是直接将该引脚拉低。若需要对1602进行读操作,在实际设计PCB时可以接一个排针,通过跳帽来选择高低电平;

E引脚是使能信号,跟1602的读写操作时序有关,产生一个高脉冲有效;

D0~D7引脚是8位并行数据口,使得对1602的数据读写大为方便。
.
.
.
在这里插入图片描述

.
.

1602液晶屏是字符型液晶屏,其内置含128个字符的ASCII字符集字库,只能显示ASCII码字符,每行显示16个字符,总共能显示两行。如实物图所示,第一行第一列显示了“A”,那如何写程序才能做到呢?首先我们得知道1602液晶屏内部带有80B的RAM缓冲区,其中第一行的地址从00H0FH,第二行的地址从40H4FH都是能显示的,若超出地址范围则必须通过移屏指令,移入到00H0FH或者40H4FH范围内才能显示,其次1602液晶屏内部的地址指针从80H开始。回到刚才的问题,我们需要设置数据地址指针为(80H+00H),并把字符‘A’写入1602液晶屏,那么1602液晶屏的第一行第一列就显示字符A了。
.
.
在这里插入图片描述

.
.

说了这么多,那么我们怎样才能将“数据”或者“指令”写入1602呢?这里就需要理解1602液晶屏的时序了。时序,通俗的说就是芯片设定好的引脚电平状态和时间的关系,只有根据这个关系芯片才能完成制定的工作。实际操作中一般只对1602进行写操作,写操作的时序图如下所示。
.
.
.
在这里插入图片描述
.
.
.
在这里插入图片描述

.
.

时序图看起来很复杂,其实我们只要抓住关键的几个点就可以了。根据时序图,

第一步:确定是写指令还是写数据:如果我们要向1602写命令,那么RS引脚拉低;若向1602写数据,那么RS引脚拉高;

第二步:将RW引脚拉低(写操作,若是读操作RW引脚拉高);

第三步:DB0~DB7的数据才是有效数据“Valid Data”,此时我们把数据或者指令赋值给DB0~DB7;

第四步:E引脚给一个高脉冲,持续时间tpw最小值为150ns,然后E引脚再次拉低。

通过上述四个步骤就可以对1602进行一次写操作了。由于1602时序图时间是ns级,而AT89C52单片机指令周期是us级,所以即使不在程序里加延时程序,也应该可以很好的配合1602的时序要求,不过为了液晶显示的稳定,最好加上短延时,大家可以在仿真的时候试试不同值的延时。

好了,到这里就可以开始写程序了,让1602液晶屏第一行显示“Toutiao:”,第二行显示“di ya dian qi”。

uchar code DISPLAY1[] = “Tou tiao:”; //1602液晶屏第一行显示的内容

uchar code DISPLAY2[] = “di ya dian qi”; //1602液晶屏第二行显示的内容

sbit lcd_RS = P2^0;

sbit lcd_RW = P2^1;

sbit lcd_EN = P2^2;

sfr DBPort = 0x80; //1602液晶屏8位并行口D0~D7连接单片机P0口

void delayxms(uint xms)

{

uint i,j = 0;

for(i = xms;i > 0;i–)

for(j = 110;j > 0;j–);

}

//LCD_Write函数的代码,大家要对照着时序图看就明白了。

void LCD_Write(bit style, unsigned char input)

{

lcd_RS = style;//RS高电平表示写数据,低电平表示写命令

lcd_RW = 0; //RW低电平表示写操作

nop(); //延时一个机器周期

DBPort = input; //向P0口赋值,也就是向1602的D0~D7这8位并行口赋值

nop();

lcd_EN = 1; //E引脚拉高

nop();

lcd_EN = 0; //延时之后E引脚再拉低,表示给E引脚一个高脉冲

delayxms(1);//这个延时很关键,保证向1602不断的写数据时E引脚能实现一个高脉冲

}

void LCD_Initial()

{

lcd_EN = 0;//初始化时E引脚拉低,为后续给E引脚高脉冲做好准备

LCD_Write(LCD_COMMAND,0x38); //设置16*2显示

LCD_Write(LCD_COMMAND,0x0C); //设置开显示,光标不显示且不闪烁

LCD_Write(LCD_COMMAND,0x06); //写一个字符后地址指针+1

LCD_Write(LCD_COMMAND,0x01); //显示清零,数据地址指针清零

}

void main(void)

{

uint index1,index2 = 0;//第一行和第二行要显示的内容的序号

LCD_Initial();

LCD_Write(LCD_COMMAND,0x80);//光标定位在第一行第一列

for(index1 = 0;index1 < 9;index1++)

{

LCD_Write(LCD_DATA,DISPLAY1[index1]);//依次写入“Toutiao:”

delayxms(1);//每写完一个字符后延时,使得1602显示稳定

}

LCD_Write(LCD_COMMAND,0x80+0x40);//光标定位在第二行第一列

for(index2 = 0;index2 < 13;index2++)

{

LCD_Write(LCD_DATA,DISPLAY2[index2]);//依次写入““di ya dian qi”

delayxms(1);

}

while(1);//程序死循环,1602静态显示

}

最终的效果如图所示,下一节继续讲下1602的初始化设置方面的内容,以及移入显示的效果。
.
.
.
在这里插入图片描述
.
.
.
1602仿真加程序下载
.
.

http://www.buffalotone.com/?p=3163

复制上面链接到浏览器,即可打开下载
希望同学们喜欢了!

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:39:38  更:2022-07-17 16:42:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 13:02:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码