EDA簡易洗衣機設計_第1頁
EDA簡易洗衣機設計_第2頁
EDA簡易洗衣機設計_第3頁
EDA簡易洗衣機設計_第4頁
EDA簡易洗衣機設計_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、目錄摘要3緒論4第一章 設計的總體構(gòu)思51、1 設計的基本原理51、1、1 模塊方框圖51、2 總體的原理圖及其解析61、2、1 原理圖61、2、2 原理圖解析71、3 總體設計的源代碼講解7第二章 設計的分立模塊解析82、1 定時輸入模塊82、1、1 定時輸入模塊源代碼講解82、1、2 定時輸入模塊框圖82、2 洗衣機時間控制模塊82、2、1 洗衣機時間控制模塊源代碼講解92、2、2 洗衣機時間控制模塊框圖92、3 倒計時模塊92、3、1 倒計時模塊源代碼講解92、3、2 倒計時模塊框圖92、4 洗衣機狀態(tài)控制模塊102、4、1 洗衣機狀態(tài)控制模塊源代碼講解102、4、2 洗衣機狀態(tài)控制模塊

2、框圖102、5 數(shù)碼管顯示模塊102、5、1 數(shù)碼管顯示模塊源代碼講解102、5、2 數(shù)碼管顯示模塊框圖112、6 報警模塊112、6、1 報警模塊源代碼講解112、6、2 報警模塊框圖11第三章 仿真結(jié)果123、1 定時輸入模塊仿真結(jié)果123、2 洗衣機時間控制模塊仿真結(jié)果123、3 倒計時模塊仿真結(jié)果133、4 洗衣機狀態(tài)控制模塊仿真結(jié)果133、5 數(shù)碼管顯示模塊仿真結(jié)果143、6 總體設計仿真結(jié)果14小結(jié)15謝辭16附錄17附錄1 定時輸入模塊源代碼17附錄2 洗衣機時間控制模塊源代碼18附錄3 倒計時模塊模塊源代碼18附錄4 洗衣機狀態(tài)控制模塊源代碼20附錄5 數(shù)碼管顯示模塊源代碼21

3、附錄6 報警模塊源代碼22附錄7 總體設計源代碼:22摘要此次的課程設計的題目是簡易洗衣機控制器設計,這次的EDA課程設計主要就是掌握EDA技術(shù)在一些方面的運用。掌握EDA技術(shù)及CPLD/FPGA的開發(fā)流程、自頂向下的設計思想和系統(tǒng)設計的分析方法,以及洗衣機控制器的工作原理。本次的設計已基本完成要求,待機5s 正轉(zhuǎn)10s 待機5s 反轉(zhuǎn)10s ,如此循環(huán)。并用3個LED燈和7段數(shù)碼管分別表示其工作狀態(tài)和顯示相應工作狀態(tài)下的時間,能夠自行設定洗衣機的循環(huán)次數(shù),利用循環(huán)語句來實現(xiàn)。到達所設定的循環(huán)次數(shù)后報警提示,報警就是將敏感變量賦給報警輸出量。雖然對于設計的東西不是很了解,不過,大致的思路已經(jīng)了

4、解。此篇課程設計報告大致包括對于此次設計的總體的原理和思路,以及設計的每個模塊分析,電路圖,源程序的描述,仿真結(jié)果的展示。能夠?qū)⑺鶎W知識運用到此次的課程設計當中,對于之前的一些理論知識也是一種深刻認識。緒論隨著電子技術(shù)獲得了飛快的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。EDA,這個以大規(guī)??删幊踢壿嬈骷樵O計載體,以硬件描述語言為系統(tǒng)邏輯描述的主要表達方式,以計算機、大規(guī)模可編程邏輯器件的可開發(fā)軟件及實驗開發(fā)系統(tǒng)為設計工具,通過有關(guān)的開發(fā)軟件,自動完成用軟件的方

5、式設計的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線、邏輯仿真,直至完成對于特定目標芯片的適配編譯、邏輯映射、編程下載等工作,最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T新技術(shù)在現(xiàn)代生活中也越發(fā)的重要。面對當今飛速發(fā)展的電子產(chǎn)品市場,電子設計人員需要更加實用、快捷的EDA工具,實用統(tǒng)一的集成設計環(huán)境,改變傳統(tǒng)設計思路,即優(yōu)先考慮具體物理實現(xiàn)方式,而將精力集中到設計構(gòu)思、方案比較和尋找最優(yōu)化設計等方面,以最快的速度開發(fā)出性能優(yōu)良、質(zhì)量一流的電子產(chǎn)品。今天的EDA工具將向著功能強大、簡單易學、使用方便的方向發(fā)展。本次設計所用到的硬件描述語言是VHDL語言。硬件描述語言

