zoukankan      html  css  js  c++  java
  • 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);  //设置数据指针起点
    }
  • 相关阅读:
    指令周期与机器周期
    MFC使用Access数据库
    函数指针的用途
    大端模式和小端模式
    Matlab信号展开
    EL表达式的11个内置对象
    JSP 4个域对象、7个动作指令、9个内置对象
    阿里巴巴java代码规范
    HDDATA基本注意事项
    SVN相关
  • 原文地址:https://www.cnblogs.com/zhangxuechao/p/11709618.html
Copyright © 2011-2022 走看看