




免費(fèi)預(yù)覽已結(jié)束,剩余9頁(yè)可下載查看
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)字系統(tǒng)設(shè)計(jì)與硬件描述語(yǔ)言期末考試作業(yè)題目: 洗衣機(jī)控制器的設(shè)計(jì) 學(xué)院: 電子信息工程學(xué)院 專業(yè): 物聯(lián)網(wǎng)工程 學(xué)號(hào): 3014204328 姓名: 劉涵凱 2016-12-10一、 選題設(shè)計(jì)描述1. 功能介紹洗衣機(jī)控制器,能夠?qū)崿F(xiàn)開(kāi)始與暫停、注水,洗滌、排水、脫水和警報(bào)提醒的功能,并且可以隨時(shí)更改洗衣模式。洗衣機(jī)提供兩種模式:模式1:注水-洗滌-排水-注水-洗滌-排水-脫水;模式2:脫水。洗衣模式?jīng)Q定洗衣時(shí)間。默認(rèn)模式為模式2。洗衣機(jī)界面如下圖所示:運(yùn)轉(zhuǎn)方式如下圖所示:2. 算法簡(jiǎn)介總程序描述:總程序通過(guò)調(diào)用5種模塊,在洗衣機(jī)控制器輸入變化時(shí),立刻轉(zhuǎn)換模式并產(chǎn)生對(duì)應(yīng)輸出。當(dāng)開(kāi)關(guān)關(guān)閉時(shí),所有輸出為0;暫停時(shí),除顯示開(kāi)關(guān)狀態(tài)的輸出外,所有輸出為0。開(kāi)關(guān)開(kāi)啟后,設(shè)置洗衣模式,之后按下“開(kāi)始”即可開(kāi)始工作。在洗衣機(jī)控制器輸入變化時(shí),立刻轉(zhuǎn)換模式并產(chǎn)生對(duì)應(yīng)輸出。電子元器件模型如下圖所示:switch為開(kāi)關(guān)信號(hào),modelselect為開(kāi)關(guān)選擇信號(hào),clkin為系統(tǒng)時(shí)序脈沖信號(hào),sorp為開(kāi)始/暫停信號(hào)。waterstate為注水程序的工作狀態(tài),washrstate為洗滌程序的工作狀態(tài),drainstate為排水程序的工作狀態(tài),drystate為脫水程序的工作狀態(tài)。alarmout為警報(bào)提醒的狀態(tài)。switchstate為數(shù)碼管顯示的開(kāi)關(guān)的狀態(tài)(0/1),spstate為數(shù)碼管顯示的開(kāi)始/暫停的狀態(tài)(0/1), state為數(shù)碼管顯示的洗衣機(jī)工作狀態(tài)(04),currentmodel為數(shù)碼管顯示的當(dāng)前模式(02),timedecade為數(shù)碼管顯示的剩余時(shí)間的十位,timeunit為數(shù)碼管顯示的剩余時(shí)間的個(gè)位。下面介紹各模塊功能與算法:1)開(kāi)關(guān)與模式選擇模塊a接收開(kāi)關(guān)信息,b接收模式選擇信息。c輸出總電路的開(kāi)關(guān)信息(開(kāi)啟洗衣機(jī)并且設(shè)置完畢電路后,即可準(zhǔn)備工作,等待“開(kāi)始”信號(hào))。e為開(kāi)關(guān)信息,將輸入到數(shù)碼管中顯示。time1與time2分別代表洗衣時(shí)間的十位和個(gè)位,將輸入到計(jì)數(shù)器與警報(bào)模塊中。y為模式信息,將輸入到碼管中顯示。2)開(kāi)始/暫停模塊a接收開(kāi)關(guān)信息,b接收開(kāi)始/暫停信息,clk接收系統(tǒng)時(shí)序脈沖信號(hào)。startorpause輸出受開(kāi)始/暫停信息調(diào)控的系統(tǒng)時(shí)序脈沖信號(hào)。y為開(kāi)始/暫停信息,將輸入到碼管中顯示。3)計(jì)數(shù)器與警報(bào)模塊clk接收受開(kāi)始/暫停信息調(diào)控的系統(tǒng)時(shí)序脈沖信號(hào),a接收開(kāi)關(guān)信息,time1和time2分別接收洗衣時(shí)間的十位和個(gè)位。alarm輸出警報(bào)信息;outtime1和outtime2分別為剩余時(shí)間的十位和個(gè)位,將輸入到數(shù)碼管中顯示,同時(shí)將輸入到控制模塊中。在脈沖信號(hào)的控制下,剩余時(shí)間逐漸減少,當(dāng)剩余時(shí)間為0時(shí),停止減小,并開(kāi)啟警報(bào)。4)控制模塊a接收開(kāi)關(guān)信息,b接收開(kāi)始/暫停信息,time1和time2分別接收剩余時(shí)間的十位和個(gè)位。water、wash、drain、dry分別輸出注水、洗滌、排水、脫水的控制信息。act為模塊內(nèi)部使用的BUFFER量??刂颇K根據(jù)剩余時(shí)間的多少?zèng)Q定工作狀態(tài)。如:剩余時(shí)間為16-30分鐘時(shí)洗滌,31-35分鐘時(shí)注水。則剩余時(shí)間33分鐘時(shí),water為1,其他控制信息為0;剩余時(shí)間21分鐘時(shí),wash為1,其他控制信息為0。5)譯碼器與數(shù)碼管顯示模塊b接收開(kāi)關(guān)信息,a接收4位二進(jìn)制數(shù)據(jù)。q在數(shù)碼管上顯示字形。二、 程序源代碼及說(shuō)明程序代碼由主程序及5個(gè)模塊代碼組成1)主程序LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL ;ENTITY xyj IS PORT(switch,modelselect,clkin,sorp: IN STD_LOGIC; -電源開(kāi)關(guān)、模式選擇、時(shí)鐘、開(kāi)始/暫停按鍵狀態(tài)的輸入 waterstate,washstate,drainstate,drystate,alarmout: OUT STD_LOGIC; -注水程序、洗滌程序、排水程序、脫水程序、警報(bào)狀態(tài)的輸出 switchstate,spstate,state,currentmodel,timedecade,timeunit: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); -工作狀態(tài)、工作模式、剩余時(shí)間的輸出END ENTITY xyj;ARCHITECTURE behave OF xyj ISCOMPONENT model -調(diào)用開(kāi)關(guān)與模式選擇模塊 PORT(a,b: IN STD_LOGIC; c: OUT STD_LOGIC; e,time1,time2,y: OUT STD_LOGIC_VECTOR ( 3 DOWNTO 0 ); END COMPONENT model; COMPONENT count -調(diào)用計(jì)數(shù)器與警報(bào)模塊 PORT(clk,a: IN STD_LOGIC; time1,time2: IN STD_LOGIC_VECTOR(3 DOWNTO 0); alarm: OUT STD_LOGIC; outtime1,outtime2: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END COMPONENT count; COMPONENT BCD7 -調(diào)用譯碼器與數(shù)碼管顯示模塊 PORT(b: IN STD_LOGIC; a: IN STD_LOGIC_VECTOR(3 DOWNTO 0); q : OUT STD_LOGIC_VECTOR(0 TO 6) ); END COMPONENT BCD7; COMPONENT startpause -調(diào)用開(kāi)始/暫停模塊 PORT(a,b,clk: IN STD_LOGIC; startorpause: OUT STD_LOGIC; e: OUT STD_LOGIC_VECTOR ( 3 DOWNTO 0 ); END COMPONENT startpause; COMPONENT control -調(diào)用控制模塊 PORT(a,b: IN STD_LOGIC; time1,time2: IN STD_LOGIC_VECTOR(3 DOWNTO 0); water,wash,drain,dry: OUT STD_LOGIC; act: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0); END COMPONENT control; SIGNAL sig1,sig2,sigBCD7_1,sigBCD7_2,sigBCD7_3,sigBCD7_4,sigBCD7_5,sigBCD7_6:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL aout,bout:STD_LOGIC;BEGINU1: model PORT MAP(a=switch,b=modelselect,c=aout,y=sigBCD7_1,time1=sig1,time2=sig2,e=sigBCD7_5); U2: startpause PORT MAP(a=aout,b=sorp,clk=clkin,startorpause=bout,e=sigBCD7_6); U3: control PORT MAP(a=aout,b=sorp,time1=sigBCD7_2,time2=sigBCD7_3,water=waterstate,wash=washstate,drain=drainstate,dry=drystate,act=sigBCD7_4); U4: count PORT MAP(a=aout,clk=bout,time1=sig1,time2=sig2,alarm=alarmout,outtime1=sigBCD7_2,outtime2=sigBCD7_3); U5: BCD7 PORT MAP(b=aout,a=sigBCD7_1,q=currentmodel); U6: BCD7 PORT MAP(b=aout,a=sigBCD7_2,q=timedecade); U7: BCD7 PORT MAP(b=aout,a=sigBCD7_3,q=timeunit); U8: BCD7 PORT MAP(b=aout,a=sigBCD7_4,q=state); U9: BCD7 PORT MAP(b=aout,a=sigBCD7_5,q=switchstate); U10: BCD7 PORT MAP(b=aout,a=sigBCD7_6,q=spstate);END ARCHITECTURE behave;2)開(kāi)關(guān)與模式選擇模塊LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL;ENTITY model IS -開(kāi)關(guān)與模式選擇模塊 PORT(a,b: IN STD_LOGIC; -定義開(kāi)關(guān)和模式選擇按鍵的輸入 c: OUT STD_LOGIC; -洗衣機(jī)工作開(kāi)關(guān)的輸出 e,time1,time2,y: OUT STD_LOGIC_VECTOR ( 3 DOWNTO 0 ); -定義所需時(shí)間/min,time1為十位,time2為各位END ENTITY model;ARCHITECTURE behave OF model ISBEGIN PROCESS(a,b) BEGIN IF(a=1)THEN -開(kāi)關(guān)開(kāi)啟時(shí)執(zhí)行 CASE b IS WHEN 1 = y=0001;time1=0110;time2 y=0010;time1=0001;time2=0000; -模式2:10分鐘 END CASE; c=1;e=0001; -開(kāi)關(guān)開(kāi)啟且模式選擇完畢,開(kāi)始工作 ELSE y=0000;time1=0000;time2=0000; c=0;e startorpause=clk;e startorpause=0;e=0000; END CASE; ELSIF(a=0)THEN startorpause=0;e=0000; END IF; END PROCESS;END ARCHITECTURE behave;4)計(jì)數(shù)器與警報(bào)模塊LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL ;ENTITY count IS -計(jì)數(shù)器與警報(bào)模塊 PORT(clk,a: IN STD_LOGIC; time1,time2: IN STD_LOGIC_VECTOR(3 DOWNTO 0); alarm: OUT STD_LOGIC; outtime1,outtime2: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END ENTITY count;ARCHITECTURE behave OF count ISSIGNAL intime11 : STD_LOGIC_VECTOR(3 DOWNTO 0):=0000;SIGNAL intime22 : STD_LOGIC_VECTOR(3 DOWNTO 0):=0000;SIGNAL intime3 : STD_LOGIC_VECTOR(1 DOWNTO 0):=01; -intime3與intime4聯(lián)系,實(shí)現(xiàn)變量的合理賦值SIGNAL intime4 : STD_LOGIC_VECTOR(1 DOWNTO 0):=00;BEGINPROCESS(time1) -此段的作用為當(dāng)模式更改時(shí),令變量重新賦值 BEGIN IF(time1/=0110)THEN intime3=10;ELSIF(time1/=0001)THENintime3=11;ELSE intime3=01;END IF; intime11=time1;intime22=time2;END PROCESS; PROCESS(clk,intime3,intime4)VARIABLE intime1,intime2 : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINIF(clkEVENT AND clk=1)THENIF(a=1)THENIF(intime3/=intime4)THEN -第一個(gè)PROCESS運(yùn)行時(shí),變量被重新賦值 intime4=intime3; intime1:=intime11; intime2:=intime22;END IF; IF(intime2/=0000)THEN intime2:=intime2-1; alarm=0; ELSIF(intime1/=0000)THEN intime2:=1001; intime1:=intime1-1; alarm=0; ELSE alarm=1; END IF;outtime1=intime1;outtime201010101)THEN act01000000)THENact00110101)THENact00110000)THENact00010101)THENact00010000)THENact00000000)THENact=0100; -脫水ELSE act=0000; END IF; ELSE act=0000;END IF;ELSE act water=1;wash=0;drain=0;dry water=0;wash=1;drain=0;dry water=0;wash=0;drain=1;dry water=0;wash=0;drain=0;dry water=0;wash=0;drain=0;dry q q q q q q q q q q q=0000000; END CASE; ELSE q=1111110; END IF; END PROCESS; END behav;三、 仿真結(jié)果及分析首先對(duì)每個(gè)模塊進(jìn)行仿真:1)開(kāi)關(guān)與模式選擇模塊1、 仿真結(jié)果表明,只有a為1時(shí),輸出變化。但a為1的一瞬間便已有了模式,這不符合洗衣機(jī)的操作流程,所以在之后的模塊中寫(xiě)入了控制其輸出變化的程序。2、 仿真考慮多種情況,如:a變換時(shí)、a為0且b變化時(shí)等,輸出皆符合所需。2)開(kāi)始/暫停模塊1、 仿真結(jié)果表明,只有a為1時(shí),輸出變化,產(chǎn)生受b控制的脈沖信號(hào)。2、 仿真考慮多種情況,如:a變換時(shí)、a為0且b變化時(shí)等,輸出皆符合所需。3)計(jì)數(shù)器與警報(bào)模塊模塊運(yùn)行完全符合所需,輸出了正確的剩余時(shí)間與alarm。4)控制模塊1、對(duì)模塊在開(kāi)關(guān)、開(kāi)始/暫停及剩余時(shí)間變化下控制的仿真。2、仿真結(jié)果表明,暫停時(shí)(b為0),洗衣進(jìn)程停止,開(kāi)始時(shí),進(jìn)程繼續(xù); 3、仿真模擬了“暫停-切換模式-開(kāi)始”的進(jìn)程,輸出符合所需。5)譯碼器與數(shù)碼管顯示模塊1、對(duì)模塊在開(kāi)關(guān)及輸入控制下的輸出仿真。2、仿真
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 財(cái)務(wù)信息保密及第三方審計(jì)協(xié)議
- 智能辦公系統(tǒng)與辦公室裝修一體化項(xiàng)目合同
- 收養(yǎng)協(xié)議書(shū)范本范文
- 賣(mài)公司協(xié)議書(shū)范本
- 研發(fā)中心場(chǎng)地租賃保證金技術(shù)轉(zhuǎn)移轉(zhuǎn)化協(xié)議
- 創(chuàng)業(yè)公司財(cái)務(wù)總監(jiān)股權(quán)分配及風(fēng)險(xiǎn)控制聘用合同
- 河道渣土清運(yùn)協(xié)議書(shū)范本
- 美國(guó)出口貨物貨運(yùn)代理合同范本
- 機(jī)場(chǎng)擴(kuò)建征地拆遷補(bǔ)償協(xié)議書(shū)
- 企業(yè)并購(gòu)重組稅務(wù)處理與咨詢服務(wù)合同
- 電工廠搬遷方案(3篇)
- 2024年深圳市中考?xì)v史試卷真題(含答案解析)
- 江蘇省建筑與裝飾工程計(jì)價(jià)定額(2014)電子表格版
- 脫碳塔CO2脫氣塔設(shè)計(jì)計(jì)算
- WYA-2WAJ阿貝折射儀使用說(shuō)明書(shū)
- 體育課身體素質(zhì)練習(xí)教案
- kW殼管式干式蒸發(fā)器設(shè)計(jì)
- 新進(jìn)員工三級(jí)教育卡(參考)范本
- 系列螺桿冷水機(jī)組操作培訓(xùn)
- 五金用樣品承認(rèn)書(shū)
- 四年級(jí)下冊(cè)英語(yǔ)外研一起點(diǎn)知識(shí)要點(diǎn)匯總
評(píng)論
0/150
提交評(píng)論