关键词: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