K_A01_001 基于单片机驱动WS2812 点灯流水灯 0-9显示

news2025/1/13 9:32:56

目录

一、资源说明

二、基本参数

三、通信协议说明

WS2812时序:

代码:

四、部分代码说明

        1、接线说明

        2、主函数

五、相关资料链接

 六、数字提取格式

 七、视频效果展示与资料获取

 八、项目所有材料清单

 九、注意事项

 十、接线表格


一、资源说明

单片机型号

测试条件

模块名称

代码功能

STM32F103C8T6

  1. 晶振8M
  2. 系统时钟72M

WS2812模块

  1. WS2812点一个灯(红绿蓝切换)
  2. WS2812(8X8点阵)单色流水灯
  3. WS2812(8X8点阵)显示0-9

二、基本参数

   这里用的是8X8 WS2812B RGB灯模块,其他WS2812B 一位,两位,四位灯均一样,其他具体可以看下手册 ,主要参数是引脚定义和时序。

三、通信协议说明

        因为直接引脚输出很难做到WS2812时序要求,这里用SPI通信来做数据输出.当RESET时间小于280us时,回继续第一个周期,大于280us时才会重新开始新的周期。

WS2812时序:

代码:

//发一位0
void SPI_WS2812_Send_0()
{
	SPI_SendByte(0XE0);
}
//发一位1
void SPI_WS2812_Send_1()
{
	SPI_SendByte(0XFC);
}
//发送一个字节
void SPI_WS2812_SendByte(u8 byte)
{
  u8 i;
	for(i=0;i<8;i++)
	{
		if (byte>>7)
    {
			
			SPI_WS2812_Send_1();

    }
    else
    {
				SPI_WS2812_Send_0();

    }
		byte=byte<<1;
	
	}
}

逻辑分析仪抓取图片分析,符合WS2812时序

四、部分代码说明

        1、接线说明

//这里直接接SPI的MOSI引脚,其他引脚可以不配置,但是SPI要配置

//MOSI引脚

#define      WS2812_SPI_MOSI_APBxClock_FUN     RCC_APB2PeriphClockCmd

#define      WS2812_SPI_MOSI_CLK                RCC_APB2Periph_GPIOA    

#define      WS2812_SPI_MOSI_PORT               GPIOA

#define      WS2812_SPI_MOSI_PIN                GPIO_Pin_7

        2、主函数

/*

 * 函数名:main

 * 描述  :主函数

 */

int main(void)

{

uint8_t i=0,Num=0;

DelayInit();

/* 8M串行flash W25Q64初始化 */

SPI_WS2812_Init();

    while(1)
    {

        if(Num>9)
        {
            Num=0;
        }

    DIS_Num(Num,RGB_Buf[i%12]);
    i++;
    Num++;
    DelayMs(500);

    }

}

五、相关资料链接

  1. STC89C52RC程序下载   直戳跳转
  2. STM32F103C8T6程序下载
    1. 串口下载                直戳跳转
    2. ST-LINK下载          直戳跳转
    3. J-LINK下载             直戳跳转
    4. DAP-LINK下载       直戳跳转
  3. 字符软件使用                  直戳跳转

 六、数字提取格式

文字格式:共阴——逐列式——逆向——C51,其他默认

提取字符:新建图像——输入点阵大小——输入字符图形——生成字模——复制数据到程序数组

 七、视频效果展示与资料获取

视频连接      直戳跳转

资料获取       直戳跳转

 八、项目所有材料清单

STC89C52RC驱动方案STM32F103C8T6驱动方案图片

备注

K_A01_001

注:STC89C52RC单片机太慢无法达到WS2812B时序要求STM32F103C8T6系统板X1  

  1. STM32系统板两根Micro USB线一根用于J-LINK下载器,另一根用于给系统板供电
  2. 杜邦线建议不用太长的
  3. 同WS2812B模块灯个数不一样的程序都通
8X8 WS2812B灯模块X1  
Micro USB线X2  
母母杜邦线X3  
J-LINK下载器  

 九、注意事项

  1. VCC GND请勿接反,接反易烧
  2. 显示异常时,排除接线接触不良
  3. 同程序换开发板不断电直接接其他同类模块建议按单片机复位
  4. 同WS2812B模块灯个数不一样的程序都通用
  5. 下载后显示如果有异常的时候可以重新上电复位下

 十、接线表格

