搜索
bottom↓
回复: 83

自制的VFD音乐频谱显示器,上来秀一把

[复制链接]

出0入0汤圆

发表于 2011-1-23 18:06:31 | 显示全部楼层 |阅读模式
前几天入手一个VFD显示器,全新原装进口。基本情况如下:
双色点阵屏,20x8分辨率。
每个像素由6个发光条组成,每色3条,可显示红和天蓝,同时点亮为白色。
单5V供电,电流0.5A左右。

VFD显示器 (原文件名:VFD.jpg)
勉强可以显示字符,不适合显示长英文句子。先做了个温度计,效果似乎不好。

做了个温度计,效果似乎不太好 (原文件名:T.jpg)
然后就想到了做一个频谱显示器,正好用上里面的双色条状的点,效果还行。
于是花了点时间研究了51上运行的FFT程序,移植过来调试一下,再做个美化,就算初步完成了一个作品。
硬件用了STC12C5A08S2作MCU,和一个LM358对音频信号放大。
STC12C5A系列有1K的外部RAM,正好可做128点FFT运算。程序4K多,不算复杂。

频谱效果 (原文件名:频谱.jpg)
不会贴视频,发个连接:http://v.youku.com/v_show/id_XMjM5MDQ5OTY0.html
新手报到,高手勿笑。

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
头像被屏蔽

出0入0汤圆

发表于 2011-1-23 18:44:24 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2011-1-23 20:38:20 | 显示全部楼层
楼主厉害

出0入85汤圆

发表于 2011-1-23 21:15:18 | 显示全部楼层
这个VFD卖了好久了,只是觉得太老了,显示效果太粗糙了

出0入8汤圆

发表于 2011-1-23 21:17:02 | 显示全部楼层
楼主厉害,能否共享程序参考下,谢谢了先~

出0入0汤圆

 楼主| 发表于 2011-1-24 11:31:33 | 显示全部楼层
回复【4楼】jingwaner  
-----------------------------------------------------------------------

如果想制作的人多,我就上传资料。

出0入0汤圆

发表于 2011-1-24 11:34:42 | 显示全部楼层
楼主请上代码

偶学习下

多谢

一直想yy这个,不会神马傅里叶,也看不懂FFT

入口都找不到

出0入0汤圆

发表于 2011-1-24 11:56:49 | 显示全部楼层
顶一下

出0入0汤圆

发表于 2011-1-24 12:16:28 | 显示全部楼层
我老早就想做频谱显示了,支持下,希望楼主开源下,多谢了~~

出0入0汤圆

发表于 2011-1-24 12:57:37 | 显示全部楼层
回复【5楼】reiyawea  
回复【4楼】jingwaner  
-----------------------------------------------------------------------

如果想制作的人多,我就上传资料。
-----------------------------------------------------------------------

要是都抱着这种想法,那么就没什么意思了。

出0入0汤圆

 楼主| 发表于 2011-1-24 13:25:55 | 显示全部楼层
回复【9楼】90999  张耀扬
-----------------------------------------------------------------------

好吧,我错了。晚些时候传个FFT吧。

出0入0汤圆

发表于 2011-1-24 13:40:21 | 显示全部楼层
来个完整的吧,要是顺手的话

和我一样的菜鸟很多啊

呵呵

出0入0汤圆

发表于 2011-1-24 13:42:15 | 显示全部楼层
回复【10楼】reiyawea  
回复【9楼】90999  张耀扬
-----------------------------------------------------------------------

好吧,我错了。晚些时候传个fft吧。
-----------------------------------------------------------------------

并不是说你对错的问题,有些事情在这里不必和其他论坛一样,先要攒人气。一般攒人气盖楼的做法,时间一长,就会造就喷子。

出0入0汤圆

发表于 2011-1-24 13:44:23 | 显示全部楼层
VFD就是打点驱动,呵呵  楼主没有用驱动IC?

出0入0汤圆

 楼主| 发表于 2011-1-24 16:05:51 | 显示全部楼层
回复【13楼】fei_yang  
-----------------------------------------------------------------------

