产品概述

单片机 频谱显示 单片机实例分享,打造音乐频谱时钟

小编 2024-11-24 产品概述 23 0

单片机实例分享,打造音乐频谱时钟

(此处已添加圈子卡片,请到今日头条客户端查看)

电路原理

下面我们按各功能模块逐一给大家介绍一下这个制作的电路原理吧。

图25.1 时钟显示效果

图25.2 频谱显示效果

1.电源部分

电源电路如图25.3所示。

图25.3 电源部分的电路

电源模块采用了一支很常见的7805稳压芯片,再加一大一小两个电容进行滤波,输入端直接买了个9V/1A的电源适配器,方便省事。7805额定输出电流1A,对于这样的小系统来说,已经完全够用了。实际使用下来,7805发热不太大,无需加装散热片。为了使用方便,我在7805的输入端加装了一个开关和一个红色LED,分别作为系统电源开关和指示灯。

2.时钟、温度部分

这部分电路如图25.4所示。单片机采用的是STC89C52RC,考虑到成本和功能性问题,时钟部分我没有单独买时钟芯片,直接使用内部定时器中断作为时钟源,这直接导致的结果就是时钟误差稍大。经测试,每24小时误差在1分钟左右,作为一个功能性的DIY作品,就饶了它吧,呵呵……温度传感器采用的也是常用的DS18B20,相信大家都很熟悉。3个功能按键分别是时钟(闹铃)小时调整、时钟(闹铃)分钟调整和时钟/闹铃切换。

图25.4 时钟、温度部分的电路

为了跟“频谱”切题,时钟、温度的显示没有采用传统的数字表示,而是分别把时钟的小时、分钟的十位和个位分别用点来表示,每两列表示一位,每行表示一点,左下角是时钟,右上角是温度。是不是有点晕乎呢?其实只要你看了实物就会觉得很简单,文字的确不是很好表达。时钟没有单独设置“秒”的显示,为了增强显示效果,我特地在右下角设置了沙漏下落效果,每一秒钟下落一行。

3.频谱分析部分

电路如图25.5所示。这部分的制作跟“五色LED频谱”是一样的原理,都是把音频信号经AD采样,用快速傅里叶变换求出频点的幅值,再根据幅值大小来驱动相应的LED。只不过我设计的是每次采128个点,最后十六分频而已。单片机采用的是STC12C5A60S2,已经在信号输入端加了47pF的电容滤波,但还是发现有噪声。可能是因为使用的是洞洞板,还有就是走线过长的缘故。我试着加大了电容再次滤波,但直接导致低频响应变差,鉴于噪声不是很严重,最后只好作罢,将就一下了。

图25.5 频谱分析部分的电路

4.WAV 音乐播放部分

电路如图25.6所示。这部分应该是整个系统里面最复杂的了,WAV音乐播放部分是在数码之家论坛hit00版主的“WAV播放器”的基础上修改而来的。单片机选用的是STC12C5616AD,虽然该单片机自带有SPI接口,在一定程度上已经简化了程序,但SD卡文件的操作确实有难度。原来的程序里带有语音,受到单片机存储空间的限制,语音质量太差,没有“暂停”及”上一曲”功能。我去掉了语音,增加了暂停及上一曲功能。其中暂停功能的实现花了我不少时间,本来想当暂停的时候就让单片机进入死循环,开始的时候再跳出来,结果试了以后发现完全不是那么回事。单片机PWM信号的输出本来就用的中断,单片机进不进入死循环,中断还是一样的工作。要不就让它在暂停的时候掉电或是待机什么的呢?好吧,查STC12C5616AD的手册。一看手册我笑了,PCON电源控制寄存器不正是我想找的吗,单片机进入掉电模式,单片机状态维持当前值,呵呵……问题解决。功放部分采用了LM386功放芯片,直接引用了网上LM386的典型应用电路。

图25.6 WAV音乐播放部分的电路

5.显示部分

电路如图25.7所示。为了能有好的显示效果,显示部分用的是32×16的高亮度聚光蓝色LED组成的点阵屏,1kΩ电阻限流。全过程手工焊接,可能我焊得慢,整整焊了一晚上。焊接状态与电路细节如图25.8、图25.9所示。

图25.7 显示部分的电路

由于时钟部分跟频谱分析部分共用点阵屏,所以必须考虑两路信号的隔离分时显示。还有就是32列LED的列驱动问题。信号的隔离分时显示我用的是74HC573锁存器,通过控制OE端口将需要显示的信号线路的74HC573选通,而将另外一组信号通过74HC573的高阻态实现隔离。LED的列驱动选用的是74HC154(4线—16线译码器),只需一组I/O口就可实现32列LED的列驱动了。

到此,整个系统的介绍就完了,在这里特别感谢数码之家论坛的hit00版主在制作过程中给予的大力帮助。图25.10就是这个实物作品的全家福。

为了尽量减少干扰和连线,整个板子电源全是用焊锡走的线。信号线采用杜邦线和插针连接,方便调试。

虽然制作时觉得挺累,但当看到自己做的东西“跑”起来那一刻,就什么都值了,我相信每一个DIY爱好者都会有这种感觉吧,也许这就是DIY的乐趣。相关源程序可到qq群657864614进行下载。

