LCD1602显示屏

2024-04-04 01:44
文章标签 lcd1602 显示屏

本文主要是介绍LCD1602显示屏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

LCD1602显示

  • 概述

    LCD1602(Liquid Crystal Display)是一种工业字符型液晶,能够同时显示 16×02 即 32 字符(16列两行)

    在这里插入图片描述

  • 引脚说明

    在这里插入图片描述

    //电源
    VSS -- GND
    VDD -- 5V
    //对比度
    VO -- GND
    //控制线
    RS -- P1.0
    RW -- P1.1
    E -- P1.4
    //背光灯
    A -- 5V
    K -- GDN
    //数据
    D0到D7 -- P0.0到P0.7
    

    在这里插入图片描述

  • 开发逻辑

    在这里插入图片描述

  • 在哪里显示

    在这里插入图片描述

    例如第二行第一个字符的地址是 40H,那么是否直接写入 40H 就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位 D7 恒定为高电平 1 所以实际写入的数据应该是 01000000B(40H) +10000000B(80H)=11000000B(C0H)

  • 显示什么

    在这里插入图片描述

  • 读写操作时序

    1. 读操作时序

      在这里插入图片描述

    2. 写操作时序

      在这里插入图片描述

    3. 数序参数

      在这里插入图片描述

  • 显示一个字符

    #include "reg52.h"
    #include "intrins.h"#define BUFF P0
    /*
    控制线接口:
    RS -- P1.0
    RW -- P1.1
    E -- P1.4
    */
    sbit RS = P1^0;
    sbit RW = P1^1;
    sbit EN = P1^4;
    void check_busy()//每次写指令,读/写数据操作均需要检测忙信号
    {char tmp = 0x80;BUFF = 0x80;while(tmp & 0x80){RS = 0;RW = 1;EN = 0;_nop_();EN = 1;_nop_();tmp = BUFF;_nop_();_nop_();EN = 0;_nop_();}
    }void Write_cmd(char cmd)//写指令
    {check_busy();RS = 0;RW = 0;EN = 0;_nop_();BUFF = cmd;_nop_();EN = 1;_nop_();_nop_();EN = 0;_nop_();
    }
    void Write_data(char _data)//写数据
    {check_busy();RS = 1;RW = 0;EN = 0;_nop_();BUFF = _data;_nop_();EN = 1;_nop_();_nop_();EN = 0;_nop_();
    }
    void Delay15ms()		//@11.0592MHz
    {unsigned char i, j;i = 27;j = 226;do{while (--j);} while (--i);
    }
    void Delay5ms()		//@11.0592MHz
    {unsigned char i, j;i = 9;j = 244;do{while (--j);} while (--i);
    }void LCD1602_init()//LCD1602初始化
    {//(1)延时 15msDelay15ms();//(2)写指令 38H(不检测忙信号)Write_cmd(0x38);//(3)延时 5msDelay5ms();//(4)以后每次写指令,读/写数据操作均需要检测忙信号//(5)写指令 38H:显示模式设置Write_cmd(0x38);//(6)写指令 08H:显示关闭Write_cmd(0x08);//(7)写指令 01H:显示清屏Write_cmd(0x01);//(8)写指令 06H:显示光标移动设置Write_cmd(0x06);//(9)写指令 0CH:显示开及光标设置Write_cmd(0x0c);}
    void main()
    {char cmd = 0x80 + 0x05;//第一行第五个位置char _data = 'C';LCD1602_init();Write_cmd(cmd);Write_data(_data);
    }
    
  • 显示一行字符

    #include "reg52.h"
    #include "intrins.h"#define BUFF P0
    /*
    控制线接口:
    RS -- P1.0
    RW -- P1.1
    E -- P1.4
    */
    sbit RS = P1^0;
    sbit RW = P1^1;
    sbit EN = P1^4;
    void check_busy()//每次写指令,读/写数据操作均需要检测忙信号
    {char tmp = 0x80;BUFF = 0x80;while(tmp & 0x80){RS = 0;RW = 1;EN = 0;_nop_();EN = 1;_nop_();tmp = BUFF;_nop_();_nop_();EN = 0;_nop_();}
    }void Write_cmd(char cmd)//写指令
    {check_busy();RS = 0;RW = 0;EN = 0;_nop_();BUFF = cmd;_nop_();EN = 1;_nop_();_nop_();EN = 0;_nop_();
    }
    void Write_data(char _data)//写数据
    {check_busy();RS = 1;RW = 0;EN = 0;_nop_();BUFF = _data;_nop_();EN = 1;_nop_();_nop_();EN = 0;_nop_();
    }
    void Delay15ms()		//@11.0592MHz
    {unsigned char i, j;i = 27;j = 226;do{while (--j);} while (--i);
    }
    void Delay5ms()		//@11.0592MHz
    {unsigned char i, j;i = 9;j = 244;do{while (--j);} while (--i);
    }void LCD1602_init()//模块初始化
    {//(1)延时 15msDelay15ms();//(2)写指令 38H(不检测忙信号)Write_cmd(0x38);//(3)延时 5msDelay5ms();//(4)以后每次写指令,读/写数据操作均需要检测忙信号//(5)写指令 38H:显示模式设置Write_cmd(0x38);//(6)写指令 08H:显示关闭Write_cmd(0x08);//(7)写指令 01H:显示清屏Write_cmd(0x01);//(8)写指令 06H:显示光标移动设置Write_cmd(0x06);//(9)写指令 0CH:显示开及光标设置Write_cmd(0x0c);}
    void LCD1602_print_line(char line,char col,char *string)//写入一行数据
    {switch(line){//switch选择那一行case 1:Write_cmd(0x80+col);//col 决定从哪个地方开始while(*string){Write_data(*string);string++;}break;case 2:Write_cmd(0x80+0x40+col);while(*string){Write_data(*string);string++;}break;}
    }
    void main()
    {LCD1602_init();LCD1602_print_line(1,0,"hello world");LCD1602_print_line(2,0,"to be number one");
    }
    

这篇关于LCD1602显示屏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/874504

相关文章

全倒装COB超微小间距LED显示屏的工艺技术,相比SMD小间距有何优势

全倒装COB(Chip On Board)超微小间距LED显示屏,在工艺技术上的革新,相较于传统的SMD(Surface Mount Device)小间距LED显示屏,展现出了多方面的显著优势。 首先,全倒装技术极大地提升了LED芯片的散热性能。通过将芯片直接焊接在基板上,减少了热阻,使得热量能够更快速地传导至基板并散发出去,有效避免了因高温导致的光衰和色彩偏移问题,从而保证了显示屏的长期稳定性

逗比学树莓派之lcd1602显示

通过树莓派GPIO连接LCD1602,使用wiringPi库和其附带的LCD库进行显示树莓派的CPU温度和内存使用情况。 1.首先按下图连接好硬件电路图: 2.然后在终端使用命令 sudo apt-get install git 安装版本管理软件Git 。

LED显示屏维修技巧与常见问题

LED显示屏作为现代显示技术的重要组成部分,广泛应用于广告、信息发布、公共显示等多个领域。然而,随着使用时间的增长,LED显示屏难免会出现各种问题。本文将探讨LED显示屏维修的一些小技巧以及常见的问题,帮助用户更好地维护和延长显示屏的使用寿命。 LED显示屏维修小技巧 1. 快速定位问题 当LED显示屏出现问题时,首先需要快速定位故障部位。这通常涉及到对显示屏的初步检查,包括电源

全倒装COBP1.5超微小间距LED显示屏快速抢占市场

随着全倒装COBP1.5超微小间距LED显示屏技术的日益成熟与成本的逐步降低,其市场渗透力愈发强劲,迅速在多个领域绽放出耀眼的光芒。不仅在传统的广告传媒、会议展览中成为不可或缺的视觉盛宴制造者,更在高端监控、虚拟现实体验、乃至医疗影像展示等前沿科技领域崭露头角。 随着市场需求的多样化,各大厂商纷纷加大研发投入,不断推出定制化解决方案,以满足不同场景下的特殊需求。这种灵活性与创新性,进一步推动了全

P0.7全倒装COB超微小间距LED显示屏厂家已量产,加速高清显示的发展

随着P0.7全倒装COB超微小间距LED显示屏技术的成功量产,这一里程碑式的成就不仅标志着高清显示技术迈入了全新纪元,更预示着未来视觉体验将迎来前所未有的变革。各大应用场景,如指挥中心、会议中心、大型活动直播、高端影院乃至家庭娱乐,都将因这项技术而焕发新生。 市场上,消费者对于视觉质量的追求日益高涨,P0.7全倒装COB显示屏以其极致细腻的画质、超高的色彩还原度以及卓越的稳定性,迅速成为行业新宠

高质量的小间距LED显示屏有什么表现

随着企业对宣传和品牌形象提升的需求日益增长,LED显示屏凭借其立体化宣传和低成本优势,逐渐成为企业宣传的重要工具。近年来,小间距LED显示屏在市场上逐渐普及,生产厂家和产品种类也不断增加。面对如此众多的选择,许多人在选择时往往感到困惑。那么,什么样的小间距LED显示屏才算得上是高质量的呢? 1. 发光管的高质量 高质量的小间距LED显示屏首先表现为其发光管的卓越品质。优质的发光管具有稳

插座也有显示屏?快来一探究竟!

关键词:显示屏插座’显示屏智能插座'边缘无线协同感知'低功耗物联网(LPIOT)'无线混合组网'用电监测'用电计量'计量插座'无线场景感知,场景能耗计算  在数字化和智能化日益加速的今天,物联网技术正逐渐成为连接现实世界与数字世界的重要桥梁。我们的生活和工作被各种智能设备所环绕,而其中一个看似普通却蕴含巨大能量的创新产品 —— 显示屏智能插座,正悄然改变着我们的用电方式。想象一下,一个小小的插座

【STM32项目设计】STM32F411健康助手--硬件SPI (硬件NSS/CS)驱动st7735--1.8寸TFT显示屏(1)

#include "lcd_driver.h"static uint16_t SPI_TIMEOUT_UserCallback(uint8_t errorCode);//液晶IO初始化配置void LCD_Driver_Init(void){SPI_InitTypeDef SPI_InitStructure;GPIO_InitTypeDef GPIO_InitStructure;/* 使

P0.9/P1.25全倒装共阴节能COB超微小间距LED显示屏已抢占C位

COB(Chip on Board)技术最早发源于上世纪60年代,是将LED芯片直接封装在PCB电路板上,并用特种树脂做整体覆盖。COB实现“点” 光源到“面” 光源的转换。点间距有P0.3、P0.4、P0.5、P0.6、P0.7、P0.9、P1.25、P1.538、P1.5625、P1.86、P1.875等。 COB封装有正装COB封装与倒装COB封装。正装COB的发光角度与打线距离,从技术路线

全倒装共阴节能COB超微小间距LED显示屏P1.5625技术参数

COB(Chip on Board)技术最早发源于上世纪60年代,是将LED芯片直接封装在PCB电路板上,并用特种树脂做整体覆盖。COB实现“点” 光源到“面” 光源的转换。点间距有P0.3、P0.4、P0.5、P0.6、P0.7、P0.9、P1.25、P1.538、P1.5625、P1.86、P1.875等。 晶锐创显倒装COB在正装COB的基础上,主要有以下几点优势: 1、超高可靠性 晶锐创