51单总线控制SV-5W语音播报模块

news2024/12/26 22:23:29

单总线控制SV-5W语音播报模块

  • SV-5W语音播报模块
    • SV-5W语音播报模块简介
    • 工作模式说明
    • 模块配置
    • 接线
    • 驱动
    • 部分代码
    • 效果展示

SV-5W语音播报模块

在这里插入图片描述

SV-5W语音播报模块简介

DY-SV5W是一款智能语音模块,集成IO分段触发,UART串口控制,ONE_line单总线串口控制,标准 MP3 等 7 种工作模式;板载 5W D 类功放,可直接驱动 4Ω,3~5W 喇叭;支持 MP3,WAV 解码格式,最大支持 32G TF 卡存储,可通过 USB 数据线连接电脑更新 TF 卡存储音频文件。
上次写了同系列的“SV17F语音播报模块”用 IO 分段触发实现语音自动播报—“传送门”,本次将会以51单片机用单总线现实语音自动播报。

工作模式说明

  1. IO 组合模式0:
    单片机控制 I/O 组合触发(低电平有效)指定的曲目后释放(IO0-IO7 恢复高电平),播放完当前曲目停止;播放中途重新触发,播放新的曲目,播放结束停止;若一直触发(不释放电平),循环播放。
  2. IO 组合模式 1:
    单片机控制 IO 组合触发(低电平有效)指定的曲目,一直循环播放指定曲目,电平释放(IO0-IO7
    恢复高电平)即停止播放。播放中途释放电平,即刻停止播放。
  3. IO 独立模式 0:
    IO0-IO7 独立控制 8 首曲目, IO 触发(低电平有效)指定的曲目后释放(IO0-IO7 恢复高电平),播放完当前曲目停止;播放中途重新触发,播放新的曲目,播放结束停止;若一直触发(不释放电平),循环播放。
  4. IO 独立模式 1:
    IO0-IO7 独立控制 8 首曲目,IO 触发(低电平有效)指定的曲目,一直循环播放指定曲目,
    电平释放(IO0-IO7 恢复高电平)即停止播放。播放中途释放电平,即刻停止播放。
  5. UART 串口模式:
    通过UART串口发送
    起始码-指令类型-数据长度(n)-数据 1-数据 n-和检验(SM)
    来实现模块的语音播报、上一曲、下一曲等功能。
  6. One_line 单总线串口模式:
    通过特定的时序,往模块发送0码或1码的组合实现模块的语音播报、上一曲、下一曲等功能。

下文由51单片机控制SV-5W的“One_line 单总线串口模式”展开
在这里插入图片描述

模块配置

在这里插入图片描述

引脚配置CON3CON2CON1
电平设置100

根据上个图拨动拨码开关配置好模式。

接线

由上图可知SV-5W语音播报模块本身带有5W的功放芯片,可以直接接入一个5W以内的小喇叭。模块板载的USB口只能用于音频文件的传输,不能用于模块供电。还需要一直TF卡,把音频文件存入到TF卡里面,注意音频文件的命名格式以5位数字命名,少的以0补全,例如:音频文件初始名称为“123.MP3”,需要改成“00123.MP3”。
One_line 单总线控制的数据接口是模块上的IO4,根据要求接线即可。
按要求接线:

51单片机DY-SV17F5V电源喇叭
P1^1IO4
5V5V
GND- 5VGND
D6IO3
SPEAKER++
SPEAKER--

在这里插入图片描述

驱动

由手册可知单总线的0码和1码时序如下:
在这里插入图片描述
手册中的示例:
在这里插入图片描述
发送数据前,先把SDA拉低超过2ms,然后开始发送数据,注意低位在前。
0码:高电平与低电平的比例是1:3
1码:高电平与低电平的比例是3:1
空闲状态:SDA拉高

部分代码

函数定义

void delay(unsigned char);	//毫秒延时函数
void delay_us(unsigned char);	//100微秒延时函数
void dataStart(void); //开始通讯
void dataEnd(void); //结束通讯
void writeOne(void);  //写1
void writeZero(void); //写0
void writeOrder(unsigned char);	//写指令

主要函数

void writeOrder(unsigned char Order)	//写指令
{
	unsigned char i;
	
	for(i=0;i<8;i++)
	{
		
		if((bit)(Order & 0x01))
		{
			writeOne();
		}
		else
			writeZero();
		Order >>= 1;	
	}

}	

