|
51單片機(jī)音樂噴泉制作全過程資料 有原理圖 實(shí)物圖 元件清單 源程序 沒有做仿真
音樂噴泉電路原理圖:
pcb圖:
音樂噴泉的元件清單:
元件型號(hào) | 元件名稱 | 元件標(biāo)號(hào) | 數(shù)量 | 10uF | 電容 | C1, C3 | 2 | 20pf | 電容 | C2, C4 | 2 | 104 | 電容 | C5, C7, C9 | 3 | 220uF | 電容 | C6, C8 | 2 | LED0 | 發(fā)光二極管 | D1, D2, D3, D4, D5, D6, D7, D8 | 8 | 喇叭 | 喇叭 | LS1 | 1 | | 電機(jī) | M1 | 1 | 9012 | 三極管 | Q1 | 1 | 1K | 電阻 | R1, R2, R3, R4, R5, R6, R7, R8 | 8 | 10K | 電阻 | R9 | 1 | 10K | 可調(diào)電位器 | R10 | 1 | 4.7歐 | 電阻 | R11 | 1 | 1K | 電阻 | R12 | 1 | SW | 按鍵 | S1 | 1 | 電源開關(guān) | 電源開關(guān) | SW1 | 1 | ADC0832 | AD采集芯片 | U1 | 1 | 單片機(jī) | 單片機(jī) | U2 | 1 | LM386 | 功放芯片 | U3 | 1 | 12M | 晶振 | Y1 | 1 |
單片機(jī)音樂噴泉源程序如下:
- #include<reg51.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit out=P3^7;
- sbit led1=P0^7;
- sbit led2=P0^6;
- sbit led3=P0^5;
- sbit led4=P0^4;
- sbit led5=P0^3;
- sbit led6=P0^2;
- sbit led7=P0^1;
- sbit led8=P0^0;
- sbit SCL=P1^2; //SCL定義為P1口的第3位腳,連接ADC0832SCL腳
- sbit DO=P1^3; //DO定義為P1口的第4位腳,連接ADC0832DO腳
- sbit CS=P1^0; //CS定義為P1口的第4位腳,連接ADC0832CS腳
- uchar h1,date;
- unsigned char adval;
- void delay(uint z)
- {
- uchar y;
- for(;z>0;z--)
- for(y=120;y>0;y--);
- }
- /***********讀數(shù)模轉(zhuǎn)換數(shù)據(jù)********************************/
- //請(qǐng)先了解ADC0832模數(shù)轉(zhuǎn)換的串行協(xié)議,再來讀本函數(shù),主要是對(duì)應(yīng)時(shí)序圖來理解,本函數(shù)是模擬0832的串行協(xié)議進(jìn)行的
- // 1 1 0 通道
- // 1 1 1 通道
- unsigned char ad0832read(bit SGL,bit ODD)
- {
- unsigned char i=0,value=0,value1=0;
- SCL=0;
- DO=1;
- CS=0; //開始
- SCL=1; //第一個(gè)上升沿
- SCL=0;
- DO=ODD;
- SCL=1; //第二個(gè)上升沿
- SCL=0;
- DO=SGL;
- SCL=1; //第三個(gè)上升沿
- DO=1;
- for(i=0;i<8;i++)
- {
- SCL=1;
- SCL=0; //開始從第四個(gè)下降沿接收數(shù)據(jù)
- value<<=1;
- if(DO)
- value++;
- }
- for(i=0;i<8;i++)
- { //接收校驗(yàn)數(shù)據(jù)
- value1<<=1;
- if(DO)
- value1+=0x01;
- SCL=1;
- SCL=0;
- }
- if(value==value1) //與校驗(yàn)數(shù)據(jù)比較,正確就返回?cái)?shù)據(jù),否則返回0
- return value;
- return 0;
- }
- void penquan() //PWM調(diào)壓
- {
- date=ad0832read(1,0);
-
- h1=(255-date);
- out=0;
- delay(h1);
- if(h1>30) led1=1; else led1=0;
- if(h1>70) led2=1; else led2=0;
- if(h1>100) led3=1; else led3=0;
- if(h1>130) led4=1; else led4=0;
- if(h1>160) led5=1; else led5=0;
- if(h1>180) led6=1; else led6=0;
- if(h1>200) led7=1; else led7=0;
- if(h1>220) led8=1; else led8=0;
- out=1;
- delay(date);
- }
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
單片機(jī)音樂噴泉制作.rar
(2.93 MB, 下載次數(shù): 1231)
2018-1-31 19:20 上傳
點(diǎn)擊文件名下載附件
|
評(píng)分
-
查看全部評(píng)分
|