6、VHDL是EDA技術(shù)技術(shù)的重要組成部分。VHDL是Very High Speed Integrated Circuit Hard Description Language的簡稱,作為一個規(guī)范語言和建模語言,隨著VHDL的標準化,出現(xiàn)一些支持該語言的行為仿真器。不過,VHDL不僅可以作為系統(tǒng)模擬的建模工具,而且可以作為電路系統(tǒng)的設計工具,可以利用軟件工具將VHDL源碼自動地轉(zhuǎn)化為文本方法表達的基本邏輯元件連接圖,即網(wǎng)表文件。此次的課程設計正是利用EDA技術(shù)及其運用來實現(xiàn)一個簡易的洗衣機控制器的設計。將EDA技術(shù)拓展,將理論聯(lián)系實際。為了更好地運用EDA知識,也為了掌握VHDL語言的。此次的課程設

7、計以EDA技術(shù)為基礎,以VHDL語言為硬件語言,編寫一段程序來實現(xiàn)簡易洗衣機的控制。第一章 設計的總體構(gòu)思1、1 設計的基本原理此次制作的的簡易洗衣機控制器設計用三只LED燈來顯示洗衣機正轉(zhuǎn)、反轉(zhuǎn)、待機的三種狀態(tài)。然后用電子定時器控制洗衣機設定的工作時間,以及正傳、反轉(zhuǎn)以及待機運行時間的控制。同時用兩個數(shù)碼管顯示洗滌的預置時間(按秒數(shù)計數(shù)),按倒計時方式對洗滌過程作計時顯示,待機5s 正轉(zhuǎn)10s 待機5s 反轉(zhuǎn)10s ,如此循環(huán),直到時間到,循環(huán)結(jié)束;洗滌過程由“開始”信號開始;最后定時到則停止,同時用蜂鳴器發(fā)出提示音(不過,此次的設計圖中并沒有畫出蜂鳴器的部分)。然后是通過各種開關(guān)組成控制電

8、路,使洗衣機實現(xiàn)程序運轉(zhuǎn)。直至結(jié)束為止(也即循環(huán)次數(shù)到了)。包括定時輸入模塊、電機時間控制模塊、倒計時模塊、電機狀態(tài)控制模塊、數(shù)碼管顯示模塊、報警模塊。1、1、1 模塊方框圖 核心控制電路按鍵控制模塊電機控制模塊數(shù)字顯示模塊 報警電路定時輸入模塊 倒計時模塊圖 1 設計方框圖1、2 總體的原理圖及其解析1、2、1 原理圖1、2、2 原理圖解析首先,是有五個輸入的。shu和hshu是設置時間的,pinname18是相當于是允許輸入的,timemiao是脈沖的設置,而另一個開關(guān)kaiguan就是本設計的開關(guān)。輸出也是有五個的。Gewei和shiwei是一個數(shù)碼管顯示時間的十位,一個數(shù)碼管顯示個位。

9、雖然本次的設計只有5s和10s兩種顯示的時間,也用兩個數(shù)碼管來顯示時間。Deng是顯示是正轉(zhuǎn)、反轉(zhuǎn)、待機的狀態(tài),dianji是顯示當下處于什么狀態(tài)的(00代表正轉(zhuǎn),01代表待機,11代表反轉(zhuǎn))。Ct用來檢測是否時間達到零,達到零則為1,否則則為0。對于shuru這個模塊來說,dout和dout1的輸出是由shu和hshu的上升沿來控制的,同時dout和dout1又是hui和hui1的一個輸入。而washmachine的輸入是一個脈沖,輸出c和d又分別是hui和dianji的輸入。而kaiguan是hui和hui1的輸入,控制倒計時的模塊,用來隨時停止計時。1、3 總體設計的源代碼講解此次設計的

10、總體的源代碼是將各個模塊加進來,聯(lián)合定時輸入模塊、電機時間設置模塊、倒計時模塊、電機狀態(tài)控制模塊、數(shù)碼管顯示模塊,設計出一個簡易洗衣機控制器,為了不讓那些輸入輸出量重名,將一些本來要重名的變量設置了一下。同時對于,信號量,也是集齊所有模塊的所有的的信號量來集中的。本次的源代碼是將各個模塊的源代碼集中到一起的。是對那些模塊的調(diào)用,用COMPONENT來實現(xiàn)調(diào)用的。然后對于實現(xiàn)簡易洗衣機的循環(huán),用一個循環(huán)語句來實現(xiàn),用clk來當做信號變量貫穿始終。對于源代碼中的信號量都是各個模塊中的信號量。Count都是分得很清楚,以免有所重復。所用的循環(huán)語句是LOOP語句,LOOP語句就是循環(huán)語句,它可以使所包