主程序

#include<reg52.h>
#include<intrins.h>
#include "DYSV.h"

#define END 0x13
#define PLAY 0x11 
#define PLAYMode 0x0E
#define STOP 0x12 
#define SDMode 0x18 
#define UP 0x14
#define DOWN 0x15

unsigned int a=0;


void main()
{
	while(1)
	{
		if(a==0)
		{
			dataStart();	//开始通讯
			writeOrder(PLAYMode);	//选择循环模式
			writeOrder(0);	//全盘循环
			dataEnd();	//结束通讯
			
			dataStart();
			writeOrder(PLAY);	//播放
			dataEnd();
		
			a++;
		}
	}
}


上面程序宏定义了部分指令,实际上只用了播放模式选择和开始播放的指令,功能指令太多不一一演示,有兴趣的小伙伴可以自行拓展,程序已经写好了发送指令的时序,调用和更改writeOrder()这个函数的参数即可。

效果展示

视频中一共播放了三段音频文件,因为是全盘循环的模式,播放完一个音频文件后会自动播放下一个。

51单总线控制SV5W语音播报模块

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

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

相关文章

macOS monterey 12.6.1安装homebrew + nginx + php + mysql

效果图 主要步骤 安装homebrew使用brew安装nginxphpmysql详细步骤 参考“Homebrew国内如何自动安装&#xff08;国内地址&#xff09;&#xff08;Mac & Linux&#xff09;”安装brew&#xff0c; 命令&#xff1a; /bin/zsh -c "$(curl -fsSL https://gitee.com/cu…

[附源码]java毕业设计网上学车预约系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

教你十分钟在Linux系统上快速装机并安装Ansible

PS:本教程建立在VMware软件上的使用上&#xff0c;Linux版本为centos7或者centos8都可以。 一、看发行版本 cat /etc/redhat-release 二、修改主机名 hostnamectl set-hostname centos8 三、自动获取IP地址 nmcli connection modify ens160 autoconnect yes 四、设置…

软件设计(一):统一建模语言基础知识

1.UML简介 1.1 UML简介 UML语言是一种可视化的标准建模语言&#xff0c;它是一种分析和设计语言&#xff0c;通过UML可以构造软件系统的蓝图。 1.2 UML的结构 1.2.1 视图&#xff08;view&#xff09; 1.2.2 图&#xff08;daigram&#xff09; 用例图 类图 对象图 包图…

C/C++ 语言怎么保留n位小数并且四舍五入

1、普通的printf输出打印 printf()函数的用例 float date=123.456; printf("date=%.2f\n", date);//保留2位 printf("date=%.1f\n", date);//保留1位 输出 2、获取四舍五入后的数据 1、使用round函数 C ++ round()函数 (C++ round() function) round(…

ELK技术栈简介

ELK技术栈简介ELK是什么ELK组件ElasticsearchES基本概念ES适用场景LogstashInput插件Filter插件Output插件CodecsKibanaBeatsELK是什么 ELK 即 Elasticsearch Logstash Kibana&#xff0c;是指Elastic公司开发的三种免费开源软件。其中&#xff0c;Elasticsearch是一个基于A…

基于PHP+MYSQL在线小说阅读网的设计与实现

随着互联网信息的发展,人们在闲暇的时候更多的原因选择小说来进行阅读,一方面扩展自己的阅读圈,另一方面消磨闲暇时光,但是当下的很多小说网站,要么是要收取高昂的阅读法,要么就是整个网站多充斥着大量的广告,为了给广大网友一个健康,免费的阅读空间我们开发了本系统 本在线小说…

【JS】数据结构之树结构

文章目录树结构二叉树二叉搜索树平衡树&#xff08;AVL树&#xff09;红黑树回顾其他数据结构&#xff08;每种数据结构都有自己特定的应用场景&#xff09;&#xff1a; 数组&#xff1a;通过下标查询很快&#xff0c;插入和删除数据的时候&#xff0c;效率会很低&#xff0c;…

新品上线 | 企企通推出达人管理系统,助力达人营销提效增速

