版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 數(shù)字邏輯系統(tǒng)課程設(shè)計(jì)</p><p><b> 題目:洗衣機(jī)控制器</b></p><p><b> 摘要</b></p><p> 此次的課程設(shè)計(jì)的題目是簡易洗衣機(jī)控制器設(shè)計(jì),這次的EDA課程設(shè)計(jì)主要就是掌握EDA技術(shù)在一些方面的運(yùn)用。掌握EDA技術(shù)及CPLD/FPGA的開發(fā)流程、自頂向下的設(shè)
2、計(jì)思想和系統(tǒng)設(shè)計(jì)的分析方法,以及洗衣機(jī)控制器的工作原理。本次的設(shè)計(jì)已基本完成要求,待機(jī)5s → 正轉(zhuǎn)10s → 待機(jī)5s → 反轉(zhuǎn)10s →,如此循環(huán)。并用3個(gè)LED燈和7段數(shù)碼管分別表示其工作狀態(tài)和顯示相應(yīng)工作狀態(tài)下的時(shí)間,能夠自行設(shè)定洗衣機(jī)的循環(huán)次數(shù),利用循環(huán)語句來實(shí)現(xiàn)。到達(dá)所設(shè)定的循環(huán)次數(shù)后報(bào)警提示,報(bào)警就是將敏感變量賦給報(bào)警輸出量。雖然對于設(shè)計(jì)的東西不是很了解,不過,大致的思路已經(jīng)了解。此篇課程設(shè)計(jì)報(bào)告大致包括對于此次設(shè)計(jì)的總體
3、的原理和思路,以及設(shè)計(jì)的每個(gè)模塊分析,電路圖,源程序的描述,仿真結(jié)果的展示。能夠?qū)⑺鶎W(xué)知識運(yùn)用到此次的課程設(shè)計(jì)當(dāng)中,對于之前的一些理論知識也是一種深刻認(rèn)識。</p><p><b> 緒論</b></p><p> 隨著電子技術(shù)獲得了飛快的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個(gè)領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)
4、品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。EDA,這個(gè)以大規(guī)??删幊踢壿嬈骷樵O(shè)計(jì)載體,以硬件描述語言為系統(tǒng)邏輯描述的主要表達(dá)方式,以計(jì)算機(jī)、大規(guī)模可編程邏輯器件的可開發(fā)軟件及實(shí)驗(yàn)開發(fā)系統(tǒng)為設(shè)計(jì)工具,通過有關(guān)的開發(fā)軟件,自動完成用軟件的方式設(shè)計(jì)的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線、邏輯仿真,直至完成對于特定目標(biāo)芯片的適配編譯、邏輯映射、編程下載等工作,最終形成集成電子系統(tǒng)或?qū)S眉尚酒?/p>
5、一門新技術(shù)在現(xiàn)代生活中也越發(fā)的重要。面對當(dāng)今飛速發(fā)展的電子產(chǎn)品市場,電子設(shè)計(jì)人員需要更加實(shí)用、快捷的EDA工具,實(shí)用統(tǒng)一的集成設(shè)計(jì)環(huán)境,改變傳統(tǒng)設(shè)計(jì)思路,即優(yōu)先考慮具體物理實(shí)現(xiàn)方式,而將精力集中到設(shè)計(jì)構(gòu)思、方案比較和尋找最優(yōu)化設(shè)計(jì)等方面,以最快的速度開發(fā)出性能優(yōu)良、質(zhì)量一流的電子產(chǎn)品。今天的EDA工具將向著功能強(qiáng)大、簡單易學(xué)、使用方便的方向發(fā)展。</p><p> 本次設(shè)計(jì)所用到的硬件描述語言是VHDL語言。硬
6、件描述語言VHDL是EDA技術(shù)技術(shù)的重要組成部分。VHDL是Very High Speed Integrated Circuit Hard Description Language的簡稱,作為一個(gè)規(guī)范語言和建模語言,隨著VHDL的標(biāo)準(zhǔn)化,出現(xiàn)一些支持該語言的行為仿真器。不過,VHDL不僅可以作為系統(tǒng)模擬的建模工具,而且可以作為電路系統(tǒng)的設(shè)計(jì)工具,可以利用軟件工具將VHDL源碼自動地轉(zhuǎn)化為文本方法表達(dá)的基本邏輯元件連接圖,即網(wǎng)表文件。&l
7、t;/p><p> 此次的課程設(shè)計(jì)正是利用EDA技術(shù)及其運(yùn)用來實(shí)現(xiàn)一個(gè)簡易的洗衣機(jī)控制器的設(shè)計(jì)。將EDA技術(shù)拓展,將理論聯(lián)系實(shí)際。為了更好地運(yùn)用EDA知識,也為了掌握VHDL語言的。此次的課程設(shè)計(jì)以EDA技術(shù)為基礎(chǔ),以VHDL語言為硬件語言,編寫一段程序來實(shí)現(xiàn)簡易洗衣機(jī)的控制。</p><p><b> 設(shè)計(jì)基本原理</b></p><p>
8、 此次制作的的簡易洗衣機(jī)控制器設(shè)計(jì)用三只LED燈來顯示洗衣機(jī)正轉(zhuǎn)、反轉(zhuǎn)、待機(jī)的三種狀態(tài)。然后用電子定時(shí)器控制洗衣機(jī)設(shè)定的工作時(shí)間,以及正傳、反轉(zhuǎn)以及待機(jī)運(yùn)行時(shí)間的控制。同時(shí)用兩個(gè)數(shù)碼管顯示洗滌的預(yù)置時(shí)間(按秒數(shù)計(jì)數(shù)),按倒計(jì)時(shí)方式對洗滌過程作計(jì)時(shí)顯示,待機(jī)5s → 正轉(zhuǎn)10s → 待機(jī)5s → 反轉(zhuǎn)10s →,如此循環(huán),直到時(shí)間到,循環(huán)結(jié)束;洗滌過程由“開始”信號開始;最后定時(shí)到則停止,同時(shí)用蜂鳴器發(fā)出提示音(不過,此次的設(shè)計(jì)圖中并沒有
9、畫出蜂鳴器的部分)。然后是通過各種開關(guān)組成控制電路,使洗衣機(jī)實(shí)現(xiàn)程序運(yùn)轉(zhuǎn)。直至結(jié)束為止(也即循環(huán)次數(shù)到了)。包括定時(shí)輸入模塊、電機(jī)時(shí)間控制模塊、倒計(jì)時(shí)模塊、電機(jī)狀態(tài)控制模塊、數(shù)碼管顯示模塊、報(bào)警模塊</p><p><b> 模塊方框</b></p><p><b> 原理圖</b></p><p><b>
10、 原理圖解析</b></p><p> 首先,是有五個(gè)輸入的。shu和hshu是設(shè)置時(shí)間的,pin—name18是相當(dāng)于是允許輸入的,time—miao是脈沖的設(shè)置,而另一個(gè)開關(guān)kaiguan就是本設(shè)計(jì)的開關(guān)。輸出也是有五個(gè)的。Gewei和shiwei是一個(gè)數(shù)碼管顯示時(shí)間的十位,一個(gè)數(shù)碼管顯示個(gè)位。雖然本次的設(shè)計(jì)只有5s和10s兩種顯示的時(shí)間,也用兩個(gè)數(shù)碼管來顯示時(shí)間。Deng是顯示是正轉(zhuǎn)、反轉(zhuǎn)、
11、待機(jī)的狀態(tài),dianji是顯示當(dāng)下處于什么狀態(tài)的(00代表正轉(zhuǎn),01代表待機(jī),11代表反轉(zhuǎn))。Ct用來檢測是否時(shí)間達(dá)到零,達(dá)到零則為1,否則則為0。對于shuru這個(gè)模塊來說,dout和dout1的輸出是由shu和hshu的上升沿來控制的,同時(shí)dout和dout1又是hui和hui1的一個(gè)輸入。而washmachine的輸入是一個(gè)脈沖,輸出c和d又分別是hui和dianji的輸入。而kaiguan是hui和hui1的輸入,控制倒計(jì)時(shí)的模
12、塊,用來隨時(shí)停止計(jì)時(shí)。</p><p><b> 引腳圖:</b></p><p> 第二章 設(shè)計(jì)的分立模塊解析</p><p> 講解的依次是定時(shí)輸入模塊、電機(jī)時(shí)間控制模塊、倒計(jì)時(shí)模塊、電機(jī)狀態(tài)控制模塊、數(shù)碼管顯示模塊。以及順帶介紹一下要事先報(bào)警應(yīng)如何操作。</p><p> 2、1 定時(shí)輸入模塊</p&
13、gt;<p> 此模塊是為了實(shí)現(xiàn)洗衣機(jī)能夠定時(shí)輸入的功能,保證洗衣機(jī)能夠正常運(yùn)行。當(dāng)din為1的時(shí)候是無效時(shí)刻,而且shu是上升沿時(shí)dout加1,hshu是上升沿時(shí)dout1加1。</p><p> 2、1、1 定時(shí)輸入模塊源代碼講解</p><p> 首先,是定義輸入輸出量,有三個(gè)輸入量,shu和hshu以及din,輸出量有兩個(gè),分別是dout和dout1,信號量有兩
14、個(gè),分別是count和count1。信號量在在源代碼中充當(dāng)中間量。最后是要把count和count1分別賦值給dout和dout1的。輸入量shu和hshu分別決定count和count1,當(dāng)shu和hshu是上升沿時(shí),count和count1加1,count是從0到9,接著又是到0開始循環(huán),而count1是從0到6,接著是到0繼續(xù)循環(huán)。不過,當(dāng)din為1時(shí)count和count1都是“1111”,也就是說,當(dāng)din為1時(shí)相當(dāng)于阻止此模
15、塊運(yùn)行。</p><p> 2、1、2 定時(shí)輸入模塊框圖</p><p> 2、2 洗衣機(jī)時(shí)間控制模塊</p><p> 此模塊由一個(gè)累加器和一個(gè)命令控制器組成,用來實(shí)現(xiàn)預(yù)置洗滌時(shí)間的功能,洗滌時(shí)間以分鐘數(shù)為單位,用戶可根據(jù)自己的需求來設(shè)定洗滌時(shí)間的長短。</p><p> 一開始是想說,在時(shí)間設(shè)置模塊設(shè)置15次的循環(huán)時(shí)間,這樣也就避
16、免讓時(shí)間設(shè)置方面那樣麻煩,不過,此次的源代碼是將此模塊算在當(dāng)中的。</p><p> 2、2、1 洗衣機(jī)時(shí)間控制模塊源代碼講解</p><p> 首先來說,就是此模塊的輸入輸出量都是很簡單的,有一個(gè)輸入,兩個(gè)輸出,clk輸入,也即脈沖輸入,d和c輸出。信號量count2(有三位)和shi。而clk是上升沿時(shí)shi則加1,shi是從0到60的,當(dāng)shi為60時(shí),c為1,否則,c則為0.c
17、ount2也是從0到5的,當(dāng)count2為5時(shí),d為1,否則d則為0.</p><p> 2、2、2 洗衣機(jī)時(shí)間控制模塊框圖</p><p><b> 2、3 倒計(jì)時(shí)模塊</b></p><p> 由于洗衣機(jī)有工作時(shí)間,必須要一模塊來控制它的工作時(shí)間范圍,當(dāng)洗衣機(jī)開始工作后,減法計(jì)數(shù)器即會實(shí)現(xiàn)減數(shù)功能,直到時(shí)間減到零,洗衣機(jī)便停止工作。&
18、lt;/p><p> 2、3、1 倒計(jì)時(shí)模塊源代碼講解</p><p> 首先此模塊是有兩部分的,有十位的還有個(gè)位的表示。對于這兩部分,模式基本一致。輸入量有三個(gè),jian、reset和din[3,0],din[3,0]為定時(shí)輸入模塊的輸出dout[3,0]。信號量有count[3,0]。Jian就是控制倒計(jì)時(shí)的量,當(dāng)jian的上升沿到來,則count[3,0]開始減1,count[3,0
19、]從9開始減到0,然后再循環(huán),不過這是對于個(gè)位輸入來說,對于十位來說,則不用考慮。Reset是有開關(guān)來控制的。當(dāng)reset為1時(shí),此模塊是不能工作的,就是復(fù)位。</p><p> 2、3、2 倒計(jì)時(shí)模塊框圖</p><p> 2、4 洗衣機(jī)狀態(tài)控制模塊</p><p> 此模塊是為了實(shí)現(xiàn)能夠控制洗衣機(jī)電機(jī)時(shí)間達(dá)到正轉(zhuǎn)、反轉(zhuǎn)、待機(jī)的功能。讓觀看者在外部能夠觀察到
20、洗衣機(jī)當(dāng)下正處于什么狀態(tài),而且,此外還有燈的部分,所以,通過燈也可以辨認(rèn)出洗衣機(jī)的工作狀態(tài)。</p><p> 2、4、1 洗衣機(jī)狀態(tài)控制模塊源代碼講解</p><p> 此模塊的輸入量只有一個(gè),就是cc,輸出量有兩個(gè),dd和dneg,信號量為count、dian和deng1,dd=dian,而deng=deng1。當(dāng)cc的上升沿到來時(shí),count則加1,count是從0到5循環(huán)的。C
21、ount的變化也就是會決定待機(jī)、正轉(zhuǎn)、反轉(zhuǎn)的時(shí)間,dian的值則是代表待機(jī)、正轉(zhuǎn)、反轉(zhuǎn)的,01代表正轉(zhuǎn),此時(shí)deng為100,也即亮燈表示正轉(zhuǎn);00代表待機(jī),此時(shí)deng為010,也即亮燈代表待機(jī);11代表反轉(zhuǎn),此時(shí)deng為001,也即亮燈代表反轉(zhuǎn)。</p><p> 2、4、2 洗衣機(jī)狀態(tài)控制模塊框圖</p><p> 2、5 數(shù)碼管顯示模塊</p><p>
22、; 根據(jù)課程設(shè)計(jì)要求,必須將洗衣機(jī)的工作狀態(tài)及工作時(shí)間在數(shù)碼管和指示燈上顯示出來,此模塊是用來控制洗衣機(jī)的工作狀態(tài)及工作的頻率,并把工作狀態(tài)及工作時(shí)間顯示出來。</p><p> 2、5、1 數(shù)碼管顯示模塊源代碼講解</p><p> 對于此模塊沒有很多該講的地方,它就是,一個(gè)輸入,一個(gè)輸出,輸入是由倒計(jì)時(shí)模塊的輸出來充當(dāng)數(shù)碼管模塊的輸入的。輸出直接接到數(shù)碼管上顯示。此次用的是七個(gè)引
23、腳的數(shù)碼管。而且有兩個(gè)數(shù)碼管。一個(gè)顯示十位,一個(gè)顯示個(gè)位。對于數(shù)碼管的編碼,是按照數(shù)碼管顯示的規(guī)律來實(shí)現(xiàn)的。</p><p> 2、5、2 數(shù)碼管顯示模塊框圖</p><p><b> 2、6 報(bào)警模塊</b></p><p> 當(dāng)洗滌時(shí)間結(jié)束時(shí),洗衣機(jī)就會自動發(fā)出警報(bào)聲,以此提醒用戶洗滌工作完成,此模塊就是實(shí)現(xiàn)此功能。</p>
24、;<p> 2、6、1 報(bào)警模塊源代碼講解</p><p> 此模塊有兩個(gè)輸入,一個(gè)輸出,輸入是脈沖和一個(gè)量。當(dāng)finishc按下時(shí),也就是提吃報(bào)警,然后就響應(yīng)報(bào)警,接著,輸出warning就連接到clk,也就是脈沖上面,主要提出了報(bào)警,則只要此時(shí)clk還在輸入,那就會驅(qū)動蜂鳴器來發(fā)出警報(bào)聲,此時(shí)也就實(shí)現(xiàn)了報(bào)警。當(dāng)沒有警報(bào)時(shí),也即洗衣機(jī)正常工作的情況,warning就為0,也就不會驅(qū)動蜂鳴器,也
25、不會報(bào)警。報(bào)警模塊就是這樣實(shí)現(xiàn)的。不過,此次的設(shè)計(jì)并沒有將蜂鳴器考慮在內(nèi),而且,總體的程序也沒有將報(bào)警模塊加入,只是最后陳述一下該如何實(shí)現(xiàn)報(bào)警。</p><p><b> 小結(jié)</b></p><p> 此次的課程設(shè)計(jì)是做簡易洗衣機(jī)控制器,對于此次的設(shè)計(jì)我不能說完成得有多好,只能說也算是盡力了。對于一些功能的實(shí)現(xiàn),也完成得不是很好,雖然說如果能順利實(shí)現(xiàn)的話是基本可
26、以達(dá)到目標(biāo),但是把程序,也就是源代碼輸入到Quartus II后發(fā)現(xiàn)在軟件上不能編譯,經(jīng)過一系列的檢查,我本人認(rèn)為是選擇芯片上出現(xiàn)得問題最大,所以此次的源代碼基本上在軟件上不能實(shí)現(xiàn)。不過,雖然此次的設(shè)計(jì)把仿真圖和結(jié)果附上,是借鑒了別的論文的一些資料。對于此次的課程設(shè)計(jì),我最大的收獲就是能夠基本理解那些源代碼的意思,至少那些源代碼我都能看懂,而且我還對于那些源代碼我都有認(rèn)真地學(xué)習(xí)以及思考,我對于這次的課程設(shè)計(jì)我是報(bào)以很認(rèn)真的態(tài)度。而且,就
27、是對于那款軟件我都有盡我所能地去學(xué)習(xí),包括查資料,看視頻來學(xué)習(xí)。對于我的課程設(shè)計(jì)結(jié)果,不能說是很好,但是我認(rèn)為只要認(rèn)真地學(xué)習(xí)了就不會辜負(fù)這次難得的機(jī)會,這個(gè)學(xué)期學(xué)習(xí)EDA技術(shù)及其運(yùn)用,我雖說不是掌握得很好,但是我有學(xué)會關(guān)于它的基本知識,對于硬件描述語言VHDL語言也有所掌握,加上這次的課程設(shè)計(jì)所用的就是VHDL語言,就對VHDL語言更進(jìn)一步的了解。</p><p> 總的來說,此次的課程設(shè)計(jì)完成算是還行的,而且
28、也基本懂得了這次的課程設(shè)計(jì)的意義,也收獲了不少,不僅是理論知識的長進(jìn),而且對于將理論聯(lián)系實(shí)際的了解也更深刻了。通過這次課程設(shè)計(jì),自己也懂得了不少。也給自己提了個(gè)醒,以后的學(xué)業(yè)路上也要更加努力,只要真的去努力做一件事情,才會有所收獲。</p><p> 附錄1 定時(shí)輸入模塊源代碼</p><p> LIBRARY IEEE;</p><p> USE IEEE.
29、STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_ARITH.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY shuru IS</p><p> PORT ( shu, hshu, din : IN STD_LO
30、GIC;</p><p> dout : OUT STD_LOGIC_VECTOR (3 DOWNTO 0);</p><p> dout1 : OUT STD_LOGIC_VECTOR (3 DOWNTO 0)); </p><p> END shuru;</p><p> ARCHITECTURE behave OF s
31、huru IS</p><p> SIGNAL count, count1 :STD_LOGIC_VECTOR (3 DOWNTO 0);</p><p><b> BEGIN </b></p><p> PROCESS (shu,hshu,din)</p><p><b> BEGIN </b&
32、gt;</p><p> dout<=count;</p><p> dout1<=count1;</p><p> IF din='1' THEN</p><p> dout<="1111";dout1<="1111";</p><p
33、> ELSIF RISING_EDGE(shu) THEN</p><p> IF count="1001" THEN</p><p> count<="0000";</p><p><b> ELSE</b></p><p> count<=count
34、+1;</p><p><b> END IF;</b></p><p><b> END IF;</b></p><p> IF RISING_EDGE(hshu) THEN</p><p> IF count1="0110" THEN</p><p
35、> count1<="0000";</p><p><b> ELSE</b></p><p> count1<=count1+1;</p><p><b> END IF;</b></p><p><b> END IF;</b>
36、;</p><p> END PROCESS;</p><p> END behave;</p><p> 附錄2 洗衣機(jī)時(shí)間控制模塊源代碼</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> U
37、SE IEEE.STD_LOGIC_ARITH.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY washmachine IS </p><p> PORT (clk : IN STD_LOGIC;</p><p> c: OUT STD_LOGIC;&l
38、t;/p><p> d : OUT STD_LOGIC</p><p><b> );</b></p><p> END washmachine;</p><p> ARCHITECTURE miao20 OF washmachine IS</p><p> SIGNAL count2: S
39、TD_LOGIC_VECTOR (2 DOWNTO 0);</p><p> SIGNAL shi: INTEGER RANGE 0 TO 60;</p><p> BEGIN PROCESS(clk)</p><p><b> BEGIN</b></p><p> IF RISING_EDGE(clk) THE
40、N</p><p> IF shi=60 THEN</p><p> shi<=0;c<='1';</p><p> ELSE shi<=shi+1;c<='0';</p><p><b> END IF;</b></p><p>
41、 IF count2="101" THEN</p><p> Count2<="000";</p><p><b> d<='1';</b></p><p><b> else</b></p><p> Count2<
42、=count2+1;</p><p><b> d<='0';</b></p><p><b> END IF;</b></p><p><b> END IF;</b></p><p> END PROCESS;</p><p
43、> END miao20;</p><p> 附錄3 倒計(jì)時(shí)模塊模塊源代碼</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_ARITH.ALL;</p><p> USE
44、IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY hui IS </p><p> PORT (jian1 : IN STD_LOGIC;</p><p> reset1 : IN STD_LOGIC;</p><p> din1 :IN STD_LOGIC_VECTOR (3 DOWNT
45、O 0);</p><p> dout1 : OUT STD_LOGIC_VECTOR (3 DOWNTO 0);</p><p> c1 : OUT STD_LOGIC </p><p><b> );</b></p><p><b> END hui;</b></p&
46、gt;<p> ARCHITECTURE behave OF hui IS</p><p> SIGNAL count3: STD_LOGIC_VECTOR (3 DOWNTO 0);</p><p><b> BEGIN</b></p><p> dout1<= count3;</p><p&g
47、t; PROCESS(jian1,reset1,din1)</p><p><b> BEGIN </b></p><p> IF reset1='1' THEN</p><p> count3<= din1;</p><p><b> c1<='0'
48、;</b></p><p> ELSIF RISING_EDGE(jian1) THEN</p><p> IF count3 = "0000" THEN</p><p> count3<= "1001";</p><p><b> c1<='1'
49、;;</b></p><p><b> ELSE </b></p><p> count3<= count3-1;</p><p><b> c1<='0';</b></p><p><b> END IF;</b></p&
50、gt;<p><b> END IF;</b></p><p> END PROCESS;</p><p> END behave;</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p>
51、 USE IEEE.STD_LOGIC_ARITH.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY hui1 IS </p><p> PORT (jian2 : IN STD_LOGIC;</p><p> Reset2 : IN STD_LOGIC
52、;</p><p> din2 :IN STD_LOGIC_VECTOR (3 DOWNTO 0);</p><p> dout2 : OUT STD_LOGIC_VECTOR (3 DOWNTO 0);</p><p> c2 : OUT STD_LOGIC </p><p><b> );</b>
53、</p><p><b> END hui1;</b></p><p> ARCHITECTURE behave OF hui1 IS</p><p> SIGNAL count4: STD_LOGIC_VECTOR (3 DOWNTO 0);</p><p><b> BEGIN</b>&
54、lt;/p><p> dout2<= count4;</p><p> PROCESS(jian2,reset2,din2)</p><p><b> BEGIN </b></p><p> IF reset2='1' THEN</p><p> count4&l
55、t;= din2;</p><p><b> c2<='0';</b></p><p> ELSIF RISING_EDGE(jian2) THEN</p><p> IF count4 = "0000" THEN</p><p> count4<= "1
56、001";</p><p><b> c2<='1';</b></p><p><b> ELSE </b></p><p> count4<= count4-1;</p><p><b> c2<='0';</b&
57、gt;</p><p><b> END IF;</b></p><p><b> END IF;</b></p><p> END PROCESS;</p><p> END behave;</p><p> 附錄4 洗衣機(jī)狀態(tài)控制模塊源代碼</p>
58、<p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_ARITH.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY dianji
59、IS </p><p> PORT (cc : in STD_LOGIC;</p><p> dd : OUT STD_LOGIC_VECTOR (1 DOWNTO 0);</p><p> deng : OUT STD_LOGIC_VECTOR (2 DOWNTO 0)</p><p><b> );</b&g
60、t;</p><p> END dianji;</p><p> ARCHITECTURE behave OF dianji IS</p><p> SIGNAL count5: STD_LOGIC_VECTOR (2 DOWNTO 0);</p><p> SIGNAL dian : STD_LOGIC_VECTOR (1 DOWN
61、TO 0);</p><p> SIGNAL deng1 : STD_LOGIC_VECTOR (2 DOWNTO 0);</p><p><b> BEGIN</b></p><p> dd <= dian;</p><p> deng<=deng1;</p><p> p
62、rocess(cc)</p><p><b> BEGIN</b></p><p> IF RISING_EDGE(cc) ThEN</p><p> IF count5= "101" THEN</p><p> Count5 <= "000";</p>
63、<p><b> ELSE </b></p><p> count5<= count5+1; </p><p><b> END IF;</b></p><p> IF count5="000" THEN</p><p> dian<=&qu
64、ot;01";deng1<="100";</p><p> ELSIF count5="010" THEN</p><p> dian<="00";deng1<="010";</p><p> ELSIF count5="011" T
65、HEN</p><p> dian<="11" ;deng1<="001";</p><p> END IF; </p><p><b> END IF;</b></p><p> END PROCESS;</p><p> EN
66、D behave;</p><p> 附錄5 數(shù)碼管顯示模塊源代碼</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY sh
67、uma IS</p><p> PORT(CLK_2KHz : IN STD_LOGIC;</p><p> dout1,dout2: IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> SEG : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p> DIG : OU
68、T STD_LOGIC_VECTOR(7 DOWNTO 0));</p><p> END shuma;</p><p> ARCHITECTURE bhv OF shuma IS</p><p> SIGNAL COUNT : STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p> SIGNAL SEL : S
69、TD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> SIGNAL DATA : STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p><b> BEGIN</b></p><p> DATA<=dout2&dout1;</p><p> P0: PROC
70、ESS(CLK_2KHz)</p><p><b> BEGIN</b></p><p> IF RISING_EDGE(CLK_2KHz) THEN </p><p> IF COUNT="001" THEN COUNT<="000";</p><p> E
71、LSE COUNT<=COUNT+1;</p><p> END IF;END IF;</p><p> END PROCESS P0;</p><p> P1: PROCESS(COUNT)</p><p><b> BEGIN</b></p><p> CASE COUNT
72、 IS</p><p> WHEN "000"=> SEL <=DATA( 7 DOWNTO 4 ); DIG <=X"FD";</p><p> WHEN "001"=> SEL <=DATA( 3 DOWNTO 0 ); DIG <=X"FE";</p>
73、<p> WHEN OTHERS => NULL;</p><p><b> END CASE;</b></p><p> END PROCESS P1;</p><p> P2: PROCESS(SEL)</p><p><b> BEGIN</b></p>
74、<p> CASE SEL IS</p><p> WHEN "0000"=> SEG <=X"c0";--顯示0</p><p> WHEN "0001"=> SEG <=X"f9";--顯示1</p><p> WHEN "
75、0010"=> SEG <=X"a4";--顯示2</p><p> WHEN "0011"=> SEG <=X"b0";--顯示3</p><p> WHEN "0100"=> SEG <=X"99";--顯示4</p>
76、<p> WHEN "0101"=> SEG <=X"92";--顯示5</p><p> WHEN "0110"=> SEG <=X"82";--顯示6</p><p> WHEN "0111"=> SEG <=X"f8&
77、quot;;--顯示7</p><p> WHEN "1000"=> SEG <=X"80";--顯示8</p><p> WHEN "1001"=> SEG <=X"90";--顯示9</p><p> WHEN OTHERS=> SEG &
78、lt;=X"FF";--不顯示</p><p><b> END CASE;</b></p><p> END PROCESS P2;</p><p><b> END bhv;</b></p><p> 附錄6 報(bào)警模塊源代碼</p><p>
79、 LIBRARY IEEE; </p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_ARITH.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY waming IS</p&
80、gt;<p> port(clk: IN STD_LOGIC;</p><p> finishc: IN STD_LOGIC;</p><p> warn: OUT STD_LOGIC);</p><p> END waming;</p><p> ARCHITECTURE six OF waming IS</p
81、><p><b> BEGIN </b></p><p> PROCESS (clk)</p><p><b> BEGIN</b></p><p> If finishc='1'THEN</p><p> warn<=clk;</p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字邏輯課程設(shè)計(jì)之洗衣機(jī)控制器
- 洗衣機(jī)控制器數(shù)字邏輯課程設(shè)計(jì)報(bào)告
- 數(shù)字邏輯實(shí)驗(yàn)課程設(shè)計(jì)——洗衣機(jī)定時(shí)控制器設(shè)計(jì)
- 洗衣機(jī)控制器課程設(shè)計(jì)
- 洗衣機(jī)控制器課程設(shè)計(jì)
- 洗衣機(jī)控制器課程設(shè)計(jì)--- 基于單片機(jī)的洗衣機(jī)控制器設(shè)計(jì)
- 課程設(shè)計(jì)--簡易洗衣機(jī)控制器
- eda課程設(shè)計(jì)---洗衣機(jī)控制器
- 數(shù)字電路課程設(shè)計(jì)洗衣機(jī)控制器的設(shè)計(jì)
- 課程設(shè)計(jì)--簡易洗衣機(jī)控制器設(shè)計(jì)
- eda課程設(shè)計(jì)---洗衣機(jī)控制器設(shè)計(jì)
- 數(shù)字電子技術(shù)課程設(shè)計(jì)--簡易洗衣機(jī)控制器設(shè)計(jì)
- 數(shù)字邏輯課程設(shè)計(jì)報(bào)告---洗衣機(jī)控制電路設(shè)計(jì)
- 洗衣機(jī)控制器
- 電子技術(shù)課程設(shè)計(jì)--智能洗衣機(jī)控制器
- eda課程設(shè)計(jì)---基于fpga的洗衣機(jī)控制器的設(shè)計(jì)
- veriloghdl洗衣機(jī)控制器設(shè)計(jì)
- 洗衣機(jī)定時(shí)控制系統(tǒng)數(shù)字電路課程設(shè)計(jì)
- 數(shù)字邏輯課程設(shè)計(jì)電梯控制器
- 洗衣機(jī)控制系統(tǒng)課程設(shè)計(jì)報(bào)告
評論
0/150
提交評論