




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
./三層電梯控制電路設(shè)計一.設(shè)計要求1.每層電梯入口處設(shè)有上下請求開關(guān),電梯設(shè)有顧客到達層次的停站請求開關(guān)。2.設(shè)有電梯入口處位置指示裝置及電梯運行模式<上升或下降>指示裝置。3.電梯每秒升<降>一層樓。4.電梯到達有停站請求的樓層,經(jīng)過1秒電梯門打開,開門指示燈亮,開門4秒后,電梯門關(guān)閉<開門指示燈滅>,電梯繼續(xù)進行,直至執(zhí)行完最后一個請求信號后停留在當前層。5.能記憶電梯外所有請求,并按照電梯運行規(guī)則按順序響應(yīng),每個請求信號保留至執(zhí)行后消除。6.電梯運行規(guī)則一當電梯處于上升模式時,只響應(yīng)比電梯所在位置高的上樓請求信號,由下而上逐個執(zhí)行,直到最后一個上樓請求執(zhí)行完畢;如果高層有下樓請求,則相反。7.電梯初始狀態(tài)為一層開門狀態(tài)。二.設(shè)計目的電梯控制器是控制電梯按顧客要求自動上下的裝置。本文采用VHDL語言來設(shè)計實用三層電梯控制器,其代碼具有良好的可讀性和易理解性,通過對三層電梯控制器的設(shè)計,可以發(fā)現(xiàn)本設(shè)計有一定的擴展性,而且可以作為更多層電梯控制器實現(xiàn)的基礎(chǔ)。三.控制器的設(shè)計方案.控制器的功能模塊如圖1所示,包括主控制器、分控制器、樓層選擇器、狀態(tài)顯示器、譯碼器和樓層顯示器。乘客在電梯中選擇所要到達的樓層,通過主控制器的處理,電梯開始運行,狀態(tài)顯示器顯示電梯的運行狀態(tài),電梯所在樓層數(shù)通過譯碼器譯碼從而在樓層顯示器中顯示。分控制器把有效的請求傳給主控制器進行處理,同時顯示電梯的運行狀態(tài)和電梯所在樓層數(shù)。由于分控制器相對簡單很多,所以主控制器是核心部分。圖1.電梯控制器原理圖四.三層電梯控制器的結(jié)構(gòu)體設(shè)計首先說明一下狀態(tài)。狀態(tài)機設(shè)置了lO個狀態(tài),分別是電梯停留在l層<stoponl>、開門<dooropen>、關(guān)門<doorclose>、開門等待第1秒<doorwaitl>、開門等待第2秒<doorwait2>、開門等待第3秒<doorwait3>、開門等待第4秒<doorwait4>、上升<up>、下降<down>和停止<stop>。在實體說明定義完端口之后,在結(jié)構(gòu)體architecture和begin之間需要有如下的定義語句,來定義狀態(tài)機。在結(jié)構(gòu)體中,設(shè)計了倆個進程互相配合,一個是狀態(tài)機進程作為主要進程,另外一個是信號燈控制進程作為輔助進程。狀態(tài)機進程中的很多判斷條件是以信號燈進程產(chǎn)生的信號燈信號為依據(jù)的,而信號燈進程號燈的熄滅又是由狀態(tài)機進程中傳出的clearup和cleardn信號來控制。在狀態(tài)機進程中,在電梯的上升狀態(tài)中,通過對信號燈的判斷,決定下一個狀態(tài)是繼續(xù)上升還是停止;在電梯下降狀態(tài)中,也是通過對信號燈的判斷,決定下一個狀態(tài)是繼續(xù)下降還是停止;在電梯停止狀態(tài)中,判斷是最復(fù)雜的,通過對信號的判斷,決定電梯是上升、下降還是停止。本設(shè)計需要完成的任務(wù)是編寫VHDL代碼來模擬現(xiàn)實中的三層電梯工作。在點陣上顯示電梯所在的樓層,當其它樓層有上或下的請求信號時,表示該樓層上或下的綠色或黃色指示燈亮,電梯開始上或下運行,當?shù)竭_該樓層時,表示該樓層上或下的綠色或黃色指示燈滅,表示到達該樓層的紅色指示燈亮,點陣顯示樓層數(shù),紅色指示燈滅。五.vhdl源程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityelevatorisport<clk:instd_logic;--ClockSignalk1,k2u,k2d,k3:instd_logic;--Pushbuttond1,d2u,d2d,d3:outstd_logic;--Ledofeveryfloordoor1,door2,door3:bufferstd_logic;--doorledr0,r1,r2,r3,r4,r5,r6,r7:outstd_logic;--7segmentdriversa,sb,sc:outstd_logic>;--DisplaySelectendelevator;architecturebehaveofelevatorissignalstate1,state3:std_logic;signalstate2u,state2d:std_logic;signaldoorflag:std_logic;signaludflag,runflag:std_logic;--upanddownflag,runflagsignaldcount:std_logic_vector<2downto0>;--displaycountersignaldisplay:std_logic_vector<7downto0>;signallocation:std_logic_vector<1downto0>;signalwcount:std_logic_vector<10downto0>;--waitcountersignaldoorcount:std_logic_vector<9downto0>;--doorcountersignalcol1,col2,col3,col4,col5,col6:std_logic_vector<7downto0>;beginprocess<clk>--judgethekeyisorisnotbeenpushedbeginif<clk'eventandclk='1'>thenif<k1='0'anddoor1='0'>thenstate1<='1';d1<='1';elsif<location=0andwcount=0>thend1<='0';if<doorcount=1020>thenstate1<='0';endif;endif;if<k2u='0'anddoor2='0'>thenstate2u<='1';d2u<='1';elsif<location=1andudflag='1'andwcount=0>thend2u<='0';if<doorcount=1020>thenstate2u<='0';endif;endif;if<k2d='0'anddoor2='0'>thenstate2d<='1';d2d<='1';elsif<location=1andudflag='0'andwcount=0>thend2d<='0';if<doorcount=1020>thenstate2d<='0';endif;endif;if<k3='0'anddoor3='0'>thenstate3<='1';d3<='1';elsif<location=2andwcount=0>thend3<='0';if<doorcount=1020>thenstate3<='0';endif;endif;endif;endprocess;process<clk>beginif<clk'eventandclk='1'>thenif<location=0>then--display1col1<="00000001";col2<="00100001";col3<="01111111";col4<="11111111";col5<="00000001";col6<="00000001";elsif<location=1>then--display2col1<="01100011";col2<="11100111";col3<="10001101";col4<="10011001";col5<="11110011";col6<="01100111";elsif<location=2>then--display3col1<="01000010";col2<="11011011";col3<="10011001";col4<="10011001";col5<="11111111";col6<="01100110";endif;endif;endprocess;process<clk>--accumulatedcountbeginif<clk'eventandclk='1'>thendcount<=dcount+1;endif;endprocess;process<clk>beginif<clk'eventandclk='1'>thensa<=dcount<0>;sb<=dcount<1>;sc<=dcount<2>;casedcountiswhen"111"=>display<="00000000";……whenothers=>display<="00000000";endcase;endif;endprocess;process<clk>--Inthisprocess,a,b,c,d,e,f,ganddotwilloutputbeginif<clk'eventandclk='1'>thenr0<=display<7>;……r7<=display<0>;endif;endprocess;endbehave;注釋:1.本程序設(shè)計調(diào)用了IEEE庫,IEEE庫是VHDL設(shè)計中最為常用的庫,它包含有IEEE標準的程序包和其他一些支持工業(yè)標準的程序包。本設(shè)計采用了STD_LOGIC_1164、STD_LOGIC_ARITH、STD_LOGIC_UNSIGNED程序包。圖2.三層電梯控制器的vhdl描述2.以關(guān)鍵詞ENTITY引導(dǎo),ENDENTITYthreeflift結(jié)尾的語句部分,稱為實體。VHDL的實體描述了電路器件的外部情況及各信號端口的基本性質(zhì)。本設(shè)計定義了關(guān)于三層電梯控制器用到的各類時鐘、異步復(fù)位按鍵、信號燈指示、電梯的請求。端口模式主要就是IN、BUFFER、OUT端口。及定義了各端口信號的數(shù)據(jù)類型,主要是STD_LOGIC<標準邏輯位數(shù)據(jù)類型>、INTEGER<整數(shù)類型>、STD_LOGIC_VECTOR<標準邏輯矢量數(shù)據(jù)類型>。這些都滿足上面調(diào)用的IEEE庫中的程序包。3.以關(guān)鍵詞ARCHITECTURE引導(dǎo),ENDARCHITECTUREa結(jié)尾的語句部分,稱為結(jié)構(gòu)體。結(jié)構(gòu)體負責(zé)描述電路器件的部邏輯功能或電路結(jié)構(gòu)。本設(shè)計定義了lO個狀態(tài)。描述了在三層電梯中出現(xiàn)的各種可能的情況作為控制電梯的主要進程。信號燈控制作為輔助進程。六.三層電梯控制器模塊原理圖圖3.三層電梯控制器模塊原理圖七.三層電梯控制器的仿真模塊1.下圖所示仿真的是在第二層電梯外部有上升請求,也就是f2upbuttton信號的一個脈沖,可以看到電梯從一層上升到二層,position信號由1變到2,doorlight信號‘1’表示開門,‘0再看fuplight信號燈,當二層有上升請求的時候,它的值由0變到2。<注意fuplight和fdnlight是3位的二進制向量,這里的2代表"010”,表示二層有請求;"100圖4.有上升請求的仿真波形.2.是有下降請求的情況,它是圖4的繼續(xù),當電梯停留在第三層的時候,在電梯外第二層有下降請求,這時候fdnlight信號燈由0變?yōu)?,說明第二層有下降請求。電梯下降到第二層,響應(yīng)了下降請求,所以fdnlight信號燈清0。這時候,在電梯部沒有停留在哪層的請求,所以電梯就停留在第二層,position信號的值保持在2。圖5.有下降請求的仿真波形3.同時有上升和下降請求信號時,電梯的運行情況如圖6所示。圖6仿真的情況是,原先電梯停留在第一層,這時候電梯外第三層有下降請求,電梯上升到第三層,乘客進入電梯以后要求下降到一層,與此同時,在電梯外第二層有上升請求,電梯首先要響應(yīng)下降請求然后再響應(yīng)這個上升請求,所以電梯得先下降到一層,然后再上升到第二層來,這是符合常理的。從仿真的波形看,電梯的位置變化和想象是一致的。電梯的運行情況完全正確。最后乘客在電梯部要求上升到三層,所以電梯最后的停留位置為三層。圖6.有上升和下降請求信號時的仿真波形4.圖7所示的仿真,原先電梯停留在第一層,電梯外第三層有下降請求,電梯上升到三層,乘客進入電梯以后要求下降到一層,此時,二層有下降請求,接著又有上升請求,電梯首先在二層停留。然后下降到一層。隨后要響應(yīng)二層上升請求,上升到二層,乘客進入電梯以后要求
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新疆師范大學(xué)《實驗室安全與法規(guī)》2023-2024學(xué)年第二學(xué)期期末試卷
- 重慶市主城區(qū)七校聯(lián)考2025年高三教學(xué)質(zhì)量檢測試題試卷(二)物理試題含解析
- 公共交通運營服務(wù)收費標準制度
- 第18課 清朝的邊疆治理 教案2024-2025學(xué)年七年級歷史下冊新課標
- 內(nèi)圓形吊頂施工方案
- 護坡植草施工方案
- 路基修復(fù)夜間施工方案
- 工程資料與施工方案
- 汽車隔音施工方案范本
- 2025年搞笑考試面試試題及答案
- 2025年合肥共達職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫附答案
- 2025美國急性冠脈綜合征(ACS)患者管理指南解讀課件
- 足球迷互動活動策劃與執(zhí)行策略
- 2025年寧夏工商職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫帶答案
- ESC+2024+心房顫動(房顫)管理指南解讀
- 三級機動車駕駛教練員職業(yè)資格理論題庫(匯總版)
- 辦公樓精裝修工程重難點
- 南方醫(yī)科大學(xué)研究生培養(yǎng)點評價簡況表
- 玉米雜交制種基地檔案豐墾種業(yè)(樣本)
- EXCEL函數(shù)公式培訓(xùn)PPT(共39張)
- A4標簽打印模板
評論
0/150
提交評論