51单片机音乐喷泉设计音乐盒源代码 电路方案
功能实现通过ADC0832芯片对音频信号的采集,转换为数字信号给单片机,然后PWM脉冲宽度调制控制水泵水柱对的高低 //请先了解ADC0832模数转换的串行协议,再来读本函数,主要是对应时序图来理解,本函数是模拟0832的串行协议进行的 // 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;//第一个上升沿 SCL=0; DO=SGL; SCL=1; //第二个上升沿 SCL=0; DO=ODD; SCL=1; //第三个上升沿 SCL=0; //第三个下降沿 DO=1; for(i=0;i70) led1=1; else led1=0; //ad值对比 点亮相应的灯 if(h1>80) led2=1; else led2=0; //ad值对比 点亮相应的灯 if(h1>90) led3=1; else led3=0; //ad值对比 点亮相应的灯 if(h1>100) led4=1; else led4=0; //ad值对比 点亮相应的灯 if(h1>110) led5=1; else led5=0; //ad值对比 点亮相应的灯 if(h1>115) led6=1; else led6=0; //ad值对比 点亮相应的灯 if(h1>120) led7=1; else led7=0; //ad值对比 点亮相应的灯 if(h1>130) led8=1; else led8=0; //ad值对比 点亮相应的灯 out=1; //关闭水泵 delay(date); //延时时间 } void main()//主函数 { while(1) { penquan(); //给定个延时次数 } }