原理图见附图。发光二极管L1至L4显示声音的频率,当声频从低,中,高,特高时, 分别点亮L1至L4。若无声,L1至L4均熄灭。 声音幅度显示在L5至L7上,这3只发光管在无声时按顺序以15秒周期依次循环点亮, 即每只发光管依次点亮5秒。当有声时,循环点亮周期减少,声越大,周期越短。 IC2为PIC16F676,主时钟采用内部的自带4MHz振荡器,IC2的11脚为计数输入,把IC1 放大的声音信号经R4,V1送入该脚,在单位时间里,IC2计数越多,则表明声频越高,反之, 声频低。同时,声音经D1检波,C3,R3积分,在IC2的12脚得到的电压便可反映出声幅 的大小,此电压经单片机内部A/D转换成数据,处理后,去改变L5至L7的循环点亮周期。 由于IC2的12脚只需要声音的上半周,所以,用于将驻极体话筒MIC的信号放大的运 放IC1,在电路设计时,只放大上半周声音信号。为了使IC1的7脚在无信号时,能有 0.6V 电压,以便给D1一个起始导通电压,加入D2。这样,小信号时IC2的12脚也能采集到信 号电压。 编程思路:TMR1为计时器,TMR0在TMR1计时时,开始对IC2的11脚计数,所计值多少,反映出声频的高低。L5至L7依次点亮的时间用软件查询,查询次数又受控于A/D值的大小。为增强L5至L7点亮的动感,在程序中,还插入一段用于判别目前A/D值与前一次A/D值的大小,若值大,这接将下一个灯点亮,并让软件查询重新开始。 在程序固化到附图的IC2中后,需要调试,才能正常工作。调试步骤如下:在确保IC2 外围电路正常后,通电几十秒,保持外界无声音,将图中的“调试点”短路,让IC2复位(4 脚与GND短路一下),此时,L1至L4全部点亮,拆除“调试点”短路,重新上电,调试 就算完成。这种调试,是让IC2记住在无信号时其12脚的电压值,此值存进内部的EEPROM 中,以后,IC2所测的A/D值都将减去该电压值后才去进行数据处理。 视听感受: L1至L4采用超高亮发光二极管,颜色分别为白,红,绿,蓝。L5至L7 只为了调试时用,所以,颜色随便。RL1至RL3为彩灯串,将彩灯串摆成“T”字形。让音乐响起,超高亮发光二极管照在室内的白色墙面上,其颜色随音乐节奏而变,很有动感;3串彩灯随音乐相互追逐,很好看。如果您嫌超高亮发光二极管亮度不够,可以多增加几个,附图中采用4只三极管作射随,就是为了增加发光二极管准备的。 |