找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3783|回复: 8
收起左侧

求用at89c51设计的小型音乐喷泉的控制水柱随音乐高低起伏部分

[复制链接]
ID:327483 发表于 2018-6-1 11:32 | 显示全部楼层 |阅读模式
40黑币
求用at89c51设计的小型音乐喷泉的控制水柱随音乐高低起伏部分仿真和程序,求来有用的

回复

使用道具 举报

ID:1 发表于 2018-6-1 19:23 | 显示全部楼层
结合FFT来实现吧
回复

使用道具 举报

ID:327483 发表于 2018-6-2 15:06 | 显示全部楼层
admin 发表于 2018-6-1 19:23
结合FFT来实现吧

大佬,不会啊
回复

使用道具 举报

ID:556736 发表于 2019-6-20 22:45 | 显示全部楼层
#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;               
sbit DO=P1^3;            
sbit CS=P1^0;  



uchar h1,date;
unsigned char adval;
void delay(uint z)
{
   uchar y;
   for(;z>0;z--)
   for(y=120;y>0;y--);
}



                                                
unsigned char ad0832read(bit SGL,bit ODD)
{
        unsigned char i=0,value=0,value1=0;               
                SCL=0;
                DO=1;
                CS=0;               
                SCL=1;                        
                SCL=0;
                DO=ODD;
                SCL=1;         
                SCL=0;
                DO=SGL;
                SCL=1;           
                DO=1;
                for(i=0;i<8;i++)
                {
                        SCL=1;
                        SCL=0;
                        value<<=1;
                        if(DO)
                                value++;                                                
                }
                for(i=0;i<8;i++)
                {                        
                        value1<<=1;
                        if(DO)
                                value1+=0x01;
                        SCL=1;
                        SCL=0;
                }
                if(value==value1)                                
                        return value;
        return 0;
}

void penquan()         
{
    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);

}

void main()
{
   
   while(1)
   {        

      
                penquan();                                   
                 
   }
}
回复

使用道具 举报

ID:207421 发表于 2019-6-20 23:27 | 显示全部楼层
回复

使用道具 举报

ID:412580 发表于 2019-7-15 16:55 | 显示全部楼层
用声控的咪头试试吧结合十进制译码器
回复

使用道具 举报

ID:610314 发表于 2019-9-11 10:54 | 显示全部楼层
请问有完整版的代码吗
回复

使用道具 举报

ID:600558 发表于 2019-12-28 16:48 | 显示全部楼层
水泵怎么控制呀?
回复

使用道具 举报

ID:388463 发表于 2019-12-29 19:52 | 显示全部楼层
链接:https://pan.baidu.com/s/1wbWO9zbVCZ3fYwqWnPpfHA
提取码:cxg3
以前淘宝35买的套件。用过
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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