LCD1602芯片的使用——简单易懂

2023-11-04

题目:
想在LCD1602上显示两行如下字样
++++++++++++++++++++
+ huaianxinxi +
+ wantin +
++++++++++++++++++++
想完成上面的显示必须掌握LCD1602芯片的基本知识,将在程序下面附上LCD1602芯片的基本知识,供大家参考,我实现的比较简单,没有什么花哨的显示,大家首先要学会操作该硬件,其他的功能完全可以根据其功能说明进行逐项实现。
代码如下:

/* 想在LCD1602上显示两行如下字样
    ++++++++++++++++++++
    + huaianxinxi      +
    +   wantin         +
    ++++++++++++++++++++
 */

#include <reg51.h>
#include <string.h>
sbit RS=P2^0;
sbit RW=P2^1;
sbit EN=P2^2;

unsigned char info_1[]=" huaianxinxi";  // LCD1602第一行所要显示的信息
unsigned char info_2[]="   wantin";     // LCD1602第二行所要显示的信息
/* 延时 */
void delay(int n)
{
    int i,j;
    for(i=0;i<n;i++)
    {
        for(j=0;j<200;j++);
    } 
}

/* LCD1602写操作指令  根据时序图实现代码 */
void LCD1602_WriteCMD(unsigned char cmd)
{
    P0=cmd;   //    指令数据传到P0口待发送给LCD1602
    RS=0;     //    指令
    RW=0;     //    写
    EN=1;     //    LCD1602使能口
    EN=0;     //    产生下降沿
    delay(10);  //  延时,等待数据传输完成
}
/* LCD1602写数据   根据时序图实现代码 */
void LCD1602_WriteDATA(unsigned char Data)
{
    P0=Data;
    RS=1;
    RW=0;
    EN=1;
    EN=0;   
    delay(10);
}

/* LCD1602显示屏初始化 */
void LCD1602_Initi()
{
    LCD1602_WriteCMD(0x38); //  置功能,4位总线,双行显示,显示5X7的点阵字符
    LCD1602_WriteCMD(0x0F); //  显示开关控制,开显示, 有光标,闪烁
    LCD1602_WriteCMD(0x06); //  光标和显示位置设置,  光标移动方向右移,屏幕上所有文字不动
    LCD1602_WriteCMD(0x01); //  清显示,指令码01H,光标复位到地址00H位置
}


void main()
{
    int i;
    LCD1602_Initi();
    LCD1602_WriteCMD(0x80); //  选择第一行首地址
    for(i=0;i<strlen(info_1);i++)
    {
        LCD1602_WriteDATA(info_1[i]); //    写入字符
    }

    LCD1602_WriteCMD(0xC0); //  选择第二行首地址
    for(i=0;i<strlen(info_2);i++)
    {
        LCD1602_WriteDATA(info_2[i]);  //   写入字符
    }
    while(1);
}

结果如下:
这里写图片描述

基本知识如下:

LCD1602资料
一:液晶显示器各种图形的显示原理
线段的显示:点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。
字符的显示:用LCD显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。
汉字的显示:汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5……右边为2、4、6……根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节……直到32B显示完就可以LCD上得到一个完整汉字
二:1602字符型LCD简介
1.字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。下面以长沙太阳人电子有限公司的1602字符型液晶显示器为例,介绍其用法。一般1602字符型液晶显示器实物如图
这里写图片描述
这里写图片描述