11、含的一組順序語句被執(zhí)行,其執(zhí)行次數(shù)可由設定的循環(huán)參數(shù)決定。LOOP語句的常用表達方式有兩種,此次所用的是單個LOOP語句,其語法如下:LOOP 標號: LOOP 順序語句END LOOP LOOP 標號這種循環(huán)方式是一種最簡單的語句形式,它的循環(huán)方式需引入其他控制語句(如EXIT語句)后才能確定;“LOOP標號”可以任意選。此次的源代碼中,用a來當變量,每執(zhí)行一次,a就加1,當a大于15時就跳出循環(huán),這也是使得本次設計的簡易洗衣機能夠循環(huán)的次數(shù)不超過15次,這也是設計任務書要求,所以說,源代碼在功能上基本可以實現(xiàn)要求,包括待機,接著正轉(zhuǎn),再是待機,又是反轉(zhuǎn),以此循環(huán)15次。第二章 設計的分立模

12、塊解析講解的依次是定時輸入模塊、電機時間控制模塊、倒計時模塊、電機狀態(tài)控制模塊、數(shù)碼管顯示模塊。以及順帶介紹一下要事先報警應如何操作。2、1 定時輸入模塊此模塊是為了實現(xiàn)洗衣機能夠定時輸入的功能,保證洗衣機能夠正常運行。當din為1的時候是無效時刻,而且shu是上升沿時dout加1,hshu是上升沿時dout1加1。2、1、1 定時輸入模塊源代碼講解首先,是定義輸入輸出量,有三個輸入量,shu和hshu以及din,輸出量有兩個,分別是dout和dout1,信號量有兩個,分別是count和count1。信號量在在源代碼中充當中間量。最后是要把count和count1分別賦值給dout和dout1

13、的。輸入量shu和hshu分別決定count和count1,當shu和hshu是上升沿時,count和count1加1,count是從0到9,接著又是到0開始循環(huán),而count1是從0到6,接著是到0繼續(xù)循環(huán)。不過,當din為1時count和count1都是“1111”,也就是說,當din為1時相當于阻止此模塊運行。2、1、2 定時輸入模塊框圖2、2 洗衣機時間控制模塊此模塊由一個累加器和一個命令控制器組成,用來實現(xiàn)預置洗滌時間的功能,洗滌時間以分鐘數(shù)為單位,用戶可根據(jù)自己的需求來設定洗滌時間的長短。一開始是想說,在時間設置模塊設置15次的循環(huán)時間,這樣也就避免讓時間設置方面那樣麻煩,不過,此

14、次的源代碼是將此模塊算在當中的。2、2、1 洗衣機時間控制模塊源代碼講解 首先來說,就是此模塊的輸入輸出量都是很簡單的,有一個輸入,兩個輸出,clk輸入,也即脈沖輸入,d和c輸出。信號量count2(有三位)和shi。而clk是上升沿時shi則加1,shi是從0到60的,當shi為60時,c為1,否則,c則為0.count2也是從0到5的,當count2為5時,d為1,否則d則為0.2、2、2 洗衣機時間控制模塊框圖 2、3 倒計時模塊由于洗衣機有工作時間,必須要一模塊來控制它的工作時間范圍,當洗衣機開始工作后,減法計數(shù)器即會實現(xiàn)減數(shù)功能,直到時間減到零,洗衣機便停止工作。2、3、1 倒計時模

15、塊源代碼講解首先此模塊是有兩部分的,有十位的還有個位的表示。對于這兩部分,模式基本一致。輸入量有三個,jian、reset和din3,0,din3,0為定時輸入模塊的輸出dout3,0。信號量有count3,0。Jian就是控制倒計時的量,當jian的上升沿到來,則count3,0開始減1,count3,0從9開始減到0,然后再循環(huán),不過這是對于個位輸入來說,對于十位來說,則不用考慮。Reset是有開關(guān)來控制的。當reset為1時,此模塊是不能工作的,就是復位。2、3、2 倒計時模塊框圖2、4 洗衣機狀態(tài)控制模塊此模塊是為了實現(xiàn)能夠控制洗衣機電機時間達到正轉(zhuǎn)、反轉(zhuǎn)、待機的功能。讓觀看者在外部能

