標(biāo)題: 用51單片機(jī)做的音樂頻譜顯示器 [打印本頁]
作者: admin 時(shí)間: 2013-6-16 03:24
標(biāo)題: 用51單片機(jī)做的音樂頻譜顯示器
注意按鍵一定要離單片機(jī)很近,觸摸按鍵最怕有干擾
030152sqj831kqyyvqdjhe.jpg (32.77 KB, 下載次數(shù): 355)
下載附件
2013-6-16 03:25 上傳
030152t8iwy6b37u1bvwgm.jpg (63.75 KB, 下載次數(shù): 338)
下載附件
2013-6-16 03:25 上傳
030152ce8eyatbltzjb86j.jpg (58.54 KB, 下載次數(shù): 350)
下載附件
2013-6-16 03:25 上傳
030153so4ypv3hdodseeio.jpg (56.31 KB, 下載次數(shù): 363)
下載附件
2013-6-16 03:25 上傳
030153ob0iawti9vbtx0ta.jpg (79.12 KB, 下載次數(shù): 345)
下載附件
2013-6-16 03:25 上傳
030153hyq9l3bszcmqqcoy.jpg (38.23 KB, 下載次數(shù): 360)
下載附件
2013-6-16 03:25 上傳
030154crh8rb8wnd4dd3f1.jpg (31.42 KB, 下載次數(shù): 355)
下載附件
2013-6-16 03:25 上傳
030154g47dsjv1qr9nrf14.jpg (43.32 KB, 下載次數(shù): 338)
下載附件
2013-6-16 03:25 上傳
030154dtjr1bhh1huvjmrs.jpg (40.16 KB, 下載次數(shù): 333)
下載附件
2013-6-16 03:25 上傳
030154uhbz81ebity0f5cn.jpg (63.16 KB, 下載次數(shù): 332)
下載附件
2013-6-16 03:25 上傳
030154sdz397i37f2vf8kk.jpg (74.09 KB, 下載次數(shù): 350)
下載附件
2013-6-16 03:25 上傳
030154qadqtjsukaussxus.jpg (56.78 KB, 下載次數(shù): 351)
下載附件
2013-6-16 03:25 上傳
030155go6q1l02q2on7m2n.jpg (54.71 KB, 下載次數(shù): 335)
下載附件
2013-6-16 03:25 上傳
制作資料下載:
DIY音樂頻譜顯示資料.zip
(4.69 MB, 下載次數(shù): 3416)
2013-6-16 03:28 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者: admin 時(shí)間: 2013-6-16 03:31
下面是主函數(shù)的源代碼:完整的可到樓主的貼中下載
#include "src\STC12C5A.h"
#include <intrins.h> //51基本運(yùn)算(包括_nop_空函數(shù))
#include <math.h>
#include "src\Define.h"
///////全局變量///////
uchar data DelayTime=9; //<=8效果最好;
uchar data INTTime=0x40; //0x40;
uchar data gain=6;
uchar data Menu=2;
uchar idata refreshflag[40];
uchar data LEDBuf[35]; //15列;從左到右;亮的位為真(1);
uint32 data TouchKey=0;
uchar data CBeep=0;
//////////////////////
void Delays(uint t)
{
uint j;
while(--t)
for(j=0;j<5;j++);
}
void Delaysms(uint t)
{
uint j;
while(--t)
for(j=0;j<15;j++);
}
#include "src\ADC.c"
#include "src\Font.c"
#include "src\fft.h"
void PWM_init (void) //PWM初始化函數(shù) //PWM模式,接P1.3接口(PWM0),強(qiáng)上拉.
{
CMOD=0x00; //設(shè)置PCA定時(shí)器 0x00~0x03;
CL=0xEF;
CH=0xEF;
CCAPM0=0x42; //PWM0設(shè)置PCA工作方式為PWM方式(0100 0010)
CCAP0L=0xEF; //設(shè)置PWM0初始值與CCAP0H相同
CCAP0H=0xFF; // PWM0初始時(shí)為0
CR=1; //啟動(dòng)PCA定時(shí)器
}
void PWM0_set (uchar set) //PWM0占空比設(shè)置函數(shù) (0x00~0xFF)
{
CCAP0L= set; //設(shè)置值寫入CCAP0L
CCAP0H= set; //設(shè)置值寫入CCAP0H
}
void IOINIT(void) //I/O強(qiáng)上拉模式;
{
P4SW = 0xff; //啟動(dòng)I/O:P4;
P4M1 = B(00000000); P4M0 = B(10000000);P47=0;//震動(dòng)馬達(dá);
P0M1 = 0x00; P0M0 = 0xff; P0=0; //點(diǎn)陣列(Y)(L:OFF; H,H+:ON,ON+;)
P1M1 = B(01000011); P1M0 = B(00110100);P1=B(10110111); //(P17@(高阻,IN)&P16@(高阻,IN);TouchKey) ... P14@(傳統(tǒng)IO,Beep,IN) P13@(強(qiáng)推,OUT)呼吸燈 ... P11@(高阻,IN)AD2;P10@(高阻,IN)AD1;
P2M1 = B(00000000); P2M0 = B(11111111);P2=0; //點(diǎn)陣行(X0(Left))(L:OFF; H,H+:ON,ON+;)
P3M1 = B(00000000); P3M0 = B(11111111);P3=0; //點(diǎn)陣行(X1(Right))(L:OFF; H,H+:ON,ON+;)
P1ASF =B(00000011); //將P10,P11的IO設(shè)置為模擬輸入功能;
// Y(P0)
// ↑
//H |
// |
// |
//L |
// ---------------------→
// [L:X0(P2):H][L:X1(P3):H]
//TestCode:
// P0=B(10000000);
// P2=B(00000001);
// P3=B(00010000);
}
void BufToLED_Refresh() //Refresh&Write Buf to LED ;
{
uchar data i;
uchar data X=1;
uchar data Y=1;
for(X=1,i=2;X;X<<=1,i+=2) //for(X=1;X!=0;X<<=1) //8bit
{
P2=X;
for(Y=1;Y!=0;Y<<=1) //Y=Y<<1;
{
P0=Y&LEDBuf[i];
Delays(DelayTime);
P0=0;
}
P2=0;
};
for(X=1;X<B(10000000);X<<=1,i+=2) //7bit
{
P3=X;
for(Y=1;Y!=0;Y<<=1) //Y=Y<<1;
{
P0=Y&LEDBuf[i];
Delays(DelayTime);
P0=0;
}
P3=0;
};
}
void LEDRefresh_INT() interrupt 3 //using 3
{
static uint x=0;
static uchar flag=1;
TL1 = 0x00;
TH1 = INTTime; //0x50~0x80
if(flag)
{
if(++x==0xFF) //MINOUTPUT
{
flag=0;
}
}
else
{
if(--x==0xCF) //MAXOUTPUT
{
flag=1;
}
}
PWM0_set(x); //設(shè)置PWM占空比
BufToLED_Refresh();
}
void Timer_INT()
{
TMOD = 0x11; //高4位控制T/C1
EA = 1; //開總中斷
TH1 = 0x00; //16位計(jì)數(shù)寄存器T1高8位
TL1 = 0x00; //16位計(jì)數(shù)寄存器T1低8位
ET1 = 1; //T/C1中斷開
TR1 = 1; //T/C1啟動(dòng)
}
void FullScan()
{
uchar data X=1;
uchar data Y=1;
for(Y=1;Y!=0;Y<<=1) //Y=Y<<1;
{
P0=Y;
for(X=1;X;X<<=1) //8bit
{
P2=X;
Delays(7);
};
P2=0;
for(X=1;X<B(10000000);X<<=1) //7bit
{
P3=X;
Delays(7);
};
P3=0;
P0=0;
}
}
void Main()
{
uint data Count=700;
uchar data i,Cgain,num=0;
IOINIT();
InitADC();
while(--Count)
FullScan();
for(i=0;i<40;i++) refreshflag[i]=0x09;
P14=0; //Beep
Delays(4000);
P14=1;
PWM_init(); //PWM初始化
PWM0_set(0xFB);
Timer_INT();
for(i=0;i<34;i++)
LEDBuf[i]=0x00;
FontDisp();
while(520)
{
for(i=0;i<65;i++)
{
dd[i].real=(GetADCResult(0)+GetADCResult(1))<<gain; //讀取ad結(jié)果并放大;
}
processfft();//傅立葉變化及處理
///////////////////TouchKey//////////////////////////
while(P16==1) //依據(jù):脈沖 干擾持續(xù)時(shí)間短;
{
if(CBeep)P14=0;
if(++TouchKey>0x0000FF00)break;
}
P14=1;
if(P16==1)
{
if(++Menu==4)Menu=0;
P14=0;
P47=1;
Delays(7000);
P14=1;
P47=0;
}
TouchKey=0;
//////////////////////////////////////////////
if(P17==0)CBeep=!CBeep;
if(dd[2].real<32)
{
if(++Count==300) //電平值過小,這降低gain,減少噪音的電平顯示;
{
Count=0;
//if(++Menu==4)Menu=0; //切換Menu,顯示方式;
gain=6;
P14=0; //Beep
Delays(1000);
P14=1;
}
}
else
{
Count=1;
if(++num==0xAF) //播放時(shí),Auto gain;
{
num=0;
P14=0; //Beep
Delays(700);
P14=1;
//自動(dòng)增益;Automatic gain;
Cgain=dd[2].real/32;
if(7<Cgain<=8)
{
gain=4;
}
else if(4<Cgain<=6)
{
gain=5;
}
else if(2<Cgain<=4)
{
gain=6;
}
else
{
gain=7;
}
}
}
}
while(1);
}
作者: ahshmj 時(shí)間: 2013-6-16 15:36
PRJ.C(299): error C249: 'DATA': SEGMENT TOO LARGE
??
作者: admin 時(shí)間: 2013-6-16 18:32
keil4 的工程文件呢
作者: eric.ghost 時(shí)間: 2013-7-7 00:21
貌似要焊到手抽~~
作者: 大齡學(xué)生啊~~ 時(shí)間: 2013-7-17 17:46
看看,,程序齊的吧
作者: Fly_ 時(shí)間: 2013-7-20 13:49
謝謝分享~~~~~~~~~~
作者: kxm2008 時(shí)間: 2013-7-21 08:17
很強(qiáng)啊,樓主
作者: 1156615097 時(shí)間: 2013-7-23 22:22
有套件賣嗎?我要
作者: Living_on_Your_ 時(shí)間: 2013-7-26 21:24
真帥。!
作者: full 時(shí)間: 2013-7-26 21:54
kanakn
作者: yyyxiaowei 時(shí)間: 2013-7-26 23:05
學(xué)習(xí)中
作者: 這些年我們?cè)谝?nbsp; 時(shí)間: 2013-8-8 04:05
謝謝 分享
作者: 這些年我們?cè)谝?nbsp; 時(shí)間: 2013-8-10 11:05
程序 還需要修改嗎??按照你 套件我也做了一套 燒出來沒反應(yīng)
作者: 辷噺一意 時(shí)間: 2013-8-12 15:27
進(jìn)來看看
作者: HUFUHA 時(shí)間: 2013-10-9 02:35
看看學(xué)習(xí)學(xué)習(xí)。。
作者: 家電維修 時(shí)間: 2013-10-10 12:22
手都要掉了
作者: azhiarm9 時(shí)間: 2013-10-10 12:33
keil4 的工程文件呢
作者: 白色米兔 時(shí)間: 2013-10-13 05:49
很強(qiáng)啊
作者: samyang13 時(shí)間: 2013-12-25 20:16
同二樓問題相同
作者: lyMarvin 時(shí)間: 2013-12-27 18:32
怎么沒見效果圖?
作者: Simoni 時(shí)間: 2014-3-18 14:25
謝謝分享
作者: zxf88welding 時(shí)間: 2014-3-21 22:27
謝謝 分享
作者: rsbook 時(shí)間: 2014-4-2 16:56
有做成功的嗎?
作者: 我不知道 時(shí)間: 2014-4-3 16:40
我頂,向樓主學(xué)習(xí)。
作者: txwp 時(shí)間: 2014-4-4 11:36
很好 學(xué)習(xí) 謝謝
作者: 簫風(fēng)竹影 時(shí)間: 2014-5-9 13:05
好東西
作者: userxun 時(shí)間: 2014-5-13 20:44
要焊死
作者: wwqcf1 時(shí)間: 2014-5-14 11:54
進(jìn)來看看
作者: rich3524 時(shí)間: 2014-5-15 10:46
好東西.
謝謝
作者: firesparker 時(shí)間: 2014-7-6 18:48
恩恩,下載來自己做做
作者: feng370654382 時(shí)間: 2014-7-7 10:26
謝樓主分享啊。。
作者: fslgh123 時(shí)間: 2014-8-28 16:22
正想學(xué)習(xí)學(xué)習(xí)。
作者: 13304563556 時(shí)間: 2014-9-5 13:03
放個(gè)視頻出來更好
作者: lin1161061863 時(shí)間: 2014-10-8 19:55
好復(fù)雜啊
作者: tianxing 時(shí)間: 2014-10-14 17:53
謝了。
作者: 唉丶芒果 時(shí)間: 2014-10-15 19:34
謝謝分享
作者: h-zhz 時(shí)間: 2014-11-17 22:10
支持一下~謝謝分享
作者: zjf110 時(shí)間: 2014-11-25 01:25
不錯(cuò) 頂頂頂頂
作者: kongmeng0814 時(shí)間: 2014-12-9 03:07
如果 我還想控制更多的LED我該怎么做呢?
作者: mycookie 時(shí)間: 2014-12-9 10:05
很強(qiáng)啊
作者: 師太來取精 時(shí)間: 2015-1-6 02:36
找了好久 謝謝你啊
作者: 濰坊論壇 時(shí)間: 2015-1-8 21:31
下載學(xué)習(xí)
作者: yufeng998 時(shí)間: 2015-1-26 10:30
正在做這個(gè)東西,學(xué)習(xí)一下。
作者: yufeng998 時(shí)間: 2015-2-5 17:43
'
程序 還需要修改嗎??按照你 套件我也做了一套 燒出來沒反應(yīng)'同問??
作者: 1176658950 時(shí)間: 2015-5-10 01:10
好東西贊黑幣!下載!
作者: jyk20100 時(shí)間: 2015-5-10 11:28
俺也試試,謝謝樓主分享
作者: 瘋狂DE三級(jí)管 時(shí)間: 2015-5-12 13:18
已經(jīng)在做了。。下來看看
作者: 天空的顏色 時(shí)間: 2015-5-29 23:28
想下載來看下,但不夠黑幣啊
作者: 286458071 時(shí)間: 2015-5-30 10:43
*罒ο罒*(`)謝謝分享了
作者: enzo7777 時(shí)間: 2015-5-31 22:34
下載 了,沒看見C或者KEIL 文檔??HEX就一個(gè) 是整個(gè)的 代碼燒成的馬? 還沒在PROTUES仿真?? 源代碼哪里?
作者: zhang1728356725 時(shí)間: 2015-6-2 00:00
看看不錯(cuò)哦
作者: miuifen 時(shí)間: 2015-7-31 09:43
用STC89c52單片機(jī)可以嗎
作者: Bearchang 時(shí)間: 2015-7-31 22:35
不行,因?yàn)轭l譜需要AD采集
作者: 明月 時(shí)間: 2015-9-12 17:05
看看,,,,,,,,,,,,, 點(diǎn)點(diǎn)滴滴點(diǎn)點(diǎn)滴滴的滴滴答答滴滴答答滴滴答答滴滴答答的
作者: bentaozhenti 時(shí)間: 2015-9-14 14:26
感謝樓主
作者: 810364072@qq.co 時(shí)間: 2015-10-12 11:15
不錯(cuò) 正在學(xué)習(xí)
作者: 76748724 時(shí)間: 2015-10-23 17:05
挺好的
作者: 小古月 時(shí)間: 2015-10-30 17:10
很好的東東
作者: 小古月 時(shí)間: 2015-10-30 19:19
很不錯(cuò)
作者: lym_tb_1 時(shí)間: 2015-10-31 22:52
我想說的是第一張微波爐的圖片是啥意思?
作者: 飛刀問情 時(shí)間: 2015-11-2 11:20
謝謝,真心
作者: xiaoyuxinke 時(shí)間: 2015-11-2 22:19
來個(gè)通電測(cè)試的效果圖片唄
作者: stewart_leung 時(shí)間: 2015-11-3 09:26
管理員也是個(gè)牛人啊
作者: ludaijin 時(shí)間: 2015-11-5 08:06
樓上的朋友有做成功的 沒有
作者: 吾2481 時(shí)間: 2015-11-5 11:37
各位大神都好厲害,支持一下
作者: linport 時(shí)間: 2015-11-5 15:54
很想也做一個(gè)
作者: 著陸的海 時(shí)間: 2015-11-17 17:31
您好,可以請(qǐng)教您一些問題嗎?
可以加一下我的扣扣號(hào)嗎?“2562294410”
謝謝您了
作者: 我是傻逼 時(shí)間: 2015-11-17 21:50
要焊廢手
作者: lthy640220 時(shí)間: 2015-11-20 18:48
有做成功的嗎?我非常想做一個(gè)
作者: BH2RAI 時(shí)間: 2015-11-24 09:06
謝謝分享 樓主辛苦
作者: 旭日青草 時(shí)間: 2015-11-28 12:42
樓主沒用74HC595和138,這么用有點(diǎn)浪費(fèi)啊
作者: 旭日青草 時(shí)間: 2015-11-28 12:47
樓主竟然把電磁爐當(dāng)顯示屏了,,,,
作者: 夜雨輕風(fēng) 時(shí)間: 2015-11-29 12:19
學(xué)習(xí)學(xué)習(xí)
作者: 夜雨輕風(fēng) 時(shí)間: 2015-11-29 12:20
支持一下~謝謝分享
作者: 夜雨輕風(fēng) 時(shí)間: 2015-11-29 12:21
貌似要焊到手抽~~~~
作者: bxyyhan 時(shí)間: 2015-11-29 14:41
夜雨輕風(fēng) 發(fā)表于 2015-11-29 12:21
貌似要焊到手抽~~~~
我用的點(diǎn)陣管做的,8*24位的。
作者: liyang0727 時(shí)間: 2015-12-2 15:37
下載學(xué)習(xí)
作者: liyang0727 時(shí)間: 2015-12-2 15:38
感謝樓主
作者: siked123 時(shí)間: 2015-12-9 16:57
非常支持! 下載了


作者: 博學(xué)而篤志 時(shí)間: 2015-12-29 16:42
這個(gè)真的很好
作者: xpz418 時(shí)間: 2016-2-28 15:11
不錯(cuò),學(xué)習(xí)了
作者: xpz418 時(shí)間: 2016-2-28 15:11
不錯(cuò)的東西,學(xué)習(xí)了
作者: blacknowhite 時(shí)間: 2016-3-21 23:48
對(duì)于玩音樂的來說,最好了
作者: wanggoals 時(shí)間: 2016-3-21 23:59
牛逼啊
作者: wanggoals 時(shí)間: 2016-3-21 23:59
真是人才啊,太厲害了
作者: jiaaizyj 時(shí)間: 2016-3-28 21:17
謝謝分享~~~~~~~~~~
作者: 無言 時(shí)間: 2016-4-11 09:46
謝謝樓主,希望有用
作者: dianyu7824 時(shí)間: 2016-4-26 16:41
不錯(cuò)
作者: chaijin1127 時(shí)間: 2016-4-29 20:39
item.taobao點(diǎn)com/item.htm?spm=a230r.1.14.88.kqxYRd&id=44455098483
作者: 401831383 時(shí)間: 2016-5-13 15:51
1單片機(jī)做的音樂頻譜顯示
作者: dmhrat 時(shí)間: 2016-5-14 12:22
電磁爐是干嘛用
作者: 陳涉太息曰 時(shí)間: 2016-5-16 10:26
謝謝分享
作者: owenrao 時(shí)間: 2016-6-4 02:16
效果怎么樣
作者: qzhyjd 時(shí)間: 2016-6-4 16:37
應(yīng)該用矩陣二極管,少很多焊接


作者: sonkouri 時(shí)間: 2016-6-7 20:13
正在學(xué)習(xí)這個(gè)制作,很不錯(cuò)
作者: 馬成虎 時(shí)間: 2016-6-19 10:36
樓主在嗎
作者: 馬成虎 時(shí)間: 2016-6-19 10:38
程序有點(diǎn)錯(cuò)誤
作者: 李某某 時(shí)間: 2016-7-30 20:53
哎呦,不錯(cuò)哦
作者: xiaoliu023 時(shí)間: 2016-8-19 19:58
謝謝分享,就是我的黑金不夠
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |