音乐喷泉程序含部分图.docx

上传人:b****5 文档编号:6224137 上传时间:2023-01-04 格式:DOCX 页数:8 大小:80.36KB
下载 相关 举报
音乐喷泉程序含部分图.docx_第1页
第1页 / 共8页
音乐喷泉程序含部分图.docx_第2页
第2页 / 共8页
音乐喷泉程序含部分图.docx_第3页
第3页 / 共8页
音乐喷泉程序含部分图.docx_第4页
第4页 / 共8页
音乐喷泉程序含部分图.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

音乐喷泉程序含部分图.docx

《音乐喷泉程序含部分图.docx》由会员分享,可在线阅读,更多相关《音乐喷泉程序含部分图.docx(8页珍藏版)》请在冰豆网上搜索。

音乐喷泉程序含部分图.docx

音乐喷泉程序含部分图

申报作品情况(科技发明制作)

说明:

1、必须由组长填写。

2.本表必须附有研究报告,提供图表、曲线、试验数据、原理结构图、外观图(照片)

作品全称

声控流水灯

(A)

A信息技术(包括程序设计、电信、通讯、电子等)

B数理(包括数学、物理、地球与空间科学扥)

作品设计、发明的目的和基本思路

作品设计:

该作品含51单片机控制模块,声音信号的放大,发光二极管模块。

发明目的:

运用于娱乐场所,AD采样声音放大后的电压值,来确定那位LED灯亮,声音越大,就越高位的LED灯亮。

基本思路:

采用51单片机作为控制核心,采样声音放大后的电压,可用于娱乐竞技,如“比比谁更HIGH”,两边各方一套该装置,看谁的LED灯亮的位比较高比较久就是谁更HIGH。

声音强度转化为电信号,通过放大加在发光二极管两端,控制灯光强度。

创新点,技术关键和主要技术指标

创新点:

灯光强度的高低由声音的强度控制,并且可以根据电压值变化的范围内实现不同位的LED灯亮。

关键:

电压的AD取样,电信号放大倍数的控制。

指标:

声控流水灯,实现不同电压值对应不同位的LED灯亮。

作品可展示的形式

√实物、产品□模型□图纸□磁盘

●现场演示□图片□录像□样品

 

 

 

这个是声音输入的电路,AD采样点为电容C的负极

 

#include

#include

#defineucharunsignedchar

#defineuint unsignedint

#defineledioP0

sbitadwr=P3^5; //ad

sbitadrd=P3^6; //ad

sbitadcs=P3^7; //ad 

sbitrs=P3^4;  //1602

sbitrw=P3^3;  //1602

sbiten=P3^2;  //1602

uintnum;

uchari,n,A1,A2,A3,adn;

ucharcodetable[]={'L','H'};

ucharcodetable1[]="volume";

voiddelay()

{

uintxms=10;

xms*=1000;

while(xms--);

}

voiddelayms(uintx)

{

uinti,j;

for(i=x;i--;i>0)

for(j=100;j--;j>0);

}

voidwritecom(ucharcom) //1602写指令

{

rs=0;

P1=com;

delayms(5);

en=1;

delayms(5);

en=0;

}

voidwritedata(ucharnum)//1602写数据

{

rs=1;

P1=num;

delayms(5);

en=1;

delayms(5);

en=0;  

}

voidinit()  //1602初始化

{

rw=0;

writecom(0x38);  //设置显示模式

writecom(0x0c);  //不显示光标

writecom(0x06);  //地址指针加1,光标加1

writecom(0x01);  //显示清屏

}

voiddisplay(ucharx,uchary,ucharz)

{

writecom(0x80);

delayms

(2);

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

writedata(table1[i]);

writedata(0x14);delayms

(1);

writedata(x+0x30);

delayms

(1);

writedata(y+0x30);

delayms

(1);

//  writedata(0x2e);

//  delayms

(2);

writedata(z+0x30);

delayms

(1);

writecom(0xc0);

writedata(table[0]);

writecom(0xce);

writedata(table[1]);

}

 

voidmain()

{

TMOD=0x00;

TH0=(8192-1000)/32;

TL0=(8192-1000)%32;

EA=1;

ET0=1;

TR0=1;   

init();//初始化1602

adcs=0;

while

(1)

{    

A1=adn/100;

A2=adn%100/10;

A3=adn%10;

display(A1,A2,A3);

delayms

(2);  

if(A1<5&A2==0)

{

ledio=0x80;  writecom(0xc1);writedata(0x3e);

delay();

}       

if(5<=A1<=7&A2==0)

{        

ledio=0x40;writecom(0xc1);writedata(0x3e);writedata(0x3e);//led1

delay();        

}

if(8<=A1<=9&A2==0)

{        

ledio=0x20;writecom(0xc1);writedata(0x3e);writedata(0x3e);writedata(0x3e);//led2

delay();              

}  

 

if(0<=A1<=5&A2==1)

{        

ledio=0x10;writecom(0xc1);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);//led3

delay();                

}

delay();              

if(6<=A1<=9&A2==1)

{        

ledio=0x08;writecom(0xc1);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);//led4

delay();                          

}            

if(0<=A1<=5&A2==2)

{        

ledio=0x04;writecom(0xc1);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);//led5

delay();

 

}

if(6<=A1<=9&A2==2)

{        

ledio=0x02;writecom(0xc1);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);//led6

writedata(0x3e);writedata(0x3e);

delay();        

}   

if(0<=A1<=5&A2==3)

{        

ledio=0x01;writecom(0xc1);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);//led7

writedata(0x3e);writedata(0x3e);writedata(0x3e);

delay();        

}

if(6<=A1<=9&A2==3)

{        

ledio=0xfc;writecom(0xc1);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);//led8

writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);

delay();          

}

if(0<=A1<=5&A2==4)

{        

ledio=0xfe;writecom(0xc1);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);//led18

writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);

delay();          

}

if(45

{        

ledio=0xff;writecom(0xc1);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);//led28

writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);writedata(0x3e);

delay();          

}       

writecom(0x01);  

}

}  

voidt0()interrupt1

{

TH0=(8192-1000)/32;

TL0=(8192-1000)%32;

num++;

if(num==50)

{

num=0;

adwr=1;

_nop_();

adwr=0;

_nop_();

adwr=1;

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();      

P2=0xff;

adrd=1;

_nop_();

adrd=0;

_nop_();

adn=P2;

adrd=1;

}

}              

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1