2.1602LCD的基本参数及引脚功能
1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图
这里写图片描述
3.LCD1602主要技术参数:
显示容量:16×2个字符
芯片工作电压:4.5—5.5V
工作电流:2.0mA(5.0V)
模块最佳工作电压:5.0V
字符尺寸:2.95×4.35(W×H)mm
4.引脚功能说明
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表
这里写图片描述
第1脚:VSS为地电源。
第2脚:VDD接5V正电源。
第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:D0~D7为8位双向数据线。
第15脚:背光源正极。
第16脚:背光源负极。
5.其与单片机的连接如下图所示
这里写图片描述
6.1602液晶模块内部的控制器共有11条控制指令,如下表所示
这里写图片描述
1602液晶模块的读写操作,屏幕和光标的操作都是通过指令编程来实现的。(说明1为高电平,0为低电平)
指令1:清显示,指令码01H,光标复位到地址00H位置
指令2:光标复位,光标返回到地址00H
指令3:光标和显示位置设置I/D,光标移动方向,高电平右移,低电平左移,S:屏幕上所有文字是否左移或右移,高电平表示有效,低电平表示无效。
指令4:显示开关控制。D:控制整体的显示开与关,高电平表示开显示,低电平表示关显示。C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:光标或显示移位 S/C :高电平时显示移动的文字,低电平时移动光标
指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时为双行显示,F:低电平时显示5X7的点阵字符,高电平时显示5X10的显示字符。
指令7:字符发生器RAM地址设置。
指令8:DDRAM地址设置。
指令9:读忙信号和光标地址 BF:忙标志位,高电平表示忙,此时模块不能接收命令或数据,如果为低电平表示不忙。
与HD44780相兼容的芯片时序表如下:
这里写图片描述
读写操作时序如图所示
这里写图片描述
这里写图片描述

