喷泉编码c语言,51单片机音乐喷泉设计音乐盒源代码

喷泉编码c语⾔,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;i<8;i++)
{
SCL=1;
SCL=0; //开始从第四个下降沿接收数据
value<<=1;
if(DO)
value++;
}
for(i=0;i<8;i++)
社区的概念
{//接收校验数据
value1>>=1;
if(DO)
value1+=0x80;
SCL=1;
SCL=0;
}
CS=1;奥运五环
DO=1;
偏振模散
SCL=1;
if(value==value1)//与校验数据⽐较,正确就返回数据,否则返回0 return value;
return 0;
}
void penquan() //PWM调压
{
date=ad0832read(1,0); //读取ad值
h1=(255-date);//转换
out=0; //⽔泵清零
delay(h1);
if(h1>70) 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)
qltv{
penquan(); //给定个延时次数
}
}

本文发布于:2024-09-23 00:38:47,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/63469.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:函数   延时   下降   数据   理解   对应   采集
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议