屏是是个模块,用8080时序写数据就行。

出0入0汤圆

 楼主| 发表于 2011-1-24 16:24:28 | 显示全部楼层
上程序
======================
#include<math.h>//要调入数学(和谐)运算的头文件
#include<reg52.h>
//定义复数结构
struct compx
{
float real;
float imag;
};
//定义复数乘法
struct compx EE(struct compx a,struct compx b)
{
struct compx c;
c.real=a.real*b.real-a.imag*b.imag;
c.imag=a.real*b.imag+a.imag*b.real;
return(c);
}
//定义复数求模
float cmplxabs(struct compx a)
{
float b;
b=sqrt(a.real*a.real+a.imag*a.imag);
return(b);
}
//FFT子程序
//入口:复数数组指针和点数。
//出口:原复数数组,取模后为强度,可用于频谱。
void FFT(struct compx *xin,unsigned int N)
{
int f,m,nv2,nm1,i,k,j=1,l;
int le,lei,ip;
struct compx v,w,t;
nv2=N/2;
f=N;
for(m=1;(f=f/2)!=1;m++);
nm1=N-1;
for(i=1;i<=nm1;i++){
if(i<j){t=xin[j-1];xin[j-1]=xin[i-1];xin[i-1]=t;}
k=nv2;
while(k<j){j=j-k;k=k/2;}
j=j+k;
}

/* FFT*/
for(l=1;l<m;l++)
{
le=pow(2,l);
lei=le/2;
v.real=1.0;v.imag=0.0;
w.real=cos(pi/lei);w.imag=-sin(pi/lei);
for(j=1;j<=lei;j++){
for(i=j;i<=N;i+=le){
ip=i+lei;
t=EE(xin[ip-1],v);
xin[ip-1].real=xin[i-1].real-t.real;
xin[ip-1].imag=xin[i-1].imag-t.imag;
xin[i-1].real=xin[i-1].real+t.real;
xin[i-1].imag=xin[i-1].imag+t.imag;
}
v=EE(v,w);
}
}
}
//使用示例
xdata struct compx s[128];//我的有1024字节外部RAM,可做128点FFT。
void main()
{
unsigned char i,bar[64];
for(;;){
for(i=0;i<=127;i++){
……………………//AD采样
s.real=(float)ADC_RES;//采样结果送实部,注意数据类型转换
s.imag=0;
}
FFT(s,128);
//由于FFT的结果是关于中间对称的,只需要左半边结果
for(i=0;i<=63;i++)bar=(unsigned char)(complxabs(s)/50);//需要除一个数,免得结果太大转换出错。具体多少需调试。
……………………//显示转换结果
}
}

出0入0汤圆

发表于 2011-1-24 16:31:16 | 显示全部楼层
不错

出0入0汤圆

发表于 2011-1-24 17:07:00 | 显示全部楼层
这个必须顶!

出0入0汤圆

发表于 2011-1-24 17:21:59 | 显示全部楼层
顶!

出0入0汤圆

发表于 2011-1-24 17:45:37 | 显示全部楼层
必须顶!

出0入0汤圆

发表于 2011-1-24 20:10:33 | 显示全部楼层
收藏!谢谢

出0入0汤圆

发表于 2011-1-24 20:16:19 | 显示全部楼层
顶一下。谢谢!

出0入0汤圆

发表于 2011-1-24 22:42:25 | 显示全部楼层
你用的什么屏啊?那么亮?

出0入0汤圆

发表于 2011-1-24 23:29:23 | 显示全部楼层
mark,研究下fft

出0入0汤圆

 楼主| 发表于 2011-1-25 11:43:56 | 显示全部楼层
回复【22楼】proteldxp  
-----------------------------------------------------------------------

屏没有照片上那么亮,是因为用手机拍的,开了闪光灯就看不清字,不开闪光灯,曝光过度了。
但屏本身也不错,放在暗的地方很漂亮的。

出0入0汤圆

发表于 2011-1-25 17:44:17 | 显示全部楼层
mark~~

