1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
上一篇文章介绍过LedControl库函数,下面就用LedControl库来驱动点阵屏
案例模块 8x8点阵级联模块再某宝就能买到,以下是4块8x8的点阵模块级联,需要注意的是LedControl库最多只能驱动8块8x8点阵显示 案例编程 接线这么简单的事就不说了,DIN,CS,CLK接ESP8266的哪个引脚就定义哪个引脚,以下为基本的初始化代码,连接引脚可做参考 #include // 32*8 LED Display DIN --> ESP-12F D7 // 32*8 LED Display CS --> ESP-12F D6 // 32*8 LED Display CLK --> ESP-12F D5 int DIN = D7; int CS = D6; int CLK = D5; //创建库对象 LedControl LC = LedControl(DIN,CLK,CS,4); void setup() { //初始化address 0-3的8*8点阵屏 for(int i = 0;i<4;i++) { LC.shutdown(i,false); //启动时,关闭省电模式 LC.setIntensity(i,0); //亮度设置 LC.clearDisplay(i); //清除显示 } } 初始化完成后可以直接调用库函数进行点阵的行,列,点的显示(简单显示) 单行显示: LC.setRow(0,3,0x7C); 单列显示: LC.setColumn(0,3,0x7C); 点显示: LC.setLed(0,1,1,true); 对于要显示一个图案或英文这种占几行或者几列的内容的,就需要对库函数做个包装,下面是点阵显示4列内容的函数,参数为显示数组,要显示的点阵编号,数组显示下标,点阵显示偏移位,可以按个人需求改成5列8列的显示,或者改成行显示等 // display four col void Display_4col(byte character[][4],int device_num,int col,int point) { for(int i = 0;i<4;i++) { DC.setColumn(device_num,point+i,character[col]); } } 数组可以按显示内容分开 // 0 0 // - - // ● ● byte eye_display[][4] = { {0x3C,0x42,0x42,0x3C}, {0x3C,0x7E,0x7E,0x3C}, {0x10,0x10,0x10,0x10}, }; 在显示时直接调用函数传参就行,类似下面代码就是显示一个连续眨眼的效果 for(int i = 0;i<2;i++) { Display_4col(eye_display,2,0,2); Display_4col(eye_display,1,0,2); delay(1350); Display_4col(eye_display,2,2,2); Display_4col(eye_display,1,2,2); delay(150); } 效果演示 点阵屏眨眼效果如下,可以用字模软件编辑更多图案或字符做出来更有趣的效果 |
|
|
|
只有小组成员才能发言,加入小组>>
3323 浏览 9 评论
3000 浏览 16 评论
3498 浏览 1 评论
9073 浏览 16 评论
4093 浏览 18 评论
1194浏览 3评论
614浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
603浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2343浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1902浏览 2评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 21:33 , Processed in 1.210428 second(s), Total 78, Slave 59 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号