产品选型

单片机喇叭 单片机语音播报怎么做?语音模块原理及程序编写思路

小编 2025-06-17 产品选型 23 0

单片机语音播报怎么做?语音模块原理及程序编写思路

我最欢就是做带语音播报的产品,写程序的过程太枯燥了。

有些产品一开发就是几个月,整个过程都跟冷冰冰的LED、蜂鸣器、按键、LCD屏打交道难免有些寂寞。

加上语音就不同了,录制好一个好听的妹子声音,不但可以提升整个产品的逼格,自己也满满的成就感。

今天就来聊聊带语音的产品怎么做。

实际产品中,用单片机播放语音方案有很多种,唯一没有开发板那种,因为成本各方面都不满足产品需求。

另外就是加一个语音芯片,如果利润高的产品会优先使用这种,一个几块钱还能接受。

还有就做软解码的,就是把语音文件解码成喇叭能够识别的PWM和DAC数据,这种技术难度最大,对工程师编程水平是一个考验。

虽然难度大,但是成本低,不需要额外增加语音芯片,老板的最爱,反正工程师掉点头发对公司又没影响。

软解码大概在6,7年前做电子狗的时候玩过一次,大概原理就是把语音文件合并成bin文件,烧录到外置的flash里面,做好每条语音的地址映射。

用单片机读取Flash的数据并解码,然后转换成PWM或者DAC经过功放输出到喇叭。

这种一般要有个写上位机的配合,以前市面上没有在把语音文件合并成bin文件的工具,现在好像有了。

时间相隔太久,很多细节记不清楚了,后续如果还能找到资料再跟大家分享。

今天无际单片机编程给大家讲后面我做过的一种方法:用语音芯片

这是语音芯片的一些介绍:

我们需要关注的就是,这个芯片对语音长度的支持分别有55s、25s、85s,如果产品语音少还是挺合适的。

这种芯片如果语音少的直接用芯片内部的Flash,如果语音多了就需要外挂一个Flash来存储语音数据。

一般每个产品的语音都是不一样的,那怎么把我们想要的语音通过这个语音芯片播放出来呢?

想实现这个功能要经过以下几个步骤:

通过软件把语音文案转成mp3格式语音文件,类似的软件有很多,比如说科大讯飞。把语音文件提供给芯片方,让他们帮你定制。拿到样品后就是焊接到自己板子上,然后根据芯片规格书写控制时序程序,每条语音都对应了一个地址,只要把地址数据写入芯片,芯片就会自动播放指定语音。

整个过程是不是非常简单?

除了播放语音功能以外,还有一些附加功能,比如说静音,音量调节、循环播放等等。

下面来看下芯片的引脚定义

一般使用3根线来跟单片机通讯。

PA0/SDA: 数据线

PA1/SCL: 时钟线

PA2: 忙碌线,当有语音播报的时候,该引脚为低电平。

芯片的控制时序如下:

不难发现,数据开始之前SCL需要先产生5ms的低电平同步头,然后数据在SCL线的上升沿被读取,一共读取8位,也就是1个字节。

如果你不会写这个时序也没关系,芯片原厂都有提供例程。

一款深藏功与名的国产单片机——F1C100A

说到单片机,可能首先想到的是atmel的at89c52,这多亏了大学教材的传承发扬。从我们的老师的老师,用到我们,说是大学的传家宝都不夸张。然后,就是现在大规模流行的STM32单片机,经过ST每个季度的峰会和国内的野火、正点原子等厂商的大力推广,电子专业从业的工程师只有两种人不知道它,那么是特别牛逼的,要么是装逼的。但这里要说的是一款国产的单片机,很低调的一款------全志的F1C100A。

F1C100A

1、资源

从这款IC的数据框图来看,粗略的可以得到几个点:

A、支持高清解码,分辨率为1920*1080。这是个什么概念呢?咱们可以打开笔记本电脑,如果是win10系统,那么咱们的最高分辨率就是这个。

但是,不仅仅是解码,它还支持编码,也就是可以录像,分辨率为1280*720。虽然不是专业的录像机IC,但这个分辨率也很实在了,已经有点那会彩电的感觉了。对比STM32F1系列的单片机,虽然也能图形处理 ,但也只基于静态界面。

B、作为单片机,USB、SPI、Timer、TWI(就是平常的IIC)都是有的,而且还有IIS接口,可以接个话筒,这个功能不是低端应用的单片机能有的。不过STM32F1系列的MCU,这些外设都有。

C、cpu已经具有了I-cache和D-cache,本身来说这两者有一定的区别,但是这里都看做cache来说,都是SRAM。因为CPU从这个里面读数据特别快,所以将它作为DRAM到CPU的一个仓库。

既然有了SRAM那么DDR的控制是肯定不会少了,不然怎么跑Linux系统。说到Linux系统,STM32H7系列也是可以跑Linux。