图25.8 焊接状态

图25.9 电路细节

图25.10 完成的电路板实物

划重点:现收集整理了1300G电子技术资料,一口价68元,需要的朋友可以私聊我!

单片机好创意:音乐频谱显示屏

我们经在音响等产品上看到随着音乐跳动的柱状显示器,或用LED,或用显示屏。那就是音乐频谱,听着音乐的时候,内心跟随着音乐频谱的律动,整个人都嗨了起来。

音乐频谱

其实这个实现的原理并不复杂,需要将输入的音频信号采样,进行AD转换,然后再滤波和,最后进行快速傅里叶变换(FFT)得到音频信号在不同频域的分量,在显示器中使用一个柱状的长度显示每个分量大小。这个过程需要使用单片机进行处理。

使用单片机实现的频谱显示屏

这里使用LED作为音频显示屏,首先需要将所有的LED焊接起来。每个LED列显示的就是音乐的各个频率分量,LED点阵的水平轴代表各个频率,竖直轴代表强度。从下面的图中可以看出,该点阵大小为16*30(本来要做16*32,限于万用板大小只能容下30列)。每两列为一组,共15组,由于是阴极接在一起,姑且称之为共阴极组;同理,每一行的阳极接在一起,称为共阳极组,共16组。

LED阵列

在LED阵列下面增加了一个七彩LED显示环,也是能够根据音乐变换不同色彩的。增加了显示屏的动感,使得作品根据杀马特风格。

成品效果图

单片机用的是STC12C56AD,用到通用IO功能和AD功能,设计的基本控制思路是:扫描。控制电路采用了4个74HC573锁存器,2个达林顿管阵列ULN2003。通过单片机控制573和2003实现显示器的行选和列选,实现指定LED灯显示。每一时刻只让一个共阴极组接地,其它接高电平,从左至右依次选通每个共阴极组。每次选中共阴极组后,需要对其阳极写入数据,由于有16行,需要写入两个字节。假如以上方为高字节,我想让选中的共阴极组下面的8行灯亮,则应往阳极段写入的两个字节为:0x00,0xff。

用了一个声音模块采集声音,采集模块的输出端接在单片机的AD转换端口上。程序的循环中,先进行32次AD采样,得到32(必须是2的n次方)个采样值,做快速傅里叶变换,得到32个频率的强度,由于是前后对称的,只取其前15个频率的强度,经过幅值调整(调为0~16),在15个共阴极组上依次显示出来。

电路原理图

科技改变生活,关注搞搞单片机,增加生活乐趣。这里有单片机教程,有单片机好创意,有共同爱好的单片机达人。赶紧加入我们吧,一起搞搞单片机。

相关问答

C语言音乐跳动的 频谱 要怎么实现?

首先我们采用的是基于微处理器软件分析法,微处理器是本设计的核心部分,因此我们选择增强型的8051单片机作为本次设计的芯片。软件上的分析法核心是快速傅立叶...

我想问 单片机 ,你了解多少?

想了解单片机,就需要了解单片机的工作原理,开发环境、编程语言、端口、功能模块等等。一、了解单片机的工作原理我们都知道,在学习一项技术的时候,第一条就...

请问什么叫同时采样什么叫同步采样?有什么区别?

...交流采样技术是按一定规律对被测信号的瞬时值进行采样,再按一定算法进行数值处理,从而获得被测量的测量方法。该方法的理论基础是采样定理,即要求采样频...

不会解码怎么解码?

编码器(encoder),是一种输入模拟视频信号并将它转换为数字信号格式,以进一步压缩和传输的硬件/软件设备。像视频的mpeg4,音频的mp3,ac3,dts等,这些编码器...

曾喆昭为人如何,知名度?

曾喆昭,男,1963年9月生于湖南蓝山,中共党员,2002年破格晋升教授,湖南大学电路与系统博士生,现任长沙理工大学电气与信息工程学院副院长,分管实践教学和实...

在没有基站的太平洋里,卫星手机是怎样通信的?

移动卫星通信就是利用卫星作为中继站,实现地面、空中、海上移动用户之间,或移动用户与固定用户之间的相互通信。它是卫星通信的一种重要方式。[编辑]移动卫星...

简单信号发生器怎么制作- 一起装修网

一起装修网问答平台为您提供简单信号发生器怎么制作的相关答案,并为您推荐了关于简单信号发生器怎么制作的相关问题,一起装修网问答平台:装修问题,因我而止。

自组网发展前景如何?哪位在做这个行业给点指点?

最近有在边远山区做风电场的企业找到鲲,解决网络覆盖和数字化管理的问题。风电场多建设在地势较高的偏僻山区之中,区域内的通信基础设施数量较少,全场网络覆...

电子产品研发需要具备什么条件?

电子产品研发首先需要工程师当前的电子产品开发,很多都使用到控制芯片,如单片机或者ARM处理器,按照这类型电子产品的研发工作的内容分类,则可以分成如下几类...

朋友们可不可以告诉我,稳定的监控和复位芯片采购网,监控和...

[回答]这是主板的IO芯片(监控主板接口状态的芯片),因为它时刻都在为主板启动作准备,只要接通电源不开机也是会发热的,如果不是很热就不用管它,如果是发烫...

猜你喜欢