xz199264 发表于 2014-5-5 23:53:26

STC12C5A60S2+1602显示音频频谱

大三了,最近上数字信号处理讲的都是关于DFT和FFT的知识,因此产生了要把FFT进一步学习的想法,经过一周的努力,终于有了一点成果。这个过程中,学习了不少前辈高人的资料,受益匪浅,感谢他们的无私奉献。现把程序贴上,不足之处请大家指正。

devcang 发表于 2014-5-6 00:06:49

{:victory:}{:victory:}{:victory:}

dlmaowf 发表于 2014-5-6 09:04:46

赞一个   

craigtao 发表于 2014-5-6 15:23:18

直接接到音频上吗?

xz199264 发表于 2014-5-7 00:32:51

是的,如果单单是AD采集的话,加个1K的电阻和一个大于47P的电容接地,得到的数据比较稳定。如图所示。

craigtao 发表于 2014-5-7 12:25:28

我不是很懂硬件啊,为啥信号源只有一根呢?音频线不是两根的吗?

kevinchen026 发表于 2014-5-7 12:34:47

左声道,右声道

xz199264 发表于 2014-5-7 14:34:08

kevinchen026 发表于 2014-5-7 12:34
左声道,右声道

单声道,无论左或右,都行

xz199264 发表于 2014-5-7 14:35:47

craigtao 发表于 2014-5-7 12:25
我不是很懂硬件啊,为啥信号源只有一根呢?音频线不是两根的吗?

只用左声道或者右声道

craigtao 发表于 2014-5-7 14:50:04

xz199264 发表于 2014-5-7 14:35
只用左声道或者右声道

你的意思是我只要把音频线的一根接到AD采集端就可以了吗?

xz199264 发表于 2014-5-7 21:28:26

craigtao 发表于 2014-5-7 14:50
你的意思是我只要把音频线的一根接到AD采集端就可以了吗?

加上接地就可以了

craigtao 发表于 2014-5-8 08:31:22

xz199264 发表于 2014-5-7 21:28
加上接地就可以了

哦,,好的,。谢谢分享啊,以后再请教,

newywx 发表于 2014-5-8 14:50:31

楼主太帅了~~~~~

zlo007 发表于 2014-5-9 17:33:50

谢谢分享啊

wsm80828 发表于 2014-5-10 06:42:59

谢谢分享

xz199264 发表于 2014-5-10 08:22:55

craigtao 发表于 2014-5-7 14:50
你的意思是我只要把音频线的一根接到AD采集端就可以了吗?

是的,一根接P1^0,其它端口你可以自己改,另一根接地。

蓝蓝的恋 发表于 2014-5-10 09:49:57

1602的点阵模式正好适合做频谱,哈~

wkman 发表于 2014-5-10 10:33:23

弱弱问一下,,,,采集 FFT 再显示,,,仅是为了 美观感受??? {:shocked:}

rantingting 发表于 2014-5-10 11:35:40

漂亮,回去自己试试

soarZDA 发表于 2014-5-10 11:52:27

玩一玩。。。谢谢哈

okplay 发表于 2014-5-10 15:51:14

你的音频波形里面没有负压?不需要DC Offset?

xz199264 发表于 2014-5-10 19:06:39

wkman 发表于 2014-5-10 10:33
弱弱问一下,,,,采集 FFT 再显示,,,仅是为了 美观感受???

之前学的都是理论,对FFT不太了解,做这个是为了多了解一下FFT.

lyrics131415 发表于 2014-5-10 20:28:16

谢谢楼主分享!!!

jialidianzi 发表于 2014-5-14 00:04:02

做噶记号有时间也试试谢谢分享

zzzljb 发表于 2014-6-26 23:31:30

这么牛逼的玩意不攒可惜啊,32个点赞

simahacker 发表于 2014-6-30 01:55:50

多谢楼主分享

viq505 发表于 2014-6-30 08:00:00

都是牛人啊

zhxush 发表于 2014-7-8 11:26:18

除了一根音频 一根地 还需要接什么吗?

xz199264 发表于 2014-7-12 21:27:59

zhxush 发表于 2014-7-8 11:26
除了一根音频 一根地 还需要接什么吗?

接音频和地就可以了

lpandadp 发表于 2014-7-12 21:35:11

好厉害的啊,膜拜,多谢楼主分享

开始 发表于 2014-7-12 22:53:14

赞个。。。。

开始 发表于 2014-7-12 22:54:02

{:victory:}赞个

ppdd 发表于 2014-7-12 23:07:44