出0入0汤圆

发表于 2011-1-25 18:04:41 | 显示全部楼层
make fft

出0入0汤圆

发表于 2011-1-25 21:31:05 | 显示全部楼层
脚印

出0入0汤圆

发表于 2011-1-26 09:21:54 | 显示全部楼层
make fft

出0入0汤圆

 楼主| 发表于 2011-1-26 15:45:57 | 显示全部楼层
打算做个PCB出来。
到时若有想一起制作的,可以赠送PCB。

出0入0汤圆

发表于 2011-2-11 13:43:53 | 显示全部楼层
回复【4楼】jingwaner
楼主厉害,能否共享程序参考下,谢谢了先~
-----------------------------------------------------------------------

出0入0汤圆

发表于 2011-2-12 17:16:11 | 显示全部楼层
收藏!

出0入0汤圆

发表于 2011-2-12 22:39:21 | 显示全部楼层
收藏!

出0入0汤圆

 楼主| 发表于 2011-2-12 23:11:33 | 显示全部楼层
回复【30楼】baodingren  
-----------------------------------------------------------------------

最主要的已经贴上了,其余就要按不同的MCU和显示器分别对待了。

出0入0汤圆

发表于 2011-2-13 22:39:04 | 显示全部楼层
好东东,咱有两个128*63的VFD点阵,正想搞个音响的屏呢,多谢LZ了

出0入0汤圆

发表于 2011-3-7 10:11:39 | 显示全部楼层

出0入0汤圆

发表于 2011-3-7 11:24:26 | 显示全部楼层
前段时间结合前辈们的FFT,从网上淘了一块二手双色点阵屏用MSP430做了一个效果很不错

出0入0汤圆

发表于 2011-3-7 12:56:22 | 显示全部楼层
楼主能否把这个的升压电路抄出来。

出0入0汤圆

发表于 2011-3-7 21:30:17 | 显示全部楼层
楼主能否讲解一下显示原理啊

出0入0汤圆

 楼主| 发表于 2011-3-12 17:38:50 | 显示全部楼层
回复【37楼】mcu_mouse  
-----------------------------------------------------------------------
抄板是不可能的啦,元件很密,很多都藏在玻璃下面。

出0入0汤圆

 楼主| 发表于 2011-3-12 17:39:24 | 显示全部楼层
回复【38楼】lwg998  
-----------------------------------------------------------------------

您是指VFD的显示还是频谱的显示?

出0入0汤圆

发表于 2011-3-26 11:11:46 | 显示全部楼层
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4634814&bbs_page_no=1&search_mode=3&search_text=format&bbs_id=9999

还请楼主帮忙看看这个问题

多谢

出0入0汤圆

发表于 2011-3-26 18:08:29 | 显示全部楼层
FFT good

出0入0汤圆

发表于 2011-3-27 01:11:57 | 显示全部楼层
高手啊!

出0入0汤圆

发表于 2011-3-27 02:18:01 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-18 20:27:56 | 显示全部楼层
程序总体讲,很不错,美中不足有两处小问题
1

(原文件名:1.JPG)
2

(原文件名:2.JPG)

出0入0汤圆

 楼主| 发表于 2011-5-2 14:54:45 | 显示全部楼层
回复【45楼】encyclopedia   
-----------------------------------------------------------------------

cmplxabs为缩写,通常都会省去元音以便在不影响认读的情况下缩短长度。
不是拼写错误啊!

出0入0汤圆

 楼主| 发表于 2011-5-2 14:56:29 | 显示全部楼层
回复【41楼】format  
-----------------------------------------------------------------------

这个函数是复数求模,函数体已经包含在源码里了,math.h里不会有的,是没仔细看?

出0入0汤圆

发表于 2011-5-2 19:18:01 | 显示全部楼层
不错 支持楼主

出0入0汤圆

发表于 2011-5-2 20:03:32 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-27 00:06:37 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-27 20:18:03 | 显示全部楼层
cool

出0入0汤圆

