手里有个建行的U盾,里面的显示屏为192x64,发现大家都驱动上,不过都是在51上搞的。我没有玩过51,玩过arduino,于是想着能不能在arduino上进行显示。参照前人的硬件图,居然很方便地用u8g2lib驱动了,在此分享一下。
http://bbs.mydigit.cn/read.php?tid=1295119 上面这个链接,是ifm在51上驱动成功,我的U盾和他的一样,因此参照他给出的接口图。他给出的引脚定义为:
1-5,忽略,不用连接,6 vcc,7 gnd,8 cs片选,9 cd(rs)寄存器选择,10 rst复位,11 sck,12 sda我用焊锡丝将这6-12引脚接出来,然后用夹子连到杜邦线上,再连到arduino上,引脚7 gnd可以从板子上另外一个地方引,不一定要从丝线上引,另外有一个小铜点写着GND,在tx旁边,仔细看下上面链接图就能看到。连接方法参考nokia5110的连法,具体为:6 vcc <-> 3.3 V, 7 gnd <-> gnd, 11 sck (clk) <-> pin 3, 12 sda (din) <-> pin 4, 9 cd (dc) <-> pin 5, 8 cs (ce) <-> pin 6, 10 rst <->pin 7 http://bbs.mydigit.cn/read.php?tid=1492708 从这个贴子看到,lcd
主控为UC1604,u8g2lib支持UC1604 JLX19264,当时看到这,想着就用它试,结果竟然成功。在arduino ide的项目->include library->Manage libraries中搜索u8g2,下载u8g2lib库。一个简单的测试代码如下:#include <U8g2lib.h>#include <SPI.h>
#include <Wire.h>#include <Arduino.h>
U8G2_UC1604_JLX19264_1_4W_SW_SPI u8g2(U8G2_R2, /* clock=*/ 3, /* data=*/ 4, /* cs=*/ 6, /* dc=*/ 5, /* reset=*/ 7); // for arduino,tested working!
void setup(void) { u8g2.begin();
}
void loop(void) { u8g2.firstPage();
do { u8g2.setFont(u8g2_font_ncenB14_tr);
u8g2.drawStr(0, 18, "Hello"); u8g2.drawStr(20, 48, "World!");
} while ( u8g2.nextPage() );}
最后放张两张驱动成功的图片:
P.S. 直接在板上焊接,引脚7不接地也可以,不接背光不亮。
[ 此帖被disassembly在2017-03-09 23:21重新编辑 ]