英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

标题: PIC 16F676制作隨聲頻聲幅變化的彩燈 [打印本页]

作者: winnie    时间: 2009-3-8 11:46
标题: PIC 16F676制作隨聲頻聲幅變化的彩燈
一、電路原理
電路原理見附圖。發光二极管Ll~L4顯示聲音的頻率。當聲頻為低、中、高、特高時,分別點亮Ll-L4。若無聲,L1-L4均熄滅。
聲音幅度顯示在L5~L7上。3只發光管在無聲時以15秒為周期循環點亮,即每只發光管依次點亮5秒。當有聲時,循環點亮周期減少,聲越大周期越短。

IC2為PICl6F676單片机,主時鐘采用內部的自帶4MHz振蕩器。IC2的?腳為計數輸入.把ICl放大的聲音信號經R4、vl送入該腳。在單位時間里,IC2計數越多.表示聲頻越高,反之,聲頻就低。同時.聲音經Dl檢波,C2、R3積分,在IC2的?腳得到的電壓便可反映出聲幅的大小。此電壓經單片机內部A∕D轉換成數据處理后,去改變L5~L7的循環點亮周期。

由于IC2的?腳只需要聲音的上半周,所以,用于將駐极体話筒MIC的信號放大的運放ICl在電路設計時,只放大上半周聲音信號。為了使ICl的?腳在無信號時.能有O.6V電壓,以便給D1一個起始導通電壓,所以加入了D2。這樣,小信號時,Ic2的?腳也能采集到信號電壓。

二、編程思路

TMRl為計時器。TMR0在TMRl計時時,開始對Ic2的?腳計數,所計值多少.反映出聲頻的高低。L5一L7依次點亮的時間用軟件查詢,查詢次數又受控于A∕D值的大小。為增強L5一L7點亮的動感,在程序中還插入一段程序。用于判別目前A,D值与前一次A∕D值的大小。若值大,則將下一個燈點亮,并讓軟件查詢重新開始。

三、調試步驟

在确保lC2外圍電路正常后,通電几十秒,保持外界無聲音,將圖中的"調試點"短路,讓IC2复位腳与CND短路一下,此時.Ll~L4全部點亮;拆除"調試點"短路.重新上電,調試完成。以上調試過程,是讓IC2記住在無信號時其?腳的電壓值.并將此值存進內部的EEPROM中,以后IC2所測的A∕D值都將減去該電壓值后才去進行數据處理。

四、視听感受

Ll~L4采用超高亮發光二极管,顏色分別為白、紅、綠、藍。L5~L7只為了調試時用.所以顏色可隨便選擇。RLl~RL3為彩燈串,將彩燈串擺成"T"字形,讓音樂響起.超高亮發光二极管照在室內的白色牆面上,其顏色隨音樂節奏而變,很有動感;3串彩燈隨音樂相互追逐,很好看。如果亮度不夠,可以增加几個。附圖中采用4只三极管作射隨,就是為增加發光二极管准備的。






欢迎光临 英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 (http://www.enroobbs.com/) Powered by Discuz! X3.2