16、夠觀察到洗衣機當下正處于什么狀態(tài),而且,此外還有燈的部分,所以,通過燈也可以辨認出洗衣機的工作狀態(tài)。2、4、1 洗衣機狀態(tài)控制模塊源代碼講解此模塊的輸入量只有一個,就是cc,輸出量有兩個,dd和dneg,信號量為count、dian和deng1,dd=dian,而deng=deng1。當cc的上升沿到來時,count則加1,count是從0到5循環(huán)的。Count的變化也就是會決定待機、正轉(zhuǎn)、反轉(zhuǎn)的時間,dian的值則是代表待機、正轉(zhuǎn)、反轉(zhuǎn)的,01代表正轉(zhuǎn),此時deng為100,也即亮燈表示正轉(zhuǎn);00代表待機,此時deng為010,也即亮燈代表待機;11代表反轉(zhuǎn),此時deng為001,也即亮燈代

17、表反轉(zhuǎn)。2、4、2 洗衣機狀態(tài)控制模塊框圖2、5 數(shù)碼管顯示模塊根據(jù)課程設計要求,必須將洗衣機的工作狀態(tài)及工作時間在數(shù)碼管和指示燈上顯示出來,此模塊是用來控制洗衣機的工作狀態(tài)及工作的頻率,并把工作狀態(tài)及工作時間顯示出來。2、5、1 數(shù)碼管顯示模塊源代碼講解對于此模塊沒有很多該講的地方,它就是,一個輸入,一個輸出,輸入是由倒計時模塊的輸出來充當數(shù)碼管模塊的輸入的。輸出直接接到數(shù)碼管上顯示。此次用的是七個引腳的數(shù)碼管。而且有兩個數(shù)碼管。一個顯示十位,一個顯示個位。對于數(shù)碼管的編碼,是按照數(shù)碼管顯示的規(guī)律來實現(xiàn)的。2、5、2 數(shù)碼管顯示模塊框圖2、6 報警模塊當洗滌時間結(jié)束時,洗衣機就會自動發(fā)出警報

18、聲,以此提醒用戶洗滌工作完成,此模塊就是實現(xiàn)此功能。2、6、1 報警模塊源代碼講解此模塊有兩個輸入,一個輸出,輸入是脈沖和一個量。當finishc按下時,也就是提吃報警,然后就響應報警,接著,輸出warning就連接到clk,也就是脈沖上面,主要提出了報警,則只要此時clk還在輸入,那就會驅(qū)動蜂鳴器來發(fā)出警報聲,此時也就實現(xiàn)了報警。當沒有警報時,也即洗衣機正常工作的情況,warning就為0,也就不會驅(qū)動蜂鳴器,也不會報警。報警模塊就是這樣實現(xiàn)的。不過,此次的設計并沒有將蜂鳴器考慮在內(nèi),而且,總體的程序也沒有將報警模塊加入,只是最后陳述一下該如何實現(xiàn)報警。2、6、2 報警模塊框圖報警模塊輸出-

19、>蜂鳴器第三章 仿真結(jié)果3、1 定時輸入模塊仿真結(jié)果3、2 洗衣機時間控制模塊仿真結(jié)果3、3 倒計時模塊仿真結(jié)果3、4 洗衣機狀態(tài)控制模塊仿真結(jié)果3、5 數(shù)碼管顯示模塊仿真結(jié)果3、6 總體設計仿真結(jié)果小結(jié)此次的課程設計是做簡易洗衣機控制器,對于此次的設計我不能說完成得有多好,只能說也算是盡力了。對于一些功能的實現(xiàn),也完成得不是很好,雖然說如果能順利實現(xiàn)的話是基本可以達到目標,但是把程序,也就是源代碼輸入到Quartus II后發(fā)現(xiàn)在軟件上不能編譯,經(jīng)過一系列的檢查,我本人認為是選擇芯片上出現(xiàn)得問題最大,所以此次的源代碼基本上在軟件上不能實現(xiàn)。不過,雖然此次的設計把仿真圖和結(jié)果附上,是借鑒

