LCD12864(spi)使用u8g2库显示中文。免取模-Arduino中文社区 - Powered by Discuz! Archiver

z01228 发表于 2021-4-2 21:37

LCD12864(spi)使用u8g2库显示中文。免取模

本帖最后由 z01228 于 2021-4-2 22:03 编辑

重要的事强调: 大家按照下面的教程后,可能只是显示数字不显示中文的情况,这个时候就需要自己做字库了同时也可以降低单片机内存的使用率 ,网站不能上传大于1M的 我就不上传自己的字库了具体的字库教程见:https://www.arduino.cn/thread-94154-1-1.html

物理接线: * ST7920/LCD12864---arduino uno
* VCC-------------5V
* GND-------------GND
* PSB----------------GND
* E------------------2 SCK
* R/W----------------3 MOSI
* R/S----------------4 SS/CS
*下面的两组线,我的屏幕上面有跳线就没接,你们自己新买的就需要了
*bla----------5v
*blk---------gnd
*
* 程序效果: lcd屏幕显示 “我在人群中看见你" "我看见你在人群中”并且数字自加
1接线效果:




2程序运行效果:


/*接线
* ST7920/LCD12864---arduino uno
* VCC-------------5V
* GND-------------GND
* PSB----------------GND//低电平使用并口
* E------------------2 SCK
* R/W----------------3 MOSI
* R/S----------------4 SS/CS
*
* 程序效果: lcd屏幕显示 “我在人群中看见你" "我看见你在人群中”并且闪烁
*/

#include <Arduino.h>
#include <U8g2lib.h>

#ifdef U8X8_HAVE_HW_SPI//SPI通讯
#include <SPI.h>
#endif
//#ifdef U8X8_HAVE_HW_I2C
//#include <Wire.h>
//#endif

//初始化接口
U8G2_ST7920_128X64_2_SW_SPI u8g2(U8G2_R0, /* clock=*/ 2 /* A4 */ , /* data=*/ 3 /* A2 */, /* CS=*/ 4 /* A3 */, /* reset=*/ U8X8_PIN_NONE);
//注意PSB一定要接GND

unsigned long sj;
int jsq=0;

void setup(void) {
u8g2.begin();//初始化
u8g2.enableUTF8Print(); // 使print支持UTF8字集
//u8g2.setFont(u8g2_font_wqy13_t_chinese5);// 字库可以在初始化里统一使用,也可以在显示函数(u8g2.firstPage();)前面定义即将显示的字体
//u8g2.setFont(u8g2_font_ncenB14_tr);
//u8g2.setFont(u8g2_font_unifont_t_chinese2);
//u8g2.setFont(u8g2_font_unifont_t_symbols);
//u8g2.setFont(u8g2_font_ncenB10_tr);
sj = millis();
}

void loop(void) {
u8g2.setFont(u8g2_font_unifont_t_chinese1);//使用这个字库里面要包含"我在人群中看见你" "我看见你在人群中"要不然不能显示,建议自己写字库这样可以节约内存。
u8g2.setFontDirection(0);//旋转当前显示 参数:0123
u8g2.firstPage();
do {
    u8g2.setCursor(0, 15);//在这个位置显示下面内容
    u8g2.print("我在人群中看见你");//打印 "我在人群中看见你"
    u8g2.setCursor(0, 30);
    u8g2.print("我看见你在人群中");   
    u8g2.setCursor(56, 48);
    u8g2.print(jsq);   
} while ( u8g2.nextPage() );

if(millis()-sj>= 1000){
    sj = millis();
    jsq++;
}

}


3.附lcd12864引脚图及功能http://file.elecfans.com/web1/M00/4E/EA/pIYBAFrNbhqAFMe1AACe2dw4XAY902.jpg
 1VSS-模块的电源地 2VDD-模块的电源正端 3V0-LCD驱动电压输入端 4RS(CS)H/L并行的指令/数据选择信号;串行的片选信号 5R/W(SID)H/L并行的读写选择信号;串行的数据口 6E(CLK)H/L并行的使能信号;串行的同步时钟   7DB0H/L数据0 8DB1H/L数据1 9DB2H/L数据2 10DB3H/L数据3 11DB4H/L数据4 12DB5H/L数据5 13DB6H/L数据6 14DB7H/L数据7 15PSBH/L并/串行接口选择:H-并行;L-串行 16NC空脚 17/RETH/L复位低电平有效 18NC空脚 19LED_A(LED+5V)背光源正极 20LED_K(LED-OV)背光源和负极





redtxd 发表于 2021-4-8 19:58

非常赞的教程,顶顶楼主:lol

duanyz 发表于 2021-6-2 22:38

请教楼主,uno板接上的2,3,4脚是不是spi通讯指定的?我看也有接10,11,13的。

不过我的12864液晶屏,怎么接显示都不正常,烦恼。

z01228 发表于 2021-6-7 03:48

本帖最后由 z01228 于 2021-6-7 03:51 编辑

duanyz 发表于 2021-6-2 22:38
请教楼主,uno板接上的2,3,4脚是不是spi通讯指定的?我看也有接10,11,13的。

不过我的12864液晶屏,怎 ...
不是指定的可以在构造函数(初始化接口)里修改的 ,也就是说可以自定义。

西西特 发表于 2021-10-28 22:21

这个U8g2的库去哪找呀

tv998 发表于 2021-10-29 05:08

西西特 发表于 2021-10-28 22:21
这个U8g2的库去哪找呀

ARDUINO IDE 里: 项目->加载库->管理库,直接搜 u8g2 安装就是.
页: [1]
查看完整版本: LCD12864(spi)使用u8g2库显示中文。免取模