单片机型号

模块

对应引脚(上:模块引脚 下:单片机引脚)

STM32F103

C8T6

8X8 WS2812B灯模块

V-

V+

IN

GND

5V

PA7

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/64.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【一起学习数据结构与算法】优先级队列(堆)

目录一、什么是优先级队列&#xff1f;二、堆 (heap&#xff0c;基于二叉树)2.1 什么是堆&#xff1f;2.2 堆的分类2.3 结构与存储三、堆的操作3.1 堆创建3.2 插入元素3.3 弹出元素四、用堆模拟实现优先级队列五、堆的一个重要应用-堆排序六、经典的TOPK问题6.1 排序6.2 堆一、…

如何用两个晚上教女生学会Python

文章目录安装、需求引导和开发模型命令行计算器用温度指导穿衣VS Code 和女孩子的衣柜用遍历来挑选衣物交互课后作业事情的起因是这样的&#xff0c;知乎上有个妹纸加我&#xff0c;说要相亲。尽管我欣喜若狂&#xff0c;但恰巧在外出差&#xff0c;根本走不开。妹纸于是说要不…

自动化和半自动矢量化提取地物矢量轮廓

假期愉快&#xff08;这个假期加班了没&#xff1f;图片&#xff09;&#xff01;今天小助手来分享关于自动化和半自动化的矢量提取&#xff0c;使用的软件都是我们常用的软件。一是使用Global Mapper对遥感影像或矢量底图进行自动提取&#xff0c;二是基于天地图矢量底图使用A…

阶段性总结 | C语言

… &#x1f333;&#x1f332;&#x1f331;本文已收录至&#xff1a;技术之外的往事 更多知识尽在此专栏中&#xff01; &#x1f389;&#x1f389;&#x1f389;欢迎点赞、收藏、关注 &#x1f389;&#x1f389;&#x1f389;回顾过去 各位CSND的小伙伴们大家好&#xf…

C · 进阶 | 慎看!深剖文件操作,怕你停不下

啊我摔倒了..有没有人扶我起来学习.... 目录前言一、 什么是文件1.1 程序文件1.2 数据文件1.3 文件名二、文件的打开和关闭2.1 文件指针2.2 文件的打开和关闭三、文件的顺序读写3.0 有必要解释一下*3.1 fputc3.2 fgetc3.3 fprintf3.4 fscanf3.4.1来个小总结&#xff08;这里忽略…

双非本23秋招之路-从考研跑路到某安全大厂(无实习、项目)

文章目录双非本23秋招之路-从考研跑路到某安全大厂&#xff08;无实习、项目&#xff09;一、自我介绍二、简历准备三、刷题四、八股文五、项目方面六、关于实习七、面试方面八、秋招路程九、简历投递十、面经分享双非本23秋招之路-从考研跑路到某安全大厂&#xff08;无实习、…

springboot+jsp新闻发布投稿系统

本文采用JSP技术构建的一个管理系统&#xff0c;实现了一个新闻发布系统。新闻发布系统的主要实现功能包括&#xff1a;管理员&#xff1a;首页、个人中心、用户管理 、新闻分类管理 、新闻信息管理、新闻投稿管理、论坛管理、我的收藏管理、投诉建议管理、系统管理。前台首页&…

Python编程 print输出函数

作者简介&#xff1a;一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.输入与输出 1.print&#xff08;&#xff09;输出函数 2.sep 3.en…

【MySQL数据库和JDBC编程】第三章-第一节:MySQL的增删查改基础篇

文章目录一&#xff1a;INSET新增二&#xff1a;SELECT查询&#xff08;1&#xff09;全列查询&#xff08;2&#xff09;指定列查询&#xff08;3&#xff09;查询字段为表达式&#xff08;4&#xff09;起别名&#xff08;5&#xff09;去重&#xff08;DISTINCT&#xff09;…

微信小程序request:fail报错(包括不执行fail回调问题)

微信小程序request:fail报错&#xff08;包括不执行fail回调的问题&#xff09;1. 不执行fail回调的问题2. request:fail报错原因2.1 小程序未配置域名导致的错误2.2 微信小程序使用的服务器环境不支持TLS1.22.3 使用的SSL证书不信任2.4 SSL证书证书链缺乏2.5 域名未备案&#…

