加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

51單片機(jī)音樂(lè)噴泉設(shè)計(jì)音樂(lè)盒源代碼

2020/04/22
380
服務(wù)支持:
技術(shù)交流群

完成交易后在“購(gòu)買成功”頁(yè)面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長(zhǎng)和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購(gòu)買后不支持退換且無(wú)法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
方塊圖(2)
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

功能實(shí)現(xiàn)通過(guò)ADC0832芯片對(duì)音頻信號(hào)的采集,轉(zhuǎn)換為數(shù)字信號(hào)單片機(jī),然后PWM脈沖寬度調(diào)制控制水泵水柱對(duì)的高低

//請(qǐng)先了解ADC0832模數(shù)轉(zhuǎn)換的串行協(xié)議,再來(lái)讀本函數(shù),主要是對(duì)應(yīng)時(shí)序圖來(lái)理解,本函數(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;//開(kāi)始

SCL=1;//第一個(gè)上升沿

SCL=0;

DO=SGL;

SCL=1; //第二個(gè)上升沿

SCL=0;

DO=ODD;

SCL=1; //第三個(gè)上升沿

SCL=0; //第三個(gè)下降沿

DO=1;

for(i=0;i<8;i++)

{

SCL=1;

SCL=0; //開(kāi)始從第四個(gè)下降沿接收數(shù)據(jù)

value<<=1;

if(DO)

value++;

}

for(i=0;i<8;i++)

{//接收校驗(yàn)數(shù)據(jù)

value1>>=1;

if(DO)

value1+=0x80;

SCL=1;

SCL=0;

}

CS=1;

DO=1;

SCL=1;

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); //讀取ad值

h1=(255-date);//轉(zhuǎn)換

out=0; //水泵清零

delay(h1);

if(h1>70) led1=1; else led1=0; //ad值對(duì)比 點(diǎn)亮相應(yīng)的燈

if(h1>80) led2=1; else led2=0; //ad值對(duì)比 點(diǎn)亮相應(yīng)的燈

if(h1>90) led3=1; else led3=0; //ad值對(duì)比 點(diǎn)亮相應(yīng)的燈

if(h1>100) led4=1; else led4=0; //ad值對(duì)比 點(diǎn)亮相應(yīng)的燈

if(h1>110) led5=1; else led5=0; //ad值對(duì)比 點(diǎn)亮相應(yīng)的燈

if(h1>115) led6=1; else led6=0; //ad值對(duì)比 點(diǎn)亮相應(yīng)的燈

if(h1>120) led7=1; else led7=0; //ad值對(duì)比 點(diǎn)亮相應(yīng)的燈

if(h1>130) led8=1; else led8=0; //ad值對(duì)比 點(diǎn)亮相應(yīng)的燈

out=1; //關(guān)閉水泵

delay(date); //延時(shí)時(shí)間

}

void main()//主函數(shù)

{

while(1)

{

penquan(); //給定個(gè)延時(shí)次數(shù)

}

}

  • 2、源程序(C語(yǔ)言含詳細(xì)備注).zip
    描述:代碼
  • 其他參考資料.docx
    描述:其他相關(guān)資料

相關(guān)推薦

電子產(chǎn)業(yè)圖譜