01、直播市场发展迅速 企企通达人管理系统应运而生 近年来&#xff0c;直播凭借其即时性、互动性、多样化的优势&#xff0c;迅速在互联网占据一席之地&#xff0c;“直播”模式不断扩展&#xff0c;直播电商应运而生。 在技术发展与市场需求双重驱动下&#xff0c;中国直播市…

day04 springmvc

day04 springmvc 第一章 SpringMVC运行原理 第一节 启动过程 1. Servlet 生命周期回顾 生命周期环节调用的方法时机次数创建对象无参构造器默认&#xff1a;第一次请求 修改&#xff1a;Web应用启动时一次初始化init(ServletConfig servletConfig)创建对象后一次处理请求se…

嵌入式Linux系统中ARM汇编语言的使用方法

大家好&#xff0c;今天主要大家聊一聊&#xff0c;如何在ARM中使用汇编语言的方法。 目录 第一&#xff1a;汇编基础简介 第二&#xff1a;处理器内部数据传输指令 第三&#xff1a;存储器访问指令 第一&#xff1a;汇编基础简介 我们在学习嵌入式Linux开发的时候是绝…

【用户画像】Redis_Jedis测试、将人群包存放到Redis中、挖掘类标签处理过程、决策树、用SparkMLLib实现决策树

文章目录一 Redis_Jedis_测试1 Jedis所需要的jar包2 连接Redis注意事项3 测试相关数据类型&#xff08;0&#xff09;测试连接&#xff08;1&#xff09;Key&#xff08;2&#xff09;String&#xff08;3&#xff09;List&#xff08;4&#xff09;set&#xff08;5&#xff0…

shiro-第一篇-基本介绍及使用

shiro 概述 shior的话&#xff0c;在第一次听说的时候单纯的任务它就是一个安全框架&#xff0c;可以对访问接口的用户进行验证等工作&#xff0c;类似拦截器或过滤器的东西&#xff0c;但是在学习后&#xff0c;发现远远不止这些&#xff0c;它的灵活性和易用性让我震惊&…

408 | 【计网】第二章 物理层 回顾

自用冲刺笔记整理。 部分图片来自王道。 加油ヾ(◍∇◍)ノ゙ (一)通信基础 1.信道、信号、带宽、码元、波特、速率/数据率、信源与信宿等基本概念 单向通信、半双工通信(双方都可接发,不能同时)、全双工通信码元:用一个固定时长(码元宽度)的信号波形表示一位k进制数字。 …

高项 风险管理论文

六个过程&#xff1a; 1&#xff0c;规划风险管理&#xff1a;决定如何进行规划和实施项目风险管理活动。 2&#xff0c;识别风险&#xff1a;判断哪些风险会影响项目&#xff0c;并以书面形式记录其特点。 3&#xff0c;实施定性风险分析&#xff1a;对风险概率和影响进行评…

通信原理学习笔记5-2:数字调制——连续相位和恒包络问题(非线性功放、连续相位CP FSK信号、最小频移键控MSK、GMSK)

为了最大程度利用非线性功放&#xff0c;需要降低信号PAPR&#xff0c;这要求信号具有恒包络特性信道带宽有限&#xff0c;需要降低信号带外泄露&#xff08;进而传输失真小&#xff09;&#xff0c;要求信号具有连续相位特性&#xff08;从而高频成分少&#xff09; 波形连续…

[附源码]java毕业设计文章管理系统查重PPT

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

让你不在为设计商品详情页而烦恼的工具

不想使用之前的详情页设计模板想更换怎么办&#xff1f;不满意自己用软件设计的详情页模板怎么办&#xff1f;下面跟着小编&#xff0c;教你使用这个在线设计工具乔拓云&#xff0c;在工具内不仅有大量的详情页设计模板&#xff0c;还有海量的详情页免扣设计素材能直接使用&…

[附源码]java毕业设计小区物业管理系统论文

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

springmvc-ssm整合

前言:在座的各位大佬好&#xff0c;最近学习了ssm&#xff0c;然后这是一篇整合ssm的笔记&#xff0c;参考的网上某马视频课的笔记嘿嘿~SSM整合需要掌握↓↓↓↓↓↓↓↓一、SSM整合【重点】1 SSM整合配置问题导入1.1 SSM整合流程1.2 SSM整合配置1.2.1 创建工程&#xff0c;添加…