使用Spring框架进行Web项目开发(初级)

目录 前言 1. 为什么常规的Spring框架不适合Web项目呢&#xff1f; 2. 如何在Spring框架中创建容器&#xff1f; 3. Spring框架开发Web项目的步骤 3.1 创建maven项目 3.2 添加相应的依赖 3.3 在webapp目录下的web.xml中注册监听器 3.4 在webapp文件夹下的web.xml中配置…

【信息科学技术与创新】自然语言处理 NLP 计算机与智能 课程总结思考

深入了解 NLP 及课程总结反思 摘要 自然语言处理的历史发展自然语言处理的方法与相关应用关于数据智能科学技术导论这门课程的总结反思 Navigator深入了解 NLP 及课程总结反思一、自然语言处理的历史发展二、自然语言处理的方法与相关应用三、关于数据智能科学技术导论这门课…

【C++初阶】日期类实现、const成员函数、取地址及const取地址操作符重载

&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f; &#x1f36d;&#x1f36d;系列专栏&#xff1a;【C学习与应用】 ✒️✒️本篇内容&#xff1a;日期类的代码实现、const成员函数的概念和作用、取地址及const取地址操作符重载 &#x1f6a2;&#x1f6a2…

去水印小程序

真正的大师,永远都怀着一颗学徒的心&#xff01; 一、项目简介 项目UI确实有点朴实无华&#xff0c;但并不影响她美丽的内在。这和人也一样&#xff0c;属于心灵美。 虽然&#xff0c;这个社会上的大多数人喜欢从一件事物的外表&#xff0c;去评判事物的好坏&#xff0c;即好…

vue支付项目-APP支付宝支付功能

⭐️⭐️⭐️ 作者&#xff1a;船长在船上 &#x1f6a9;&#x1f6a9;&#x1f6a9; 主页&#xff1a;来访地址船长在船上的博客 &#x1f528;&#x1f528;&#x1f528; 简介&#xff1a;CSDN前端领域优质创作者&#xff0c;资深前端开发工程师&#xff0c;专注前端开发…

FreeRTOS 软件定时器的使用

FreeRTOS中加入了软件定时器这个功能组件&#xff0c;是一个可选的、不属于freeRTOS内核的功能&#xff0c;由定时器服务任务&#xff08;其实就是一个定时器任务&#xff09;来提供。 软件定时器是当设定一个定时时间&#xff0c;当达到设定的时间之后就会执行指定的功能函数&…

【趣学算法】Day2 贪心算法——最优装载问题

14天阅读挑战赛努力是为了不平庸~ 算法学习有些时候是枯燥的&#xff0c;这一次&#xff0c;让我们先人一步&#xff0c;趣学算法&#xff01; ❤️一名热爱Java的大一学生&#xff0c;希望与各位大佬共同学习进步❤️ &#x1f9d1;个人主页&#xff1a;周小末天天开心 各位大…

ESP8266/esp32接入阿里云物联网平台点灯控制类案例

ESP8266/esp32接入阿里云物联网平台点灯控制类案例&#x1f4cc;阿里云物联网云平台介绍&#xff1a;https://help.aliyun.com/product/30520.html &#x1f38b;需要自己在阿里云物联网云平台注册自己的账户&#xff0c;这里不做介绍了。 &#x1f33b;阿里云物联网云平台创建…

Python基础入门(持续更新中)

一、发展历程 Python的创始人为荷兰人吉多范罗苏姆&#xff08;Guido van Rossum&#xff09;。1989年圣诞节期间&#xff0c;在阿姆斯特丹&#xff0c;Guido为了打发圣诞节的无趣&#xff0c;决心开发一个新的脚本解释程序&#xff0c;作为ABC语言的一种继承。之所以选中单词P…

CANoe-以太网软硬件网络自动映射的问题

以太网软硬件网络自动映射的问题 当我们设置CANoe以太网模式为Network-based access模式时 我们需要在CANoe硬件里配置segment,具体内容请参考文章《如何配置CANoe Network-based access模式的以太网网络拓扑》 有时我们图省事,配置的segment默认名称是什么,我们也不管,也…