Arduino驱动I2C接口12864LCD大屏液晶模块方法及库文件

关键词:Arduino显示,12864液晶模块,中文显示,IIC接口,I2C接口,12864驱动程序

液晶显示模块目前在中国发展已经有30多个年头了,市场上应用最广泛的要属于128*64点阵的显示屏,从类型上分COB,COG及OLED, 稳定性和经济性最好要属于COB工艺的液晶显示模块。在百度一搜索就可以找到COB简介及工艺COB Chip-on-Board 也称为芯片直接贴装技术,是指将裸芯片直接粘贴在印刷电路板上,然后进行引线键合,再用有机胶将芯片和引线包封保护的工……

12864点阵的液晶屏主控芯片一般是ST7920及KS0107+KS0108及KS0086等IC,今天介绍一款我最新发现的一款COB液晶带(RSCG12864B) 拥有I2C接口,内建中文字库(GB2312),ASCII有5*7点阵,6*12点阵,8*16点阵三种之多,可谓目前市场最全,这款液晶屏最出色的要属于可以存储多达2000张图片,可以一般界面只需在电脑上做好BIN格式图片,配合相应的下载工具,就可以存储到液晶模块上。。

引脚接线图:

序号

符号

I/O

功能描述

1

GND

P

电源地

2

VDD

P

电源

3

RST

I

复位信号,低电平有效

4

SCL

I

I2C 时钟信号

5

SDA

I

I2C 数据信号

6

BUSY

O

忙信号,高为忙,低为闲。忙状态下不接收指令

7

A1

I

I2C 地址信号 A1

8

A0

I

I2C 地址信号 A0

12864库文件:

/*

 RSCG12864B.h - 12864LCD library for Arduino & Wiring

 Copyright (c) 2015 Raylid Electronics Co.,Ltd (www.raylid.com).  All right reserved.

*/

/*--------Arduino Uno connection toLCD----------------------------------------------- 

         LCD Module                 Arduino Uno

               

                     GND-------------------------GND

                      VDD-------------------------5.0V

                      RST(Floating)

                      SCL-------------------------A5(PC5)

                      SDA-------------------------A4(PC4)

                      BUSY------------------------A3(PC3)

                      A1(Floating)

                      A0(Floating)

                      

-------------------------------------------------------------------------------------*/

 

#ifndef RSCG12864B_h

#define RSCG12864B_h

 

 

typedef unsigned char U8;

typedef unsigned int U16;

typedef unsigned long U32;

typedef const char  CCHAR;

 

class RAYLIDLCD

{

       private:

      

       public:

       RAYLIDLCD();

       voidbegin();

       voidclear();

       voiddisplay_on();

       voiddisplay_off();

       voidbrightness(U8 n);

       voiddraw_pixel(U8 x,U8 y);

       voiddelete_pixel(U8 x,U8 y);

       voiddraw_line(U8 x1,U8 y1,U8 x2,U8 y2);

       voiddelete_line(U8 x1,U8 y1,U8 x2,U8 y2);

       voiddraw_rectangle(U8 x1,U8 y1,U8 x2,U8 y2);

       voiddelete_rectangle(U8 x1,U8 y1,U8 x2,U8 y2);

       voiddraw_fill_rectangle(U8 x1,U8 y1,U8 x2,U8 y2);

       voiddelete_fill_rectangle(U8 x1,U8 y1,U8 x2,U8 y2);

       voiddraw_circle(U8 x,U8 y,U8 r);

       voiddelete_circle(U8 x,U8 y,U8 r);

       voiddraw_fill_circle(U8 x,U8 y,U8 r);

       voiddelete_fill_circle(U8 x,U8 y,U8 r);

       voidinversely_area(U8 x1,U8 y1,U8 x2,U8 y2);

       voiddisplay_bmp(U16 n);

       voiddisplay_bmp_block(U16 n,U8 px,U8 py,U8 x,U8 y,U8 w,U8 h);

       voidcursor(U8 x,U8 y);

   void spacing(U8 xs,U8 ys);

       voidfont_revers_on();

       voidfont_revers_off();

   void print_U32_5x7(U32 n);

       voidprint_U32_6x12(U32 n);

       voidprint_U32_8x16(U32 n);

       voidprint_U32_5x7_xy(U8 x,U8 y,U32 n);

       voidprint_U32_6x12_xy(U8 x,U8 y,U32 n);

       voidprint_U32_8x16_xy(U8 x,U8 y,U32 n);

       voidprint_string_12(CCHAR *ptr);

       voidprint_string_16(CCHAR *ptr);

       voidprint_string_12_xy(U8 x,U8 y,CCHAR *ptr);

       voidprint_string_16_xy(U8 x,U8 y,CCHAR *ptr);

       voidprint_string_5x7(CCHAR *ptr);

       voidprint_string_6x12(CCHAR *ptr);

       voidprint_string_8x16(CCHAR *ptr);

       voidprint_string_5x7_xy(U8 x,U8 y,CCHAR *ptr);

       voidprint_string_6x12_xy(U8 x,U8 y,CCHAR *ptr);

       voidprint_string_8x16_xy(U8 x,U8 y,CCHAR *ptr);   

};

 

extern RAYLIDLCD RSCG12864B;

 

#endif


I2C接口12864LCD是一种液晶屏,它使用I2C总线进行通信。这种液晶屏通常使用ST7920、KS0107+KS0108或KS0086等主控芯片\[1\]。其中,RSCG12864B是一款具有I2C接口的COB液晶屏,它内建了中文字库(GB2312)和ASCII的三种点阵字库,分别是5*7点阵、6*12点阵和8*16点阵。这款液晶屏最出色的特点是可以存储多达2000张图片,只需将BIN格式的图片制作好并使用相应的下载工具,就可以将图片存储到液晶模块上\[1\]。 在使用I2C接口12864LCD时,需要进行相应的程序设计和硬件连接。例如,在STM32环境下,可以使用STM32F103C8T的I2C1控制RSCG12864B。具体的硬件连接是将PB7(SDA)连接到RSCG12864B的SDA引脚,将PB6(SCL)连接到RSCG12864B的SCL引脚。RSCG12864B内部自带复位信号,并且支持通过RST硬件复位。此外,RSCG12864B的BUSY信号可以连接到MCU的任意IO口进行忙反馈信号的判断处理\[3\]。 在程序设计方面,可以使用"STM32CubeMX"工具生成项目文件,并添加RAYLID提供的应用库,以实现对LCD的控制。具体的步骤包括选择MCU型号、配置参数、项目设置、Library类型选择等。然后,通过点击"GENERATE CODE"生成项目文件,并将"RSCG12864B.c"拷贝至项目文件夹的"Src"目录下,将"RSCG12864B.h"拷贝至项目文件夹的"Inc"目录下。最后,在main函数中添加相应的显示代码,即可实现对LCD的控制\[3\]。 总之,I2C接口12864LCD是一种具有I2C接口的液晶屏,它可以通过I2C总线与MCU进行通信,并具有丰富的功能和存储图片的能力。在使用时,需要进行相应的程序设计和硬件连接\[1\]\[3\]。 #### 引用[.reference_title] - *1* [Arduino驱动I2C接口12864LCD大屏液晶模块方法及库文件](https://blog.csdn.net/lcdclass/article/details/65446526)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【ESP32】12.I2C LCD1602液晶显示实验(LiquidCrystal_I2C库)](https://blog.csdn.net/super828/article/details/127456069)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [STM32如何驱动IIC接口12864液晶显示屏实战例程](https://blog.csdn.net/MASTA1/article/details/89388071)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值