发表于 2011-6-8 17:02:44 | 显示全部楼层
挖一下坟~~
很好的程序!!

出0入0汤圆

发表于 2011-8-8 13:53:35 | 显示全部楼层
能不能把电路图付上啊!!谢谢

出0入0汤圆

发表于 2011-8-15 17:20:04 | 显示全部楼层
学习一下

出0入0汤圆

发表于 2011-8-15 19:41:15 | 显示全部楼层
我的fft白学了,看不懂。。。。

出0入0汤圆

发表于 2011-9-3 21:55:17 | 显示全部楼层
楼主,上次说你模仿过mini48,不是可否共享下,也想模仿写。

出0入0汤圆

发表于 2011-9-3 22:42:25 | 显示全部楼层
效果不错

出0入0汤圆

发表于 2011-9-3 22:56:44 | 显示全部楼层
mark顶!!!!

出0入0汤圆

发表于 2011-9-4 10:56:10 | 显示全部楼层
打酱油了

出0入0汤圆

发表于 2011-9-4 13:21:12 | 显示全部楼层
学习了。。。

出0入0汤圆

发表于 2011-9-5 04:20:30 | 显示全部楼层
记号

出0入0汤圆

发表于 2011-9-5 08:21:48 | 显示全部楼层
太厉害了,我也些过fft,不过程序达16k,为什么你的才4K,高手啊。

出0入0汤圆

发表于 2012-2-15 15:40:24 | 显示全部楼层
mark sss

出0入0汤圆

发表于 2012-2-20 22:06:35 | 显示全部楼层
mark!

出0入0汤圆

发表于 2012-3-30 23:54:14 | 显示全部楼层
这个不错可以看看

出0入0汤圆

发表于 2012-5-6 17:31:50 | 显示全部楼层
留个爪印

出0入0汤圆

发表于 2012-5-6 18:29:29 | 显示全部楼层
format 发表于 2011-1-24 11:34
楼主请上代码

偶学习下

参考魏坤示波器,有相关代码  很容易知道函数接口

出0入0汤圆

发表于 2012-5-6 18:38:57 | 显示全部楼层
不错 支持楼主

出0入0汤圆

发表于 2012-8-7 09:00:36 | 显示全部楼层
顶一下。谢谢!

出0入0汤圆

发表于 2012-8-7 10:16:20 | 显示全部楼层
好贵的好像

出0入0汤圆

发表于 2012-8-7 17:55:22 | 显示全部楼层
楼主建议你把程序和原理图打包上来如果愿意开源的话,因为上传完整的资料就可以置酷了

出0入0汤圆

发表于 2012-8-9 20:44:58 来自手机 | 显示全部楼层
z317946208 发表于 2011-9-3 21:55
楼主,上次说你模仿过mini48,不是可否共享下,也想模仿写。

mini48?杜洋的?现在开源了啊

出0入0汤圆

发表于 2012-8-17 20:45:37 | 显示全部楼层
楼主~求开源~

出0入0汤圆

发表于 2012-9-10 00:48:07 | 显示全部楼层
在学习中,顶....

出0入0汤圆

发表于 2012-9-16 18:29:09 | 显示全部楼层
收藏!!谢谢分享了

出0入0汤圆

发表于 2012-9-17 12:37:43 | 显示全部楼层
这个屏真漂亮,做频谱显示

出0入0汤圆

发表于 2012-10-5 09:06:00 | 显示全部楼层
楼主的程序不错,MARK下。

出0入0汤圆

发表于 2012-10-8 21:46:33 | 显示全部楼层
有图和程序吗   我也想做个

出0入0汤圆

发表于 2013-5-5 13:30:53 | 显示全部楼层
如果屏更好看就好了

出0入0汤圆

发表于 2013-6-13 17:22:02 | 显示全部楼层
求原理图一份 呵呵学习

出0入0汤圆

发表于 2013-8-30 11:02:50 | 显示全部楼层
楼主干的漂亮!

出0入0汤圆

发表于 2013-8-31 09:02:05 | 显示全部楼层
帥氣!!!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 14:32

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表