基于數(shù)碼管顯示的彩燈控制器.docx_第1頁(yè)
基于數(shù)碼管顯示的彩燈控制器.docx_第2頁(yè)
基于數(shù)碼管顯示的彩燈控制器.docx_第3頁(yè)
基于數(shù)碼管顯示的彩燈控制器.docx_第4頁(yè)
基于數(shù)碼管顯示的彩燈控制器.docx_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

eda原理及應(yīng)用課程設(shè)計(jì)報(bào)告 課題名稱: 基于數(shù)碼管顯示的彩燈控制器 院 系: 機(jī)電工程學(xué)院 專 業(yè): 電子信息工程 學(xué)生姓名: 陳納爽 學(xué)生學(xué)號(hào): 201033285123 彩燈及數(shù)碼管顯示控制摘 要隨著科技的發(fā)展 , 在現(xiàn)代生活中, 彩燈作為一種景觀應(yīng)用越來(lái)越多。而在電子電路設(shè)計(jì)領(lǐng)域中,電子設(shè)計(jì)自動(dòng)化(eda)工具已成為主要的設(shè)計(jì)手段,vhdl語(yǔ)言則是eda的關(guān)鍵技術(shù)之一,它采用自頂向下的設(shè)計(jì)方法,即從系統(tǒng)總體要求出發(fā),自上至下地將設(shè)計(jì)任務(wù)分解為不同的功能模塊,最后將各功能模塊連接形成頂層模塊,完成系統(tǒng)硬件的整體設(shè)計(jì)。本文介紹了基于eda技的多路彩燈控制器的設(shè)計(jì)與分析。在max+plusii環(huán)境下采用vhdl語(yǔ)言實(shí)現(xiàn),論述了基于vhdl語(yǔ)言和fpga芯片的數(shù)字系統(tǒng)設(shè)計(jì)思想和實(shí)現(xiàn)過(guò)程。電子設(shè)計(jì)自動(dòng)化技術(shù)eda的發(fā)展給電子系統(tǒng)的設(shè)計(jì)帶來(lái)了革命性的變化,eda軟件設(shè)計(jì)工具,硬件描述語(yǔ)言,可編程邏輯器件使得eda技術(shù)的應(yīng)用走向普及。fpga是新型的可編程邏輯器件,采用fpga進(jìn)行產(chǎn)品開(kāi)發(fā)可以靈活地進(jìn)行模塊配置,大大縮短了產(chǎn)品開(kāi)發(fā)周期,也有利于產(chǎn)品向小型化,集成化的方向發(fā)展。關(guān)鍵詞: vhdl 彩燈 仿真1、概述1.1、設(shè)計(jì)目的:設(shè)計(jì)一個(gè)彩燈控制器,使彩燈(led管)可以實(shí)現(xiàn)彩燈逐漸增多及兩種不同頻率的閃爍,有復(fù)位開(kāi)關(guān)。整個(gè)系統(tǒng)有四個(gè)輸入信號(hào)clk,option,fan,clr,三個(gè)輸出信號(hào)控制倆個(gè)八路彩燈及數(shù)碼管顯示。option的高低電平控制彩燈閃爍的快慢,fan的高低電平控制彩燈的逐漸增多減少。1.2、設(shè)計(jì)要求:u 掌握f(shuō)pga 的程序設(shè)計(jì)方法。 u 掌握硬件描述語(yǔ)言語(yǔ)法。 u 程序設(shè)計(jì)完成后要求在軟件中實(shí)現(xiàn)功能仿真。2、系統(tǒng)設(shè)計(jì)2.1、設(shè)計(jì)原理:整個(gè)系統(tǒng)共有四個(gè)輸入信號(hào):基準(zhǔn)時(shí)鐘信號(hào)clk,系統(tǒng)清零信號(hào)(復(fù)位信號(hào))clr,彩燈節(jié)奏快慢選擇開(kāi)關(guān)option;共有3個(gè)輸出信號(hào)ledout7.0,shuguan6.0,doubleled7.0,分別用于控制彩燈及數(shù)碼管的顯示。據(jù)此,我們可將整個(gè)彩燈控制器cdkzq分為四大部分:彩燈花樣控制部分、分頻部分、定時(shí)部分和計(jì)數(shù)部分。當(dāng)各個(gè)模塊均完成上述操作之后,形成最后的彩燈顯示系統(tǒng),并且進(jìn)行仿真。仿真通過(guò),即可下載到指定的fpga芯片里面,并進(jìn)行實(shí)際連線,進(jìn)行最后的硬件測(cè)試。把分頻部分的不同頻率的時(shí)鐘信號(hào)cp輸送到計(jì)數(shù)部分 ,從而控制彩燈閃爍速度的快慢 ,定時(shí)部分控制每種速度維持的時(shí)間長(zhǎng)短。原理圖模塊原理圖管腳圖22、設(shè)計(jì)方案:在電路中以 1 代表燈亮,以 0 代表燈滅,由 0、1按不同的規(guī)律組合代表不同的燈光圖案,同時(shí)使其選擇不同的頻率,從而實(shí)現(xiàn)多種圖案多種頻率的花樣功能顯示。在該電路中只需簡(jiǎn)單的修改程序就可以靈活地調(diào)整彩燈圖案和變化方式。下面就以一個(gè)彩燈控制系統(tǒng)的實(shí)現(xiàn)為例進(jìn)行簡(jiǎn)單說(shuō)明。此彩燈控制系統(tǒng)設(shè)定有兩種花樣變化 。彩燈圖案狀態(tài)變換的速度有快、慢兩種。3、程序仿真圖start compilation先編譯generate functional simulation netlist然后生成功能仿真網(wǎng)絡(luò)表assignmentssettingsimulation setting設(shè)置成功能仿真然后新建一個(gè)vector waveform file 通過(guò)viewutility windows-node finder 把輸入輸出管腳添加進(jìn)波形仿真圖里 點(diǎn)擊start simulation得到仿真圖waveform1:4、實(shí)驗(yàn)結(jié)果分析實(shí)驗(yàn)表明 ,此設(shè)計(jì)方法能夠滿足多種不同花樣彩燈的變化要求 ,并且該方法便于擴(kuò)展不同變化模式的彩燈花樣,同時(shí)又實(shí)現(xiàn)了彩燈的兩種不同頻率的閃爍。如果不按任何按鍵時(shí)候,燈就按四種花樣順序循環(huán)跑,如果按下某個(gè)鍵再松開(kāi),比如按下c鍵然后松開(kāi),那么不管之前燈跑到哪個(gè)花樣,按鍵后燈就會(huì)從c代表的花樣處開(kāi)始跑,然后是d花樣,然后是a花樣,依次循環(huán)。但是a,b,c,d認(rèn)為是按下會(huì)彈起的按鍵,因?yàn)檫@個(gè)程序里,如果一直按著按鍵不松手,會(huì)導(dǎo)致燈只是反復(fù)跑一個(gè)花樣。比如按著b鍵不松手,那么就會(huì)反復(fù)跑b花樣。還有不能允許同時(shí)按下兩個(gè)鍵,三個(gè)鍵,4個(gè)鍵,也就是說(shuō),同一時(shí)刻abcd只能有一個(gè)是高電平,否則會(huì)出錯(cuò),因?yàn)檫@個(gè)程序并沒(méi)有防錯(cuò)機(jī)制。5、心得體會(huì)本次設(shè)計(jì)的課題是彩燈控制器的設(shè)計(jì),當(dāng)拿到這個(gè)課題的時(shí)候經(jīng)過(guò)分析就知道關(guān)鍵是計(jì)數(shù)器和分頻器的使用,分頻的方法有很多種,對(duì)于同一種功能的實(shí)現(xiàn),用vhdl可以采用多種方式進(jìn)行描述,每種方式之間各有優(yōu)劣,本次設(shè)計(jì)只采用了其中較簡(jiǎn)單的一種,應(yīng)盡量用最簡(jiǎn)潔的語(yǔ)言寫出所需功能的程序。通過(guò)這次課程設(shè)計(jì)對(duì)技術(shù)有了更進(jìn)一步的熟悉,vhdl語(yǔ)言和語(yǔ)言等其他語(yǔ)言還是有很大的區(qū)別。vhdl是eda技術(shù)的重要組成部分,其具有與具體硬件電路無(wú)關(guān)和與設(shè)計(jì)平臺(tái)無(wú)關(guān)的特性,并且具有良好的電路行為描述和系統(tǒng)描述的能力,并在語(yǔ)言易讀性和層次化、結(jié)構(gòu)化設(shè)計(jì)方面,表現(xiàn)了強(qiáng)大的生命力和應(yīng)用潛力。其主要的也是最大的優(yōu)點(diǎn)就在于設(shè)計(jì)者可以專心致力于其功能的實(shí)現(xiàn),而不需要對(duì)不影響功能的與工藝有關(guān)的因素花費(fèi)過(guò)多的時(shí)間和精力。在實(shí)際操作中發(fā)現(xiàn)設(shè)計(jì)和課本上的知識(shí)有很大聯(lián)系,但又高于課本,一個(gè)簡(jiǎn)單的原理要把它應(yīng)用以及和其他功能綜合起來(lái)就有些困難。通過(guò)設(shè)計(jì)也鞏固了我們的書(shū)本知識(shí)以及通過(guò)借閱書(shū)籍和上網(wǎng)查找資料,也豐富了自己對(duì)的了解。6、致謝7、參考文獻(xiàn)1 周潤(rùn)景.基于quartus的fpga/cpld數(shù)字系統(tǒng)設(shè)計(jì)實(shí)例m.電子工業(yè)出版社.2007,82 潘松 黃繼業(yè). eda技術(shù)實(shí)用教程(第二版).北京:科學(xué)出版社,2006.93 林明權(quán) 馬維旻 vhdl數(shù)字控制系統(tǒng)設(shè)計(jì)范例.電子工業(yè)出版社2003,14 褚振勇. fpga設(shè)計(jì)及應(yīng)用(第三版)m.西安電子科技大學(xué)出版社.2012,48、附錄彩燈顯示控制器的源程序library ieee;use ieee.std_logic_1164.all; use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;- uncomment the following library declaration if instantiating- any xilinx primitives in this code.-library unisim;-use unisim.vcomponents.all;entity colorled is port ( clk : in std_logic; clr : in std_logic; option : in std_logic; fan:in std_logic; ledout:out std_logic_vector(7 downto 0); shuma:out std_logic_vector(6 downto 0); doubleled:out std_logic_vector(7 downto 0);end colorled;architecture rtl of colorled iscomponent timer isport( clk : in std_logic; clr : in std_logic;option : in std_logic;fan:in std_logic;fanout:out std_logic;clkout : out std_logic);end component timer;component shower isport( clk : in std_logic; clr : in std_logic;fanin:in std_logic;ledout:out std_logic_vector (7 downto 0);shuma:out std_logic_vector(6 downto 0);doubleled:out std_logic_vector(7 downto 0);end component shower;signal clk_tmp:std_logic;signal fan_tmp:std_logic;beginu1:timer port map(clk,clr,option,fan,fan_tmp,clk_tmp);u2:shower port map(clk_tmp,clr,fan_tmp,ledout,shuma,doubleled);end rtl;以上為頂層文件代碼以下為分頻計(jì)數(shù)模塊及彩燈顯示控制模塊的代碼library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;- uncomment the following library declaration if instantiating- any xilinx primitives in this code.-library unisim;-use unisim.vcomponents.all;entity timer is port ( clk : in std_logic;-時(shí)鐘 clr : in std_logic;-復(fù)位 fan:in std_logic; fanout:out std_logic; option : in std_logic;-快慢分頻 clkout : out std_logic);-輸出時(shí)鐘end timer;architecture rtl of timer issignal clk_tmp:std_logic;signal fan_tmp:std_logic;-signal counter:std_logic_vector(1 downto 0);-計(jì)數(shù)器signal counter:integer range 0 to 16000000;beginprocess(clk,clr,option)begin if clr=1 then clk_tmp=0; counter=0; elsif clkevent and clk=1 then if option=0 then -四分頻 if counter=16000000 then counter=0; clk_tmp=not clk_tmp;else counter=counter+1;end if; else -八分頻 if counter=8000000 then counter=0; clk_tmp=not clk_tmp;else counter=counter+1;end if; end if; end if;end process;-begin- if clr=1 then- clk_tmp=0;- counter=00;- elsif clkevent and clk=1 then- if option=0 then -四分頻- if counter=01 then- counter=00;- clk_tmp=not clk_tmp;-else- counter=counter+1;-end if;- else -八分頻- if counter=11 then- counter=00;- clk_tmp=not clk_tmp;-else- counter=counter+1;-end if;- end if;- end if;-end process;clkout=clk_tmp; -輸出分頻時(shí)鐘fan_tmp=fan;fanout=fan_tmp;end rtl;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;- uncomment the following library declaration if instantiating- any xilinx primitives in this code.-library unisim;-use unisim.vcomponents.all;entity shower is port ( clk : in std_logic; clr : in std_logic; fanin:in std_logic; ledout:out std_logic_vector (7 downto 0); shuma:out std_logic_vector(6 downto 0); -8位彩燈輸出 doubleled:out std_logic_vector(7 downto 0);end shower;architecture rtl of shower istype states is (s0,s1,s2,s3,s4,s5,s6,s7); -moore狀態(tài)signal state:states;beginprocess(clk,clr,fanin)begin if clr=1 then state=s0; ledout=00000000; doubleled=00000000; shuma if fanin=1 then state=s7; ledout=11111110; doubleled=11111110; shuma=1111001; else state=s1; ledout=00000000; doubleled=00000000; shuma if fanin=1 then state=s0; ledout=00000000; doubleled=00000000; shuma=0000000; else state=s2; ledout=10000000; doubleled=10000000; shuma if fanin=1 then state=s1; ledout=10000000; doubleled=10000000; shuma=1111000; else state=s3; ledout=11000000; doubleled=11000000; shuma if fanin=1 then state=s2; ledout=11000000; doubleled=11000000; shuma=

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論