20、了別的論文的一些資料。對于此次的課程設計,我最大的收獲就是能夠基本理解那些源代碼的意思,至少那些源代碼我都能看懂,而且我還對于那些源代碼我都有認真地學習以及思考,我對于這次的課程設計我是報以很認真的態(tài)度。而且,就是對于那款軟件我都有盡我所能地去學習,包括查資料,看視頻來學習。對于我的課程設計結(jié)果,不能說是很好,但是我認為只要認真地學習了就不會辜負這次難得的機會,這個學期學習EDA技術(shù)及其運用,我雖說不是掌握得很好,但是我有學會關(guān)于它的基本知識,對于硬件描述語言VHDL語言也有所掌握,加上這次的課程設計所用的就是VHDL語言,就對VHDL語言更進一步的了解??偟膩碚f,此次的課程設計完成算是還行的

21、,而且也基本懂得了這次的課程設計的意義,也收獲了不少,不僅是理論知識的長進,而且對于將理論聯(lián)系實際的了解也更深刻了。通過這次課程設計,自己也懂得了不少。也給自己提了個醒,以后的學業(yè)路上也要更加努力,只要真的去努力做一件事情,才會有所收獲。謝辭這一次的課程設計最終完成了,首先要感謝老師對我們的耐心地輔導,以及講解一些專業(yè)知識,跟感謝朱路老師在上EDA課程設計課上仔細地講解VHDL語言,以及對于各種習題的講解,才使得我們對于EDA這門課程掌握的那么深刻,對于硬件語言VHDL有了個更深的了解,以致于這次課程設計成功。還有就是要感謝同學的幫助,對于Quartus II的運用剛開始一點都不了解,但是,經(jīng)

22、過有些同學的幫助,對于這個軟件的掌握基本算是入門了,特別要感謝一個同學上傳一個學習Quartus II的視頻,看過那個視頻后對于Quartus II的掌握有多加了一份。所以,此次的課程設計,正是由于同學們和老師的幫助,才會使得這次的課程設計這么順利,對于你們,我表示深深的感謝,謝謝你們!附錄附錄1 定時輸入模塊源代碼LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY shuru IS PORT ( shu, hshu, din :

23、 IN STD_LOGIC; dout3,0 : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); dout13,0 : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); );END shuru;ARCHITECTURE behave OF shuru ISSIGNAL count, count1 :STD_LOGIC_VECTOR (3 DOWNTO 0); BEGIN PROCESS (shu,hshu,din) BEGIN dout<=count; dout1<=count1; IF din='1' THEN dout&

24、lt;="1111"dout1<="1111" ELSIF RISING_EDGE(shu) THEN IF count="1001" THEN count<="0000" ELSE count<=count+1; END IF; END IF; IF RISING_EDGE(hshu) THEN IF count1="0110" THEN count1<="0000" ELSE count1<=count1+1; END IF; END IF;

25、 END PROCESS;END behave;附錄2 洗衣機時間控制模塊源代碼LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY washmachine IS PORT (clk : IN STD_LOGIC; c: OUT STD_LOGIC; d : OUT STD_LOGIC; );END washmachine;ARCHITECTURE miao20 OF washmachine IS SIGNAL count2: ST

26、D_LOGIC_VECTOR (3 DOWNTO 0); SIGNAL shi: INTEGER RANGE 0 TO60; BEGIN PROCESS(clk)BEGIN IF RISING_EDGE(clk) THEN IF shi=60 THEN shi<=0;c<='1' ELSE shi<=shi+1;c<='0' END IF; IF count2="101" THEN Count2<="000" d<='1' else Count2<=count2+1

27、; d<='0' END IF; END IF; END PROCESS;END miao20;附錄3 倒計時模塊模塊源代碼LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY hui IS PORT (jian1 : IN STD_LOGIC; reset1 : IN STD_LOGIC; din3,01 :IN STD_LOGIC_VECTOR (3 DOWNTO 0); dout3,01 : OUT ST

28、D_LOGIC_VECTOR (3 DOWNTO 0); c1 : OUT STD_LOGIC; );END hui;ARCHITECTURE behave OF hui ISSIGNAL count 3: STD_LOGIC_VECTOR (3 DOWNTO 0); BEGIN dout3,0 1<= count3;PROCESS(jian1,reset1,din3,01) BEGIN IF reset1='1' THEN count 3<= din 3,01; c1<='0' ELSIF RISING_EDGE(jian1) THEN IF

