彩燈控制器二課程設計報告
1. 音樂彩燈控制器課程設計
第一部分: 實驗總述
音樂彩燈控制器是用音樂信號控制多組顏色的彩燈,利用其亮度變化反映音樂信號的強弱.從而使燈的變化規律與音頻信號的規律及電平大小相對應,是一種將聽信號轉換為視信號的裝置.用來調節聽眾欣賞音樂時候的氣氛和情緒.
一.設計要求及技術指標
設計音樂彩燈控制器,要求將輸入音樂信號分為高,中,低三個頻段,並且分別控制三種顏色的彩燈.每組彩燈的亮度隨各自輸入音樂信號大小分為八個等級.輸入信號最大時,彩燈最亮.當輸入信號的幅度小於10mv時,要求彩燈全亮.主要技術指標如下:
基本部分:
(1) 高頻段 2000--4000HZ,控制黃燈
(2) 中頻短 500--1200HZ, 控制綠燈
(3) 低頻段 50--250HZ, 控制紅燈
(4) 電源電壓交流220V,輸入信號幅度>=10mv
發揮部分:
輸入信號幅度小於10mv時,彩燈亮暗閃爍
二.要求完成的任務
(1)計算參數,安裝調試設計的電路.
(2)畫出完整電路圖,寫出設計總結報告.
第二部分:實驗原理部分
(一).設計框圖及電路系統概述
設計框圖:
電路系統概述:
1.聲音信號要分為三個頻段,所以第一步要通過濾波器進行濾波,將音頻信號按要求分為三個頻段。
2.經過放大器把毫伏級的聲音信號放大為與比較信號可比的信號。由於直流信號才可比較,所以在進入比較器前先進行整流。
3.同步脈沖通過簡易的數模轉換產生階梯波,放大後的信號與其比較產生高低電平,再和同步脈沖相與產生個數不同的脈沖去觸發三極體,由觸發脈沖的個數決定彩燈的亮度。
4.如果音樂信號小於10mV,用比較器產生高電平使或門的輸出總為高電平,產生的高電平與1HZ的脈沖信號進行與,從而使燈亮暗閃爍。
(二).實驗電路結構與分塊電路原理
2. 彩燈控制器課程設計(匯編語言)
就是流水燈啊~~很簡單的~~你直接到網上收流水燈的程序就OK了。
3. 循環彩燈控制器的課程設計
1.本課題的研究意義本設計通過對彩燈的設計,訓練對電氣、單片機、電子技術等內容的應用能力,掌握對電子產品設計的流程以及各種要求。彩燈技術已廣泛得在霓虹燈、廣告彩燈、汽車車燈等領域中應用。單片機的控制電路的設計是彩燈應用的一個瓶頸。畢業設計主要培養學生綜合運用所學的知識與技能分析與解決問題的能力,並鞏固和擴大學生的課堂知識。通過畢業設計學會查閱、使用各種專業資料和網上資源,並以嚴肅認真、深入研究的工作作風完成設計任務,逐步向工程技術員轉變,培養畢業生獨立完成任務的能力,體現和檢驗綜合設計能力,大力提高畢業生的技術水平,培養新一代既有理論、又有動手能力的實用性人才,以適應國際建設和發展的需要。了解彩燈線路的基本理論,掌握單片機編程的基本設計方法和分析方法,對能夠熟練地進行彩燈應用電路的設計與製作是十分必要和重要的。2.本課題的基本內容該本本課題介紹一種基於在系統可編程器件(ISP)來實現的可編程的現代彩燈控制系統。該方案的優點是系統體積小、功耗小、可靠性高、調節靈活、多功能、多花案、使用靈活方便。該控制系統可控制的燈具數為64組,控制方案多達64種,能根據需要減少或擴展燈具組數和控制方案的種數,可以控制發光電壓至220V的大彩燈、霓虹燈。用8種頻率信號控制彩燈掃描速度,每次大循環下來可自動也可手動改變掃描速度,且每次循環後可控制語音集成電路放一段話或音樂,並可隨時改變掃描速度。通過把64組彩燈在空間適當排列組合,可得各種花案效果,該彩燈控制系統除用於高樓大廈室外點綴外,還可用於家庭、大酒店和娛樂場所等的室內裝潢。利用T0定時器作為定時基本單位,根據模式需要計算好各控制信號的發生時刻,根據不同的模式Mo del_i可以設定不同的工作時間Ti和脈沖翻轉頻率Fi通過P0口輸出,使各色L ED燈的驅動時刻與移位觸發的翻轉時刻步調一致,使LED彩燈按照設計的模式工作。除了T0定時中斷之外,程序的大部份時間是在處理按鍵的查詢和LED顯示的延時。畢 業 論 文 開 題 報 告3.本課題的重點和難點1、 彩燈要求發射頻率穩定,抗干擾能力強,亮度距離適中。2、 彩燈工作頻率同樣要求穩定。3、 單片機原理圖的設計,印刷板的設計布局及元器件參數的選擇。4、 為了使用方便、美觀,編輯程序簡單合理。 5、 單片機的介面設置合理。 4.論文提綱1. 緒論 1) 本課題的意義、目的、研究范圍及要達到的技術要求;2) 本課題在國內外的發展概況及存在的問題;3) 本課題的指導思想;闡述本課題應解決的主要問題。2.課題分析 1)設計依據 2)課題總體要求 3)設計要求 3.系統設計(硬體,軟體) 1)系統具體分析 2)設計原理圖 3)通過計算選擇元器件4)繪制印製板圖4.焊裝、調試、檢測5.結論6.參考文獻
4. 八路彩燈控制器的課程設計
時序電路出來的高低電平結合定時器控制燈,從中間向兩邊兩兩控制。用畫圖先好好想想啦。
思路而已,相信你是好學生。
5. 幫忙設計一個彩燈控制器的課程設計報告按下列要求 不盡感謝
http://..com/question/166128731.html?fr=uc_push
這個網址有回復。
好像你內已經容問過了。
6. 數電課程設計——彩燈控制器
我只能給你提供一個思路,畢竟別人咀嚼過的飯味道不怎麼好。呵呵,說笑。
首先,之前你必須做過數碼管0~9的顯示電路和10路流水燈電路(如果沒做過,趕緊先做,不然很難成功)
總體思路:用類似流水燈電路來觸發需要顯示的abcd二進制來控制0~9,讓它隨心所欲的顯示各種數字。(例如要顯示3,那麼abcd的電平應該是1100,如果要顯示8,那麼abcd的電平應該是0010,以此類推)
一共是28個數,建議用兩片cd4017(10進制晶元),組成一個28路流水燈電路(可以沒有燈,這樣說只是為了便於理解。只是需要其28路的觸發)
然後用一片cd4511(七段解碼晶元),它有abcd四個二進制輸入埠和七段埠(用來顯示數碼管的七個段位,小數點除外)
最後用28路的觸發端接入abcd的埠,用二極體隔開,然後你就可以隨心所欲的設置各種數字了,100個1000個(如果1000個就還需加個cd4017)沒有任何規律的數字組合都可以顯示。
至於開機復位很簡單,4017的復位端接個電容(電容的另一端接VCC),開機復位就OK了,而4511無需復位(因為4511是受4017控制)。
已經很詳細了,希望對你有用。
是否可以解決您的問題?
打字不易,如滿意,望採納。
7. EDA課程設計:彩燈控制器
以前做的設計,粘貼時圖形沒出來,參考一下,記得給分啊
一.設計目的
1、學習EDA開發軟體和MAX+plus Ⅱ的使用方法,熟悉可編程邏輯器件的使用,通過製作來了解彩燈控制系統。
2、進一步掌握數字電路課程所學的知識。
3、了解數字電路設計的一般思路,進一步解決和分析問題。
4、培養自己的編程和謹慎的學習態度
二、.設計題目內容和要求
(1)課題內容:
用EDA技術設計一個彩燈控制器,使彩燈(LED管)能連續發出三種以上不同的花型(自擬);
隨著彩燈顯示圖案的變化,發出不同的音響聲。
要求使用7段數碼管顯示當前顯示的花型,如第一種花型顯示A1,第二種花型顯示b2,第三種花型顯示C3
(2)主要任務:完成該系統的硬體和軟體的設計,並利用實驗箱製作出實物演示,調試好後並能實際運用(指導教師提供製作所需的器件),最後就課程設計本身提交一篇課程設計報告。
三、總體方案設計與選擇
1 總體方案的設計
方案一:電路分為三個部分:彩燈花型模塊、聲音模塊,時鍾模塊。用時鍾控制聲音和花型,整體使用相同的變數與信號,主體框圖如下;
圖三—1-1方案一的的流程圖
方案二:電路分為五個模塊:分頻器模塊、16進制計數器、4進制計數器,4選1選擇器、彩燈控制器。其中彩燈控制器是用來輸出不同的花樣,彩燈控制器的輸出則是用一個16進制的計數器來控制,揚聲器的輸出時用不同的頻率來控制,所以用了一個集成分頻器來使輸入的頻率被分為幾種不同的頻率,不同頻率的選擇性的輸出則是用一個4選一的選擇器來控制。整體框圖如下:
圖三—1-2方案二的流程圖
2、方案的選擇
方案一是將融合在一起,原理思路簡單,元件種類使用少,但是在編程時要使用同一變數和信號,這樣就會給編程帶來很大的困難,另外中間單元連線較多,不容易檢查,門電路使用較多,電路的抗干擾能力會下降。
方案二將彩燈花型控制與聲音控制分開,各單元電路只實現一種功能,電路設計模塊化,且編程時將工作量分開,出現錯誤時較容易檢查,連線較少且容易組裝和調試。
結合兩個方案的優缺點,我選擇容易編程、組裝和調試的方案二。
四、模塊電路的設計
1、分頻器模塊
設計要求顯示不同的彩燈的時候要伴隨不同的音樂,所以設計分頻器來用不同的頻率控制不同的音樂輸出。
模塊說明:
Rst:輸入信號 復位信號 用來復位分頻器的輸出使輸出為「0」,及沒有音樂輸出。
Clk:輸入信號 模塊的功能即為分頻輸入的頻率信號。
Clk_4、clk8、clk_12、clk_16:輸出信號 即為分頻模塊對輸入信號clk的分頻,分別為1/4分頻輸出、1/8分頻輸出、1/12分頻輸出、1/16分頻輸出。不同的頻率會發出不同的聲音。如圖
圖四-1分頻器電路圖
2、16進制計數器
16進制模塊用來控制彩燈輸出模塊,即確定彩燈控制器的不同的輸出。
Rst:輸入信號 復位信號 用來復位16進制使其輸出為「00000」,即彩燈不亮。
Clk1:輸入信號 用來給模塊提供工作頻率。
Count_out[3..0]:輸出信號 即為16進制計數器的輸出,此輸出信號作為彩燈的輸入信號。
如圖四-2
圖四-2 16進制計數器電路圖
3、4進制計數器模塊
4進制計數器作為選擇器的輸入來控制選擇器選擇不同的頻率作為輸出控制揚聲器工作。
Clk2:輸入信號 來為計數器提供工作頻率。
Rst:輸入信號 復位信號 使計數器的輸出為「00」。
如圖四-3
圖四-3 4進制計數器電路圖
4、4選1選擇器模塊
Rst:輸入信號復位信號使選擇器的輸出為「0」。
In1、in2、in3、in4:輸入信號接分頻器的輸出。
Inp[1..0]:輸入信號接4進制計數器的輸出用來控制選擇器的選擇不同的輸入選擇不同的輸出。
Output2:輸出信號直接接揚聲器即輸出的是不同的頻率來控制揚聲器播放聲音
如圖四—4
圖四—4 4選1選擇器電路圖
5、彩燈控制模塊
彩燈控制採用的模式6來進行顯示。
圖四—5—1模式6結構圖
彩燈控制模塊用來直接控制彩燈的輸出,使彩燈表現出不同的花樣。
Rst:輸入信號 使彩燈控制模塊的輸出為「00000000」,即讓彩燈無輸出。
Input[4..0]:輸入信號 不同的輸入使彩燈控制模塊有不同的輸出即彩燈顯示出不同的花樣。
Output3[7..0]:輸出信號 直接與數碼管相連來控制數碼管。
如圖四—5—2
圖四-5-2 彩燈控制電路圖
五、EDA設計與模擬
1、源程序:
----------------------------------------------分頻器模塊-----------------------------------------
LIBRARYieee;
USEieee.std_logic_1164.all;
ENTITYfenpinqi IS
PORT
(
clk2,rst :IN std_logic;
clk_12,clk_4,clk_16,clk_8 : OUT std_logic
);
ENDfenpinqi;
ARCHITECTUREcd OF fenpinqi IS
begin
p1:process(clk2,rst)
variable a:integer range 0 to 20;
begin
if rst='1' then
clk_4<='0'; ----- 復位信號控制部分
else
if clk2'event and clk2='1'then
if a>=3 then
a:=0;
clk_4<='1';
else
a:=a+1;
clk_4<='0';
end if;
end if;
end if;
endprocess p1;
p2:process(clk2,rst)
variable b:integer range 0 to 20;
begin
if rst='1' then
clk_16<='0'; ----- 復位信號控制部分
else
if clk2'event and clk2='1'then
if b>=15 then
b:=0;
clk_16<='1';
else
b:=b+1;
clk_16<='0';
end if;
end if;
end if;
endprocess p2;
p3:process(clk2,rst)
variable c:integer range 0 to 20;
begin
if rst='1' then
clk_8<='0'; ----- 復位信號控制部分
else
if clk2'event and clk2='1'then
if c>=7 then
c:=0;
clk_8<='1';
else
c:=c+1;
clk_8<='0';
end if;
end if;
end if;
endprocess p3;
p4:process(clk2,rst)
variable d:integer range 0 to 40;
begin
if rst='1' then
clk_12<='0'; ----- 復位信號控制部分
else
if clk2'event and clk2='1'then
if d>=11 then
d:=0;
clk_12<='1';
else
d:=d+1;
clk_12<='0';
end if;
end if;
end if;
endprocess p4;
endcd;
----------------------------------------------4選1選擇器---------------------------------------
LIBRARYieee;
USEieee.std_logic_1164.all;
ENTITYxzq4_1 IS
PORT
(
rst:in std_logic;
inp:in integer range 0 to 3;
in1,in2,in3,in4 : In std_logic;
output2 :OUT std_logic
);
ENDxzq4_1;
ARCHITECTUREa OF xzq4_1 IS
BEGIN
PROCESS (rst,inp)
BEGIN
if(rst='1') then output2<='0';
else
case inp is
when 0=>output2<=in1;
when 1=>output2<=in2;
when 2=>output2<=in3;
when 3=>output2<=in4;
when others=>null;
end case;
end if;
END PROCESS;
ENDa;
-------------------------------------------彩燈控制模塊----------------------------------------
LIBRARYieee;
USEieee.std_logic_1164.all;
ENTITYcaideng IS
PORT
(
input :
IN INTEGER RANGE
0 TO 15;
rst:in std_logic;
output3 :OUT std_logic_vector(7 downto 0);
sm :out std_logic_vector(6 downto 0)
);
ENDcaideng;
ARCHITECTUREa OF caideng IS
BEGIN
PROCESS (input)
BEGIN
if rst='1' thenoutput3<="00000000";sm<="0000000";
else
case input is
when 0=>output3<="00111000";sm<="0000110";
when1=>output3<="00001111";sm<="0000110";
when2=>output3<="00111110";sm<="0000110";
when3=>output3<="01111111";sm<="0000110";
when4=>output3<="01011011";sm<="1011011";
when5=>output3<="01110110";sm<="1011011";
when6=>output3<="00001111";sm<="1011011";
when7=>output3<="01111111";sm<="1011011";
when8=>output3<="01101101";sm<="1001111";
when9=>output3<="00000111";sm<="1001111";
when10=>output3<="01110111";sm<="1001111";
when11=>output3<="01111011";sm<="1001111";
when12=>output3<="00111000";sm<="1100110";
when13=>output3<="00111111";sm<="1100110";
when14=>output3<="00111110";sm<="1100110";
when 15=>output3<="01111001";sm<="1100110";
when others=>null;
end case;
end if;
end process;
end a;
--------------------------------------------16進制計數器模塊-----------------------------------
LIBRARYieee;
USEieee.std_logic_1164.all;
ENTITYcounter_16 IS
PORT
(
clk,rst :IN std_logic;
count_out :
OUT INTEGER RANGE
0 TO 15);
ENDcounter_16;
ARCHITECTUREa OF counter_16 IS
BEGIN
PROCESS (rst,clk)
variable temp:integer range 0 to 16;
BEGIN
IF rst='1' THEN
temp:=0;
ELSIF (clk'event and clk='1') THEN
temp:=temp+1;
if(temp=15) then
temp:=0;
end if;
END IF;
count_out<=temp;
END PROCESS;
ENDa;
-------------------------------4進制計數器模塊----------------------------------
LIBRARYieee;
USEieee.std_logic_1164.all;
ENTITYcounter_4 IS
PORT
(
clk,rst :IN std_logic;
count_out :OUT integer range 0 to 3 );
ENDcounter_4;
ARCHITECTUREa OF counter_4 IS
BEGIN
PROCESS (rst,clk)
variable temp:integer range 0 to 16;
BEGIN
IF rst='1' THEN
temp:=0;
ELSIF (clk'event and clk='1') THEN
temp:=temp+1;
if(temp=4) then
temp:=0;
end if;
END IF;
count_out<=temp;
END PROCESS;
ENDa;
-------------------------------------------主程序----------------------------------
LIBRARYieee;
USEieee.std_logic_1164.all;
ENTITYproject IS
PORT (clk1,rst,clk2: IN std_logic;
Out1: OUT std_logic_vector(7 downto 0);
Out2 :out std_logic_vector(6 downto0);
Out3: OUT std_logic);
ENDproject;
ARCHITECTUREstruct OF project IS
COMPONENT counter_16 IS
PORT(clk,rst : IN std_logic;
count_out : OUT integer range 0 to 15 );
ENDCOMPONENT;
COMPONENT fenpinqi IS
PORT(clk2,rst : IN std_logic;
clk_12,clk_4,clk_16,clk_8 : OUT std_logic);
END COMPONENT ;
COMPONENT counter_4 IS
PORT(clk,rst :IN std_logic;
count_out :OUT integer range 0 to 3 );
ENDCOMPONENT;
COMPONENT xzq4_1 IS
PORT
(
rst:in std_logic;
inp:in integer range 0 to 3;
in1,in2,in3,in4 : In std_logic;
output2 :OUT std_logic
);
ENDCOMPONENT;
COMPONENT caideng IS
PORT
(
input: IN INTEGER RANGE 0 TO 15;
rst:in std_logic;
output3 :OUT std_logic_vector(7 downto 0);
sm :out std_logic_vector(6 downto 0)
);
ENDCOMPONENT;
SIGNALu: integer range 0 to 15;
SIGNALw: integer range 0 to 3;
SIGNALv1,v2,v3,v4: std_logic;
BEGIN
U1:counter_16PORT MAP(clk1,rst,u);
U2:fenpinqiPORT MAP(clk2,rst, v1,v2,v3,v4);
U3:counter_4PORT MAP(v3,rst,w);
U4:xzq4_1 PORT MAP(rst,w, v1,v2,v3,v4,out3);
U5:caidengPORT MAP(u,rst,out1,out2);
ENDstruct;
2、彩燈控制器模擬結果及數據分析
分析:如上圖,clk1控制的是彩燈模塊,clk2控制的是聲音模塊,當rst為高電平是輸出全為0,ck1每出現四個高電平,花型發生一次變化,out2分別顯示1、2、3、4,out1顯示不同的花型,out3發出聲音,如圖脈沖數不同表示發出的聲音不同,但是聲音與花型相比有一定的延遲。
六、硬體實現
1、引腳鎖定圖
2、硬體模擬圖
顯示第一組花型之一
顯示第二組花型之一
顯示第三組花型之一
顯示的第四組花型之一
七、總體電路
整個系統就是各個分模塊組成來實現最後的彩燈控制功能,系統又兩個時鍾來控制一個是控制16進制計數器即控制彩燈控制模塊來實現彩燈的不同輸出,另一個時鍾為分頻器的輸入來進行分頻處理,最後用來控制揚聲器發出不同的音樂,為了使效果明顯盡量達到要求分頻處理的時鍾的頻率比實現彩燈控制的時鍾頻率要高。
將各個模塊連在一起採用在課程中學到的元件例化,將各個模塊的引腳連在一起,使之成為一個整體。元件例化是VHDL設計實體構自上而下層次化設計的重要途徑。整體電路如圖五—1
圖七—1 整體電路圖
八、心得體會
1、在設計時遇到一些主要問題如下:怎麼將各個模塊連在一起、開始硬體模擬時總是出現錯誤,設計方案的選擇。最後我選擇了元件例化將各個模塊連在一起,模擬時是因為短路帽接錯了,當時沒有注意,在方案的選擇時我們選了實現比較簡單的分模塊方案
2、這次的EDA課程設計我學到得東西很多明白了理論與實踐之間的差距,而且對DEA課程有了更深入的理解,尤其是知道了怎麼去應用所學的知識,怎麼去利用網路實現自己的要求,具體體會如下:
(1)要想完成編程就要對DEA知識很熟悉,這樣才能加快編程的速度,另外在編程時一定要小心,稍微有一點粗心都會有很多的錯誤出現,在出現錯誤後要學會尋找錯誤原因如名稱前後不一、數據類型不同、符號寫錯等等
(2)拿道題目後要注意分析,要學會總體把握,然後再一一一細化、學會將復雜的問題簡單化,分析時一定要有一個明確的目標。
(3)要學會理論聯系實際,在程序導入到實驗箱後,居然不顯示結果,認真的檢查看看操作是否有錯誤、試驗箱中該短路的是否已用短路帽短路、又重新檢查了一下程序,結果發現是短路帽接錯了,所以看似很簡單的操作自己操作起來可能會有很大的漏洞,所以親自動手是很重要的。
(4)當自己的只是有限時,要注意運用網路等一切資源,要學會知識的靈活運用在查閱的過程中學到了很多在書本所沒有學到的知識,通過查閱相關資料進一步加深了對EDA的了解
總的來說,通過這次課程設計不僅鍛煉了我們的動手和動腦能力,也使我懂得了理論與實際相結合的重要性,只有理論知識是遠遠不夠的,要把所學的理論知識與實踐相結合起來,才能提高自己的實際動手能力和獨立思考的能力。還有最重要的一點就是要有一絲不苟的精神和端正認真的態度,遇到困難後要學會積極的面對。
3、在此設計中聲音會有一定的延遲,可以考慮用花型輸出信號作為4選1的控制信號
九、參考書目:
趙偉軍,《Protel99se教程》,北京,人民郵電出版社,1996年
金西,《VHDL與復雜數字系統設計》,西安,西安電子科技大學出版社,2003
漢澤西,《EDA技術及其應用》,北京,北京航空航天大學出版社,2004
[4] 黃任,《VHDL入門.解惑.經典實例.經驗總結》,北京,北京航空航天大學出版社,2005
[5] 李洋,《EDA技術 使用教程》,北京,機械工業出版社,2009
[6] 網路資源:EDA課程設計、EDA課程設計—彩燈控制器等