{:victory:}

sql 发表于 2014-7-15 10:40:21

很不错啊。支持一下。

peter_zj 发表于 2014-7-16 08:53:37

最下面一行 标出频率,这样直观的显示 那个频点上的 音频信号较强。

kuanglf 发表于 2014-8-5 10:55:45

学习记号,谢谢分享

小小菜 发表于 2014-8-6 21:40:57

这个有想法···!

wgm_123 发表于 2014-8-8 00:59:16

真的很漂亮哦,佩服佩服

iquer 发表于 2014-8-8 22:09:53

看着不错,学习学习!

mcufan5524 发表于 2014-11-29 22:35:31

这资料太好了,51的代码容易移植,我也学习一下

xiaozuowei118 发表于 2014-12-6 15:04:50

哥们,你这FFT运算是不 是对的啊,我移植过去FFT怎么是个死循环呢

xiaozuowei118 发表于 2014-12-6 15:06:57

while (1)
    {       
                /*state++;
                if(state >= 30) state = 0;

                temperature = (unsigned char)(ADC_ConvertedValue_Buf*330/4096);
                */       
                if(msg_p == (void *)0)
                {
                  for(i=0;i<N;i++)                                  //采集64点音频信号
                  {
                        //ADC_CONTR=0xC8;                                       //40.96K采样率        设置ADC_CONTR第5、6位,具体参考说明书
                        //while(!(ADC_CONTR&0x10));
                          s.real=ADC_ConvertedValue_Buf;//存入采集值       //AD结果高8位左移2位,低2位不变,然后相加
                             s.imag=0;
                       
                          OSTimeDlyHMSM(0,0,0,1);
                  }
                  FFT(s,N);
               
                  for(i=0;i<N;i++) result = (unsigned short)(sqrt(pow((s.real),2)+pow((s.imag),2))/4);
                  msg_p = result;
                }       
      OSTimeDlyHMSM(0,0,0,1);            
    }
加上FFT()程序就不跑了,把FFT去掉就OK了

mcufan5524 发表于 2014-12-7 01:17:04

我参考这个程序用STM32+OLED做了一个,在外出差也没有音源输入,在学习板上做一个方波输出+ADC,终于能看到跳动的频谱了,但好像还是有问题,还得找书来看看信号处理的知识,还要继读努力

xuanke 发表于 2014-12-11 13:05:58

晶振频率没说啊。。。。

yanbing080801 发表于 2014-12-29 19:50:31

这个还挺好看的,赞一个   

培增 发表于 2014-12-30 10:39:17

非常好,赞。。。。

logsoft 发表于 2014-12-30 21:59:48

顶一个,用双色单元板做过,只是乱跳。学习了。

ahaol 发表于 2014-12-31 13:26:03

真有趣,没想到可以这样搞,自己也来弄个玩玩

huangweida 发表于 2014-12-31 20:15:16

有点小吊啊

MyAVR 发表于 2015-1-1 12:01:38

不错,51还可以这样玩。

fenjinzhe 发表于 2015-1-18 14:32:45

这也可以,不错。。

Tsiov 发表于 2015-1-19 09:31:27

本帖最后由 Tsiov 于 2015-1-19 09:32 编辑

看了下源码,摘抄两行:
float pi;
pi=3.14159265;                //给结构体赋值
代码是原封不动复制的,包括注释。

修改说明:增加文字解释。

HMYJ 发表于 2015-1-19 20:39:52

接上这电路对音质有影响不????

iyctj4 发表于 2015-1-20 09:09:12

挺好,有创意

片羽之神 发表于 2015-1-20 09:40:31

学习了!支持!!!

zhongsandaoren 发表于 2015-1-21 13:42:26

可以,不错

hellohaitong 发表于 2015-1-23 13:29:16

有时间试一下1602FFT

追逐梦想的脚步 发表于 2015-1-23 15:32:42

好棒,赞一个

liangying 发表于 2015-1-23 17:39:42

测试下看看,效果!

thyewfty 发表于 2018-8-23 14:46:24

搞个大点的屏

TKZXJ 发表于 2018-12-19 22:23:27

谢谢分享,学习了

ycheng2004 发表于 2018-12-20 08:28:38

请教各位大侠,1602LCD如何显示这种一格一格的字符的?

gaobao_1 发表于 2019-1-10 15:59:13

好资料,学习!

Sky2162 发表于 2019-4-17 10:21:19

楼主厉害了!
页: [1]
查看完整版本: STC12C5A60S2+1602显示音频频谱