Sound 发表于 2021-3-3 15:41:29

扩展库使用说明——LCD1602 I2C

本帖最后由 陈哲东 于 2021-7-1 15:32 编辑

1-硬件概述

1602A字符型液晶显示模块是专门用于显示字母、数字、符号等的点阵型液晶显示模块。分4位和8位数据传输方式。提供5×7点阵+游标的显示模式。提供显示数据缓冲区DDRAM、字符发生器CGROM和字符发生器CGRAM,可以使用CGRAM来存储自己定义的最多8个5×8点阵的图形字符的字模数据。提供了丰富的指令设置:清显示;游标回原点;显示开/关;游标开/关;显示字符闪烁;游标移位;显示移位等。

2-引脚定义




3-电路原理图
4-硬件连接





5-图形化模块

1.1602液晶屏引脚初始化



2.1602液晶屏清除



3.1602液晶屏显示字符,坐标设置



4.1602液晶屏显示字符串,坐标设置



5.1602液晶屏显示数字,坐标设置



6.1602液晶屏显示小数,小数精度设置,坐标设置



6-范例代码



#define SOFTIIC_SCL P1_5
#define SOFTIIC_SCL_OUT {P1M1|=0x20;P1M0|=0x20;}//P1_5开漏输出
#define SOFTIIC_SDA P1_4
#define SOFTIIC_SDA_IN {P1M1|=0x10;P1M0&=~0x10;}//P1_4高阻输入
#define SOFTIIC_SDA_OUT {P1M1|=0x10;P1M0|=0x10;}//P1_4开漏输出

#include <STC8HX.h>
uint32 sys_clk = 24000000;//设置PWM、定时器、串口、EEPROM频率参数
#include "mylib/liquidcrysta.h"
#include "lib/delay.h"

void setup()
{
liquidcrysta_init();//LIQUIDCRYSTA初始化
}

void loop()
{
liquidcrysta_clear();//液晶屏清除
liquidcrysta_show_char(0,0,'a');
delay(1000);
liquidcrysta_clear();//液晶屏清除
liquidcrysta_show_string(0,0,"abcd");
delay(1000);
liquidcrysta_clear();//液晶屏清除
liquidcrysta_show_num(0,0,123);
delay(1000);
liquidcrysta_clear();//液晶屏清除
liquidcrysta_show_float(0,0,1.2,1);
delay(1000);
}

void main(void)
{
setup();
while(1){
    loop();
}
}

7-LCD测试ADJ值视频

http://www.haohaodada.com/video/new/bbs/LCD1602.mp4

手册资料:









retsyo 发表于 2021-4-5 18:58:38

鉴于这是IIC接口的,而不同于 http://www.haohaodada.com/new/bbs/forum.php?mod=viewthread&tid=305&highlight=1602
建议
1. 标题改为更明确的,"扩展库说明——LCD1602(I2C接口)"
2. 添加背面图
3. 图下方,添加一段“注意,这是I2C接口的LCD1602,与单独的LCD1602(http://www.haohaodada.com/new/bbs/forum.php?mod=viewthread&tid=305&highlight=1602)使用方法不同。”

retsyo 发表于 2021-4-5 19:18:10

为啥我这个拖拽产生的程序,编译出错呢?
谢谢




sxl251391590 发表于 2021-5-6 18:03:15

为啥我的lcd他不能显示东西啊

isLucy 发表于 2021-7-2 11:42:49

本帖最后由 isLucy 于 2021-7-2 11:50 编辑

//player.bilibili.com/player.html?bvid=BV17h411h7G1



一千个爱你的理由 发表于 2022-5-4 21:09:04

要想LCD读取AD数字改怎么写?

刘皮皮 发表于 2023-12-14 20:21:56

接线没问题就是不显示
页: [1]
查看完整版本: 扩展库使用说明——LCD1602 I2C