【正文】
stopcun(1)=39。139。 if downcun(1)=39。 end if。039。 電梯進入開門狀態(tài)且將與所在樓層相關的請求清除 when dooropen =state=wait1。 電梯到達樓層后,停兩秒再開門 when wait2= if quick=39。139。 when wait3=state=wait4。 when wait7=state=wait8。 if dengwo=39。 請求沒有執(zhí)行完畢,繼續(xù)執(zhí)行程序 else state=stop。 state=rukou。039。039。039。039。 電梯停止運行,進入上鎖狀態(tài) end if。 end xin。 5 電梯開門延時模擬 電梯受到一個不馬上關門信號( dengwo=’1’),電梯關上的門重新打開,并延長一段時間門。在應用 VHDL 的過程中讓我真正領會到了其并行運行與其他軟件( C 語言)順序執(zhí)行的差別及其在電路設計上的優(yōu)越性。我想這次實踐不僅使我們學科學知識這么簡單,它還使我們明白了很多的道理,例如如何在絕望中尋找希望,陽光總在風雨后等等,我想對每一個同學而言,這番經歷 都將使其獲益終生。 俗話說寫程序容易,調試程序難,通過這次實踐我真正體會到了這句話的深刻含義,尤其是對做電梯的同學來說,體會會更深一些,電梯本身并不復雜,就是那么幾個狀態(tài),之所以難完全是因為電梯的模塊較少,集成度比較高,主程序模塊的代碼非常長(平均大概是170 行左右,高的可達 250 多行),這就給調試造成了極大的不方便,因為 代碼少,出現(xiàn)錯誤的概率也比較小。 注釋: 由于有的信號名字太長無法全部顯示出來,現(xiàn)特意標示(每幅圖都一樣),信號的名稱依次為: alarm alarmled clk1 delay dengwo dooropenled down2 down3 down4 downled It1 It2 It3 It4 led1 led2 led3 led4 lock overweight overweightled quick up1 up2 up3 upled 。先是一樓有向上請求想到二樓去同時二樓有向上請求到四樓去,接著四樓有下降請求回到一樓,電梯運行情況是:電梯在一樓(一樓指示燈 led1 亮)時開門持續(xù) 6 秒(波形上可以看到開門燈亮),關門后,電梯向上運行(上行指示燈亮 2 秒),到二樓后(二樓指示燈 led2 亮),電梯開門(同樣開門燈持續(xù)亮六秒),接著電梯繼續(xù)上升,上行指示燈亮 2 秒,到三樓時,三樓指示燈 led3 亮,電梯繼續(xù)向上運行,上行指示燈亮 2 秒,到達四樓時四樓指示燈亮,同時電梯門打開(開門燈亮 6 秒),關門后,電梯向下運行(下降指示燈亮 2 秒),到達三樓時三樓指示燈亮,電梯繼續(xù)向下運行(下降指示燈亮 2 秒),到達 2 樓時二樓指示燈亮,電梯繼續(xù)向下運行(下降指示燈亮兩秒),到達一樓時,電梯門打開(開門燈亮),關門后沒有 其它請求,電梯停止運行。 end if。039。039。039。039。039。 when stop=if position1 then stopcun(0)=39。 then state=wait6。 延時過程 when wait9= dooropenled=39。 when wait5=state=wait6。 延時關門,電梯開門后 過九秒關門 else state=wait5。 then state=wait7。139。 7 / 12 end if。139。 then downcun(1)=39。039。end if。 if stopcun(1)=39。139。 then upcun(1)=39。039。end if。if position=1 then if upcun(0)=39。 and downcun(0) =39。 電梯在三樓且當前層沒有請求,電梯繼續(xù)下降 elsif position=2 and dd30010 and stopcun(1)=39。039。 end if。led3=39。 else led1=39。led3=39。 elsif position=4 then led4=39。led1=39。 elsif position=3 then led3=39。led3=39。 elsif position=2 then led2=39。led3=39。 到達新的樓層,下降指示燈滅 if position=1 then led1=39。 下降狀態(tài),下降指示燈亮 when dnwait1=state=dnwait2。 end if。 then stopcun(1)=39。039。 end if。 elsif position=2 then if downcun(0)=39。139。 then upc