音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

基于VHDL實現(xiàn)多路彩燈控制器設(shè)計應(yīng)用

出處:ljq200 發(fā)布于:2009-02-02 09:53:25

  一、多路彩燈控制器設(shè)計原理

  設(shè)計一個彩燈控制程序器??梢詫崿F(xiàn)四種花型循環(huán)變化,有復(fù)位開關(guān)。整個系統(tǒng)共有三個輸入信號CLK,RST,SelMode,八個輸出信號控制八個彩燈。時鐘信號CLK脈沖由系統(tǒng)的晶振產(chǎn)生。各種不同花樣彩燈的變換由SelMode控制.硬件電路的設(shè)計要求在彩燈的前端加74373鎖存器。用來對彩燈進(jìn)行鎖存控制。此彩燈控制系統(tǒng)設(shè)定有四種花樣變化,這四種花樣可以進(jìn)行切換,四種花樣分別為:

  (1)彩燈從左到右逐次閃亮。然后從右到左逐次熄滅。

  (2)彩燈兩邊同時亮兩個,然后逐次向中間點亮。

  (3)彩燈從左到右兩個兩個點亮,然后從右到左兩個兩個逐次點亮。

  (4)彩燈中間兩個點亮。然后同時向兩邊散開。

  二、多路彩燈控制器的VHDL的實現(xiàn)

  本控制電路采用VHDL語言設(shè)計。運用自頂而下的設(shè)計思想,按功能逐層分割實現(xiàn)層次化設(shè)計。根據(jù)多路彩燈控制器的設(shè)計原理,將整個控制器分為四個部分,分別對應(yīng)彩燈的四種變化模式、利用VHDL語言實現(xiàn)該功能程序如下:

  LIBRARY IEEE;

  USE IEEE.std_logic_1164.ALL;

  USE IEEE.std_loglc_ARITH.ALL;

  USE IEEE.std_logic_UNSIGNED.ALL;

  ENTITY CaiDeng IS

  port(CLK:IN std_logic;

  RST:in std_logic;

  SelMode:in std_logic_vector(1 downto 0);--彩燈花樣控制

  Light:out std_logic_vector(7 downto 0));

  END CaiDeng;

  ARCHITECTURE control OF CaiDeng IS

  SIGNAL clk1ms:std_logic:='0';

  SIGNAL cnt1:std_logic_vector(3 downto 0):="0000";

  SIGNAL ent2:std_logic_vector(1 downto 0):="00";

  SIGNAL cnt3:std_logic_vector(3 downto 0):="0000";

  SIGNAL cnt4:std_logic_vector(1 downto 0):="00";

  BEGIN

  P1:PR0CESS(clk1ms)

  BEGIN

  if(clk1ms'EVENT AND clk1ms='1')then

  if selmode="00" then --種彩燈花樣的程序

  if cnt1="1111" then

  cnt1<="0000";

  else cnt1<= cnt1+1;

  end if;

  case cnt1 is

  when "0000"=>light<="10000000";

  when "0001"=>light<="11000000";

  when "0010"=>light<="11100000";

  when "0011"=>light<="11110000";

  when "0100"=>light<="11111000";

  when "0101"=>light<="11111100";

  when "0110"=>light<="11111110";

  when "0111"=>light<="11111111";

  when "1000"=>light<="11111110";

  when "1001"=>light<="11111100";

  when "1010"=>light<="11111000";

  when "1011"=>light<="11110000";

  when "1100"=>light<="11100000";

  when "1101"=>light<="11000000";

  when "1110"=>light<="10000000";

  when others=>light<="00000000";

  end case;

  elsif selmode="01" then -- 第二種彩燈花樣的程序

  if cnt2="11" then

  cnt2<="00";

  else cnt2<= cnt2+1;

  end if;

  case cnt2 is

  when "00"=>light<="10000001";

  when "01"=>light<="11000011";

  when "10"=>light<="11100111";

  when "11"=>light<="11111111";

  when others=>light<="00000000";

  end ease;

  elsif selmode="10" then --第三種彩燈花樣的程序

  if cnt3="1111" then

  cnt3<="0000";

  else cnt3<=cnt3+1;

  end if;

  case cnt3 is

  when "0000"=>light<="11000000";

  when "0001"=>light<="01100000";

  when "0010"=>light<="00110000";

  when "0011"=>light<="00011000";

  when "0100"=>light<="00001100";

  when "0101"=>light<="00000110";

  when "0110"=>light<="00000011";

  when "0111"=>light<="00000110";

  when "1000"=>light<="00001100";

  when "1001"=>light<="00011000";

  when "1010"=>light<="00110000";

  when "1011"=>light<="01100000";

  when "1100"=>light<="11000000";

  when others=>light<="00000000";

  end case;

  elsif selmode="11" then -- 第四種彩燈花樣的程序

  if cnt4="11" then

  cnt4<="00";

  else cnt4<= cnt4+1;

  end if;

  case cnt4 is

  when "00"=>light<="00011000";

  when "01"=>light<="00111100";

  when "10"=>light<="01111110";

  when "11"=>light<="11111111";

  when others=>light<="00000000";

  end ease;

  end if;

  end if;

  END PROCESS P1;

  P2:PROCESS(clk) --分頻進(jìn)程

  variable cnt:integer range 0 to 1000;

  BEGIN

  IF(RST='0')then

  cnt:=0:

  ELSIF(clk'EVENT AND clk='1')then

  if cnt<999 then

  cnt:=cnt+1;

  clk1ms<='0';

  else

  cnt:=0;

  clk1ms<='1';

  end if;

  end if;

  end PROCESS P2;

  end control;

  三、功能仿真及驗證

  各模塊VHDL程序經(jīng)過編譯優(yōu)化后,選擇合適的目標(biāo)芯片進(jìn)行綜合、管腳配置。本電路選用ALTERA公司的可編程邏輯芯片EPM7128SLC84-6,由MAX+Plus II進(jìn)行仿真,從仿真波形可以看出,此程序可以實現(xiàn)四種不同花樣彩燈的相互變換,每種花樣彩燈可以循環(huán)變化。但是如果系統(tǒng)的固有頻率很大,彩燈的閃爍速度非???,看到的現(xiàn)象是每個花樣的八個彩燈同時被點亮,為了實現(xiàn)絢麗多彩的景象,必須要在程序中加一個分頻進(jìn)程如上述程序的進(jìn)程P2。

  四、結(jié)束語

  本次設(shè)計的程序已經(jīng)在硬件系統(tǒng)上得到了驗證,實驗表明。此設(shè)計方法能夠滿足四種不同花樣彩燈的變化要求,并且該方法便于擴(kuò)展不同變化模式的彩燈花樣,各個不同花樣的相互轉(zhuǎn)變是手動切換實現(xiàn)的。自動切換的方法筆者不再累述。

  歡迎轉(zhuǎn)載,信息來源維庫電子市場網(wǎng)(m.58mhw.cn



  
關(guān)鍵詞:基于VHDL實現(xiàn)多路彩燈控制器設(shè)計應(yīng)用EPM7128SLC84-6VHDL燈控制器

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!