7.1602LCD的RAM地址映射及标准字库表
液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在,哪里显示字符,图是1602的内部显示地址。
这里写图片描述
图五:LCD1602内部显示地址
例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。
在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如图10-58所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
这里写图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LCD1602芯片的使用——简单易懂 的相关文章

  • 电巢独家直播|第七届世界无人机大会圆满落幕!

    当前 全球化秩序正进入新的调整阶段 数字化技术与生产生活深度融合 将加速推动数字化经济的全面渗透 中国经济也正由高速增长向高质量发展转变 这为无人机行业创造了更多的战略机遇 根据深圳市无人机行业协会统计 2022年 全国1 2万多家无人机企
  • 微电子专业

    作者IC修真院 今天来聊聊微电子高校 提到微电子专业 肯定不得不说9所首批示范性微电子学院 今天就来盘他们 类似于专业设置 培养方案 课程设置这类信息 在学校官网上都是可以直接搜索到的 就不和大家赘述了 这里主要就方向优势 科研能力和业内认
  • 单片机原理及应用复习

    关于这个复习的资源 或者网址 点击 第一章 单片机的基础知识 1 什么是单片机 特点 将通用微型计算机基本功能部件集成在一块芯片上构成的一种专用微计算机系统 嵌入式系统 用于解决小型被控对象的智能化问题 SCM或MCU 组成 特点 体积小
  • MAX232无RS232电平信号输出、MAX232/3232硬件设计电路、电荷泵电容、max3221电路

    调试MAX3221芯片过程中 经测试 电路的单片机的uart可以正常收发数据 可无论单片机怎么发送数据 max3221都没有输出RS232电平的信号 看了论坛上的留言 正常的RS232电路中 芯片 V V 引脚电压应该为一倍多将近两倍的Vc
  • AMS磁编码器:AS5048与AS5047区别,伺服电机闭环系统位置反馈

    本文只简介 AMS的磁编码器 其他厂商磁编IC见另一篇 https blog csdn net Mark md article details 100181701 新增补了一篇 详细介绍了GMR磁编码器原理 同类对比优劣 安装方式 设计注意
  • CMOS芯片制造全工艺流程(后端基础第一篇)

    芯片制造全工艺流程详情 我们每天运行程序的芯片是这样造出来的 放大后的芯片机构 无与伦比的美 在如此微观世界 人类科技之巅 芯片一般是指集成电路的载体 也是集成电路经过设计 制造 封装 测试后的结果 通常是一个可以立即使用的独立的整体 如果
  • 谷歌的AI芯片设计

    机器学习最近经常出现在新闻中 一些早期的炒作已经平息 但 这种趋势仍然存在 现在它已经真正开始在芯片设计界掀起波澜 芯片设计中的机器学习和人工智能是一个如此庞大的领域 我开始迷失在所有的研究中 所以我想进入芯片设计领域的最新突破 平面规划
  • 自制USB-HUB一分四扩展器

    自制USB HUB一分四扩展器 电脑只有俩USB2 0接口 不够用 所以决定自己做一个 使用到的芯片是sl2 1a 考虑到是自己用 所以成本还是比较重要的 这款芯片价格便宜 而且做扩展器也是够用的 适用于USB2 0 下面是原理图 其实这个
  • ST芯片涨价后,你是如何做的?

    芯片涨价也2年多了 今年 2022年 年后又一次涨价 硬件工程师们该何去何从 分享一下自己的经历 给大家一些参考 目录 前言 一 来势汹汹的芯片涨价 二 芯片方案替换 三 对未来的准备 结语 前言 前面所有的博文 都是技术类型的 作为一名多
  • 高效率同步4开关Buck-Boost DC/DC控制器TMI5700

    随着户外储能电源应用需求的增加 以及PD大功率车充产品的广泛推广 应对不同输入供电设备 如5V 19V的适配器 以及12V 24V车载充电器 或电池组 4 2V 17 6V 都需要转换成5 20V的PD电压来应对不同负载设备的供电需求 图1
  • 半导体工艺流程

    本文首发 公众号 半导体产业园 转载链接 https www sohu com a 257666855 100269991 spm smpc content share 1 16073320927520q75qyB comment area
  • 谈谈修改寄存器默认值的几种方法和实现

    一 DFF的类型介绍 寄存器默认值 也叫复位值 是当reset或者set有效时寄存器输出的值 对于一个DFF来说 如下图 当reset为0时 Q输出0 当set为0时 Q输出为1 外部使用时保证reset与set不同时为0 图一 也就是说
  • 1σ Random Jitter of SSB for TIE & Period

    1 Random Jitter of SSB for TIE Period 该章节厘清了jitter基本概念 并给出了对应的表达式
  • C51流水灯 running water lamp

    include
  • 【STM32学习】(19)STM32实现直流电机测转速(霍尔传感器)

    最近在学习STM32单片机 本次博文想记录一下32单片机连接霍尔传感器来测量直流电机转速 材料准备 1 单片机 STM32L052K8 2 霍尔传感器 3 直流电机 电路图如下 其中 单片机和直流电机不用介绍 下面介绍一下霍尔传感器 主要想
  • 常用电子元件介绍与功能

    常用电子元件简介及其作用 一 电容 1 种类 1 CBB电容 2 铝电解电容 3 钽电解电容 4 高频瓷片电容 5 低频瓷片电容 2 作用 1 去耦 2 滤波器 3 储能 4 检波 5 无源晶振 6 隔直通交 3 总结 二 电感 1 种类
  • 《每日一题》NO.38:谈谈芯片的IO排布形式,与封装之间的关系?

    芯司机 每日一题 会每天更新一道IC面试笔试题 其中有些题目已经被很多企业参考采用了哦 聪明的你快来挑战一下吧 多多刷题 巩固技术知识 也为求职笔面试加加分 大家快来做题吧 今天是第38题 本题来谈谈芯片的IO排布形式 与封装之间的关系 今
  • 互联网日报

    今日看点 吉利汽车科创板首发过会 抢滩 科创板整车第一股 新浪就 私有化 交易达成最终协议 总价25 9亿美元 淘宝直播12个月累计成交额超过3000亿元 用户同比增长160 滴滴货运日单量连续突破10万 持续拓展同城货运版图 360保险推
  • 计算机基础:一颗芯片是怎样诞生的?

    一颗芯片是怎样诞生的 芯片属于半导体 半导体是介于导体和绝缘体之间的一类物质 元素周期表中硅 锗 硒 硼的单质都属于半导体 这些单质通过掺杂其他元素生成的一些化合物 也属于半导体的范畴 这些化合物在常温下可激发载流子的能力大增 导电能力大大
  • 应用在多媒体触摸屏设备中的触摸感应芯片

    多媒体触摸屏设备是触摸液晶显示器结合现代PC机组成的具有触摸显示和计算机操作功能为一体的产品 它包括两个部分 一个是触摸液晶显示器 它具有触控的特性和显示输出的功能 另一个是PC机 也就是所说的计算机 通过两个部分整合到一起 实现了具有触摸

随机推荐