29、 count3 = "0000" THEN count 3<= "1001" c1<='1' ELSE count 3<= count3-1; c1<='0' END IF; END IF; END PROCESS;END behave;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY hui IS PORT (jian2 : IN

30、STD_LOGIC; Reset2 : IN STD_LOGIC; din3,02 :IN STD_LOGIC_VECTOR (3 DOWNTO 0); dout3,02 : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); c2 : OUT STD_LOGIC; );END hui1;ARCHITECTURE behave OF hui1 ISSIGNAL count 4: STD_LOGIC_VECTOR (3 DOWNTO 0); BEGIN dout3,0 2<= count4;PROCESS(jian2,reset2,din3,02) BEGIN IF re

31、set2='1' THEN count 4<= din 3,02;c2<='0' ELSIF RISING_EDGE(jian2) THEN IF count4 = "0000" THEN count 4<= "1001" c2<='1' ELSE count 4<= count4-1; c2<='0' END IF; END IF; END PROCESS;END behave;附錄4 洗衣機狀態(tài)控制模塊源代碼LIBRARY IEEE;USE IEEE.

32、STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY dianji IS PORT (cc : OUT STD_LOGIC; dd : OUT STD_LOGIC_VECTOR (1 DOWNTO 0); deng : OUT STD_LOGIC_VECTOR (2 DOWNTO 0); );END dianji;ARCHITECTURE behave OF dianji IS SIGNAL count 5: STD_LOGIC_VECTOR (2 DOWNTO 0); SIG

33、NAL dian : STD_LOGIC_VECTOR (1 DOWNTO 0); SIGNAL deng1 : STD_LOGIC_VECTOR (2 DOWNTO 0);BEGIN dd <= dian; deng<=deng1;process(cc)BEGIN IF RISING_EDGE(cc) TNEN IF count5= "101" THEN Count5 <= "000" ELSE count 5<= count5+1; END IF; IF count5="000" THEN dian<

34、="01"deng1<="100" ELSIF count5="010" THEN dian<="00"deng1<="010" ELSIF count5="011" THEN dian<="11" ;deng1<="001" END IF; END IF; END PROCESS;END behave;附錄5 數(shù)碼管顯示模塊源代碼LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.A

35、LL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY shuma IS PORT (din3,0 : IN STD_LOGIC_VECTOR (3 DOWNTO 0); dout6,0 : OUT STD_LOGIC _VECTOR (6 DOWNTO 0); );END shuma;ARCHITECTURE behave OF shuma ISBEGIN PROCESS (din3,0)BEGIN CASE din3,0 ISWHEN "0000" => dout6,0<=

36、"0000001"-0WHEN "0001" => dout6,0<="1001111"-1WHEN "0010" => dout6,0<="0010010"-2WHEN "0011" => dout6,0<="0000110"-3WHEN "0100" => dout6,0<="1001100" -4WHEN"0101" => dout6,0

37、<="0100100"-5WHEN "0110" => dout6,0<="0100000"-6WHEN "0111" => dout6,0<="0001111"-7WHEN "1000" => dout6,0<="0000000"-8WHEN "1001" => dout6,0<="0000100"-9WHEN others => dout6,0<=

38、"1111111"END CASE;END PROCESS;END behave;附錄6 報警模塊源代碼LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY warning IS port(clk: IN STD_LOGIC; finishc: IN STD_LOGIC; warn: OUT STD_LOGIC);END warming;ARCHITECTURE six OF warming IS BEGIN

39、PROCESS (clk) BEGIN If finishc=1THEN warn<=clk; ELSE warn<=0;END IF;END PROCESS;END;附錄7 總體設計源代碼:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY washer ISPORT ( shuin, hshuin, pin : IN STD_LOGIC; time : IN STD_LOGIC; kaiguan : IN STD_

40、LOGIC; gewei : OUT STD_LOGIC; shiwei : OUT STD_LOGIC; ct : OUT STD_LOGIC; dianji : OUT STD_LOGIC; deng2,0 : OUT STD_LOGIC; );END ENTITY washer;ARCHITECTURE behave OF washer IS COMPONENT shuru PORT ( shu, hshu, din : IN STD_LOGIC; dout3,0 : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); dout13,0 : OUT STD_LOGIC_

41、VECTOR (3 DOWNTO 0); ); END COMPONENT; COMPONENT washmachine PORT (clk : IN STD_LOGIC; c: OUT STD_LOGIC; d : OUT STD_LOGIC; ); END COMPONENT; COMPONENT hui PORT (jian1 : IN STD_LOGIC; reset1 : IN STD_LOGIC; din3,01 :IN STD_LOGIC_VECTOR (3 DOWNTO 0); dout3,01 : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); c1 : OUT STD_LOGIC; ); END COMPONENT; COMPONENT hui1

溫馨提示

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

評論

0/150

提交評論