找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4734|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)音樂噴泉原理圖-C語言程序與視頻

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
音樂噴泉51單片機(jī)為核心,對(duì)聲音信號(hào)的采集和轉(zhuǎn)換,來調(diào)節(jié)水泵電機(jī)轉(zhuǎn)速的變化,表現(xiàn)為隨音樂的大小來改變噴泉水柱的高度。有視頻演示。
制作出來的實(shí)物圖如下:


電路原理圖如下:


單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit out=P3^7;

  5. sbit led1=P0^0;
  6. sbit led2=P0^1;
  7. sbit led3=P0^2;
  8. sbit led4=P0^3;
  9. sbit led5=P0^4;
  10. sbit led6=P0^5;
  11. sbit led7=P0^6;
  12. sbit led8=P0^7;

  13. sbit SCL=P1^2;               
  14. sbit DO=P1^3;               
  15. sbit CS=P1^0;               

  16. uchar h1,date;
  17. unsigned char adval;
  18. void delay(uint z)
  19. {
  20.    uint y;
  21.    for(;z>0;z--)
  22.    for(y=5;y>0;y--);
  23. }

  24.        
  25. //ADC0832
  26.                                                
  27.                                                  
  28. unsigned char ad0832read(bit SGL,bit ODD)
  29. {
  30.         unsigned char i=0,value=0,value1=0;               
  31.                 SCL=0;
  32.                 DO=1;
  33.                 CS=0;                //開始
  34.                 SCL=1;                //第一個(gè)上升沿       
  35.                 SCL=0;
  36.                 DO=SGL;
  37.                 SCL=1;          //第二個(gè)上升沿
  38.                 SCL=0;
  39.                 DO=ODD;
  40.                 SCL=1;           //第三個(gè)上升沿
  41.                 SCL=0;           //第三個(gè)下降沿
  42.                 DO=1;
  43.                 for(i=0;i<8;i++)
  44.                 {
  45.                         SCL=1;
  46.                         SCL=0; //開始從第四個(gè)下降沿接收數(shù)據(jù)
  47.                         value<<=1;
  48.                         if(DO)
  49.                                 value=value|0x01;                                               
  50.                 }
  51.                 for(i=0;i<8;i++)
  52.                 {                        //接收校驗(yàn)數(shù)據(jù)
  53.                         value1=value1>>1;
  54.                         if(DO)
  55.                                 value1=value1|0x80;
  56.                         SCL=1;
  57.                         SCL=0;
  58.                 }
  59.                 CS=1;
  60.                 SCL=1;
  61.                 DO=1;       
  62.                 if(value==value1)                                       
  63.                         return value;
  64.                 return 0;
  65. }

  66. void penquan()          //PWM調(diào)壓

  67. {

  68.         date=ad0832read(1,0);

  69.         out=1;
  70. //h1=(180-date);
  71.   delay(date);  //50
  72.         if(date>70) led1=0; else led1=1; //120
  73.         if(date>150) led2=0; else led2=1;
  74.         if(date>220) led3=0; else led3=1;
  75. //        if(h1>100) led4=0; else led4=1;
  76. //        if(h1>140) led5=0; else led5=1;
  77. //        if(h1>180) led6=0; else led6=1;
  78. //        if(h1>230) led7=0; else led7=1;
  79. //        if(h1>280) led8=0; else led8=1;
  80.         out=0;       

  81.         delay(250-date);   //240
  82. }
  83. void main()
  84. {

  85.    while(1)
  86.    {
  87.            penquan();                           
  88.    }
  89. }
復(fù)制代碼
以上資料51hei下載地址:
音樂噴泉-原理圖-程序-視頻.rar (3.98 MB, 下載次數(shù): 72)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:692689 發(fā)表于 2022-3-22 11:03 | 只看該作者
謝謝樓主,請(qǐng)問還有proteus仿真圖嗎
回復(fù)

使用道具 舉報(bào)

板凳
ID:1025314 發(fā)表于 2022-5-10 22:33 | 只看該作者
調(diào)壓電路中的180-date是什么意思?為什么是180-呢?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表