说了这么多,咱们来看看价格 全新原装解码芯片 F1C100A C100A (带A)TQFP128------9.50元 、STM32F103C8T6 LQFP48 ARM芯片 嵌入式微控制器------7.50元 、STM32H743VIT6 LQFP100 ARM 32位微控制器芯片原装正品------58.95元

这个IC价格完全可以在30元以内跑起最小开发系统板,自己打板子的那种。

F1C100A的系统框图

2、资料

既然这IC支持Linux系统,那么有没有开源社区在做开发呢。是的,还真有那就是荔枝派Nano 。荔枝派Nano的主芯片—全志F1C100s;Arm9架构,16KB D-Cache,32KB I-Cache,支持从SPI Flash或TF卡启动,支持USB OTG载入更新。官方的宣传更加厉害,9.9元起,这个核心板就是一块STM32F1ZET6的价格。那么,我们来看看这个9.9元买到的板子怎么入门。

荔枝派nano

因为是开源社区,所以板子的基本操作官网(http://nano.lichee.pro/)都有,其中包括系统适配篇、驱动开发篇、应用开发篇。依靠这些资料进不了华为,进不了阿里,但是入门个Linux应该是可以的。高级不高级不知道,但是价格亲民哪,9.9元入门Lniux

荔枝派官网

3、应用

学习的目的不是学习,而是应用,不然谁知道学得怎么样。接下来介绍一款应用,各位绝对见过,只是没有细究------看戏机。

第一张图是看戏机的背面,标明了输入电压和输出功率。为什么还有个输出功率呢,外接喇叭的,或许是为了可以大家一块听戏。

背面

第二张图是看戏机的正面,两边按钮,中间屏幕,有点游戏手柄的感觉。看这画质,是不是能够感受到这满满的年代感。

正面

最后一张图,咱们来看看内部电路,能够看到USB接口、miniusb接口、耳机输出接口,最明显的就是F1C100A和海力士的内存了。

主控IC

这个设计不能说是复杂,但是很精巧,确实不浮夸。

最后的话:

看到这些,是不是有种用F1C100A玩Linux的感觉了。

相关问答

怎样把声音信号转换成数字信号, 单片机 的问题?

首先你要有麦克风或者拾音器,区别是拾音器效果更好还有降噪功能;其次要把模拟信号送到单片机,要有AD转换电路,然后单片机处理一下信号,比如抑制噪声、放大...

单片机 分频器的使用方法?

1、分频器分频点要根据喇叭的频率响应曲线来定。2、定下了分频点之后,按照公式计算电感和电容的大小,电容是现成的,电感要自己绕制,绕制好还要测定电感是否...

两个不一样的电路怎么共用一个 喇叭 ?

可以。例如我们有一块5V的单片机电路板,还有此单片机的前向通道和后向通道,前向通道中安装了运放,因此需要正负12V电源,后向通道有晶闸管驱动器,其电压为24...

谁有proteus中蜂鸣器的使用方法-ZOL问答

当然不响咯,因为单片机该引脚输出电流很小只有1.2MA,所以驱动不了咯,你因该加一...喇叭是蜂鸣器,如极性不对调换二极管有用(0)回复展开查看全部9条讨论相关...

指针式万用表如何检测 喇叭 好坏?-ZOL问答

把指针式万用表拨到欧姆档,再把万用表拨到一欧姆,随便把指针式万用表,红表笔,黑表笔短接效到零,这样测量就准确,测量喇叭不需要效表,直接把万用表调到一欧姆...

用51 单片机 实现音乐播放的原理是什么?

通过将音乐作为数字信号编码储存在闪存中,然后通过51单片机的PWM输出模块将该信号转化成模拟信号输出,驱动音频放大器放大后输出到喇叭上,从而实现音乐播放的...

电动车报警器是多少V的?

电瓶车36v或48v是指电机的工作电压,灯光、喇叭、报警器工作电压一般为12v,这个12v电压是通过电压转换器取得。你可以测以下电压转换器输出端的电压,测得的电...

狼人杀游戏机怎么做?

如果你只有一张纸,可以尝试使用以下方法制作一个简单的太空狼人杀游戏机:1.将纸折叠成一个小的卡片尺寸,类似于一张扑克牌大小的卡片。2.在卡片的一面上,...

喇叭 大灯转向灯全部失灵怎么回事?

转向灯是在机动车辆转向时开启以提示前后左右车辆及行人注意的重要指示灯。转向灯灯管采用氙气灯管,单片机控制电路,左右轮换频闪不间断工作。以下是转向灯不...

请问电子闹钟怎么设置 - eRBZZKmM 的回答 - 懂得

“设置/退出”“上调/整点”“下调/闹钟”“喇叭/开关”。电子时钟由89C51,按键,六段数码管等构成,采用外部晶振电路作为单片机的振荡电路,由延时程...

猜你喜欢