• LCD1602 液晶


    它是一种专门用来显示字母、数字、符号的点阵型液晶模块

    它是由若干个5x7或者5x10的点阵字符位组成

    引脚
    引脚

    时序
    时序

    操作步骤

    初始化
    写命令(RS=L)设置显示坐标
    写数据(RS=H)

    指令
    清屏:
    清屏

    指令码:0x01

    进入模式设置:
    进入模式设置

    I/D:0,写入新数据后光标左移;1,写入新数据后光标右移
    S:0,写入新数据后显示屏不移动;1,写入新数据后显示屏整体右移 1 个字符

    常用指令:0x06

    显示开关控制:
    显示开关控制

    D:0,显示功能关;1,显示功能开
    C:0,无光标;1,有光标
    B:0,光标闪烁;1,光标不闪烁

    常用指令:0x0c

    功能设定:
    功能设定

    D:0,数据总线为 4 位;1,数据总线为 8 位
    N:0,显示 1 行;1,显示 2 行
    F:0,5×7 点阵/每字符;1,5×10 点阵/每字符

    常用指令:0x38

    DDRAM
    DDRAM

    写入显示地址时要求最高位 D7 恒定为高电平 1
    实际地址:addr + 80H

    常用指令:0x80 (设置起点)

    应用电路
    应用电路

    举例

    sbit LCD1602_E = P2 ^ 7;
    sbit LCD1602_RW = P2 ^ 5;
    sbit LCD1602_RS = P2 ^ 6;
    
    void LcdWriteCom(uchar com)   //写入命令
    {
        LCD1602_E = 0;     //使能
        LCD1602_RS = 0;    //选择发送命令
        LCD1602_RW = 0;    //选择写入
    
        LCD1602_DATAPINS = com;     //放入命令
        Lcd1602_Delay1ms(1);        //等待数据稳定
    
        LCD1602_E = 1;            //写入时序
        Lcd1602_Delay1ms(5);      //保持时间
        LCD1602_E = 0;
    }
    
    void LcdWriteData(uchar dat)            //写入数据
    {
        LCD1602_E = 0;  //使能清零
        LCD1602_RS = 1; //选择输入数据
        LCD1602_RW = 0;
    
        LCD1602_DATAPINS = dat; //写入数据
        Lcd1602_Delay1ms(1);
    
        LCD1602_E = 1;
        Lcd1602_Delay1ms(5);
        LCD1602_E = 0;
    }
    
    void LcdInit()
    {
        LcdWriteCom(0x38);  //开显示
        LcdWriteCom(0x0c);  //开显示不显示光标
        LcdWriteCom(0x06);  //写一个指针加1
        LcdWriteCom(0x01);  //清屏
        LcdWriteCom(0x80);  //设置数据指针起点
    }
  • 相关阅读:
    ASP.NET Core 6.0 添加 JWT 认证和授权
    mumu模拟器pin码忘记,如何找回
    4.18 进程调度模拟算法
    解决ssh $host jps bash: jps: command not found 问题
    7
    6
    1
    5
    3
    使用loadrunner运行中问题(无代码生成解决方法)
  • 原文地址:https://www.cnblogs.com/zhangxuechao/p/11709618.html
Copyright © 2020-2023  润新知