




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 三層電梯控制電路設(shè)計一. 設(shè)計要求1. 每層電梯入口處設(shè)有上下請求開關(guān),電梯內(nèi)設(shè)有顧客到達(dá)層次的停站請求開關(guān)。2. 設(shè)有電梯入口處位置指示裝置及電梯運行模式(上升或下降)指示裝置。 3. 電梯每秒升(降)一層樓。4. 電梯到達(dá)有停站請求的樓層,經(jīng)過1秒電梯門打開,開門指示燈亮,開門4秒后,電梯門關(guān)閉(開門指示燈滅),電梯繼續(xù)進(jìn)行,直至執(zhí)行完最后一個請求信號后停留在當(dāng)前層。5. 能記憶電梯內(nèi)外所有請求,并按照電梯運行規(guī)則按順序響應(yīng),每個請求信號保留至執(zhí)行后消除。6. 電梯運行規(guī)則一當(dāng)電梯處于上升模式時,只響應(yīng)比電梯所在位置高的上樓請求信號,由下而上逐個執(zhí)行,直到最后一個上樓請求執(zhí)行完畢;如果高
2、層有下樓請求,則相反。7. 電梯初始狀態(tài)為一層開門狀態(tài)。二. 設(shè)計目的電梯控制器是控制電梯按顧客要求自動上下的裝置。本文采用VHDL語言來設(shè)計實用三層電梯控制器,其代碼具有良好的可讀性和易理解性, 通過對三層電梯控制器的設(shè)計,可以發(fā)現(xiàn)本設(shè)計有一定的擴(kuò)展性,而且可以作為更多層電梯控制器實現(xiàn)的基礎(chǔ)。三. 控制器的設(shè)計方案.控制器的功能模塊如圖1所示,包括主控制器、分控制器、樓層選擇器、狀態(tài)顯示器、譯碼器和樓層顯示器。乘客在電梯中選擇所要到達(dá)的樓層,通過主控制器的處理,電梯開始運行,狀態(tài)顯示器顯示電梯的運行狀態(tài),電梯所在樓層數(shù)通過譯碼器譯碼從而在樓層顯示器中顯示。分控制器把有效的請求傳給主控制器進(jìn)行
3、處理,同時顯示電梯的運行狀態(tài)和電梯所在樓層數(shù)。由于分控制器相對簡單很多,所以主控制器是核心部分。 圖1. 電梯控制器原理圖四. 三層電梯控制器的結(jié)構(gòu)體設(shè)計 首先說明一下狀態(tài)。狀態(tài)機(jī)設(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)
4、機(jī)。在結(jié)構(gòu)體中,設(shè)計了倆個進(jìn)程互相配合,一個是狀態(tài)機(jī)進(jìn)程作為主要進(jìn)程,另外一個是信號燈控制進(jìn)程作為輔助進(jìn)程。狀態(tài)機(jī)進(jìn)程中的很多判斷條件是以信號燈進(jìn)程產(chǎn)生的信號燈信號為依據(jù)的,而信號燈進(jìn)程中信號燈的熄滅又是由狀態(tài)機(jī)進(jìn)程中傳出的clearup和cleardn信號來控制。在狀態(tài)機(jī)進(jìn)程中,在電梯的上升狀態(tài)中,通過對信號燈的判斷,決定下一個狀態(tài)是繼續(xù)上升還是停止;在電梯下降狀態(tài)中,也是通過對信號燈的判斷,決定下一個狀態(tài)是繼續(xù)下降還是停止;在電梯停止?fàn)顟B(tài)中,判斷是最復(fù)雜的,通過對信號的判斷,決定電梯是上升、下降還是停止。 本設(shè)計需要完成的任務(wù)是編寫VHDL代碼來模擬現(xiàn)實中的三層電梯工作。在點陣上顯示電梯所
5、在的樓層,當(dāng)其它樓層有上或下的請求信號時,表示該樓層上或下的綠色或黃色指示燈亮,電梯開始上或下運行,當(dāng)?shù)竭_(dá)該樓層時,表示該樓層上或下的綠色或黃色指示燈滅,表示到達(dá)該樓層的紅色指示燈亮,點陣顯示樓層數(shù),紅色指示燈滅。五. vhdl源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;-entity elevator is port( clk : in std_logic; -Clock Signal k1,k2u,k2d,k3 : in st
6、d_logic; -Push button d1,d2u,d2d,d3 : out std_logic; -Led of every floor door1,door2,door3 : buffer std_logic; -door led r0,r1,r2,r3,r4,r5,r6,r7 : out std_logic; -7 segment driver sa,sb,sc : out std_logic); -Display Selectend elevator;-architecture behave of elevator is signal state1,state3 : std_lo
7、gic; signal state2u,state2d : std_logic; signal doorflag : std_logic; signal udflag,runflag : std_logic; -up and down flag,run flag signal dcount : std_logic_vector(2 downto 0); -display counter signal display : std_logic_vector(7 downto 0); signal location : std_logic_vector(1 downto 0); signal wco
8、unt : std_logic_vector(10 downto 0); -wait counter signal doorcount : std_logic_vector(9 downto 0); -door counter signal col1,col2,col3,col4,col5,col6 : std_logic_vector(7 downto 0); begin process(clk) - judge the key is or is not been pushed begin if(clk'event and clk='1') then if(k1=
9、39;0' and door1='0') then state1<='1' d1<='1' elsif(location=0 and wcount=0) then d1<='0' if(doorcount=1020) then state1<='0' end if; end if; if(k2u='0' and door2='0') then state2u<='1' d2u<='1' elsif(locat
10、ion=1 and udflag='1' and wcount=0) then d2u<='0' if(doorcount=1020) then state2u<='0' end if; end if; if(k2d='0' and door2='0') then state2d<='1' d2d<='1' elsif(location=1 and udflag='0' and wcount=0) then d2d<='0'
11、; if(doorcount=1020) then state2d<='0' end if; end if; if(k3='0' and door3='0') then state3<='1' d3<='1' elsif(location=2 and wcount=0) then d3<='0' if(doorcount=1020) then state3<='0' end if; end if; end if; end process; process
12、(clk) begin if(clk'event and clk='1') then if(location=0) then -display 1 col1<="00000001" col2<="00100001" col3<="01111111" col4<="11111111" col5<="00000001" col6<="00000001" elsif(location=1) then -display 2
13、col1<="01100011" col2<="11100111" col3<="10001101" col4<="10011001" col5<="11110011" col6<="01100111" elsif(location=2) then -display 3 col1<="01000010" col2<="11011011" col3<="10011001&qu
14、ot; col4<="10011001" col5<="11111111" col6<="01100110" end if; end if; end process; process(clk) -accumulate dcount begin if(clk'event and clk='1') then dcount<=dcount+1; end if; end process; process(clk) begin if(clk'event and clk='1'
15、;) then sa<=dcount(0); sb<=dcount(1); sc<=dcount(2); case dcount is when "111"=>display<="00000000" when others=>display<="00000000" end case; end if; end process; process(clk) -In this process, a,b,c,d,e,f,g and dot will output begin if(clk'eve
16、nt and clk='1') then r0<=display(7); r7<=display(0); end if; end process; end behave; 注釋:1. 本程序設(shè)計調(diào)用了IEEE庫,IEEE庫是VHDL設(shè)計中最為常用的庫,它包含有IEEE標(biāo)準(zhǔn)的程序包和其他一些支持工業(yè)標(biāo)準(zhǔn)的程序包。本設(shè)計采用了STD_LOGIC_1164、STD_LOGIC_ARITH、STD_LOGIC_UNSIGNED程序包。 圖2. 三層電梯控制器的vhdl描述 2以關(guān)鍵詞ENTITY引導(dǎo),END ENTITY threeflift結(jié)尾的語句部分,稱為實體。VHD
17、L的實體描述了電路器件的外部情況及各信號端口的基本性質(zhì)。本設(shè)計定義了關(guān)于三層電梯控制器用到的各類時鐘、異步復(fù)位按鍵、信號燈指示、電梯的請求。端口模式主要就是IN、BUFFER、OUT端口。及定義了各端口信號的數(shù)據(jù)類型,主要是STD_LOGIC(標(biāo)準(zhǔn)邏輯位數(shù)據(jù)類型)、INTEGER(整數(shù)類型)、STD_LOGIC_VECTOR(標(biāo)準(zhǔn)邏輯矢量數(shù)據(jù)類型)。這些都滿足上面調(diào)用的IEEE庫中的程序包。3. 以關(guān)鍵詞ARCHITECTURE引導(dǎo),END ARCHITECTUREa結(jié)尾的語句部分,稱為結(jié)構(gòu)體。結(jié)構(gòu)體負(fù)責(zé)描述電路器件的內(nèi)部邏輯功能或電路結(jié)構(gòu)。本設(shè)計定義了lO個狀態(tài)。描述了在三層電梯中出現(xiàn)的各種
18、可能的情況作為控制電梯的主要進(jìn)程。信號燈控制作為輔助進(jìn)程。六. 三層電梯控制器模塊原理圖 圖3. 三層電梯控制器模塊原理圖七. 三層電梯控制器的仿真模塊1. 下圖所示仿真的是在第二層電梯外部有上升請求,也就是f2upbuttton信號的一個脈沖,可以看到電梯從一層上升到二層,position信號由1變到2,doorlight信號1表示開門,0表示關(guān)門。當(dāng)乘客進(jìn)入電梯以后,在電梯內(nèi)部要求上升到第三層,也就是stop3button產(chǎn)生一個脈沖,電梯上升到第3層,開門4秒以后關(guān)門,停留在第三層,position最后的值為3。在仿真圖中看不到buttonclk,只顯示為一條黑色的線,是因為采用了頻率較
19、大的時鐘。再看fuplight信號燈,當(dāng)二層有上升請求的時候,它的值由0變到2。(注意fuplight和fdnlight是3位的二進(jìn)制向量,這里的2代表“010”,表示二層有請求;“100”也就是4,表示三層有請求)。當(dāng)電梯停留到第二層以后,表明該請求被響應(yīng),所以它的值變?yōu)?,由于沒有下降請求信號,所以fdnlight信號燈的值一盲都為O。 圖4. 有上升請求的仿真波形.2. 是有下降請求的情況,它是圖4的繼續(xù),當(dāng)電梯停留在第三層的時候,在電梯外第二層有下降請求,這時候fdnlight信號燈由0變?yōu)?,說明第二層有下降請求。電梯下降到第二層,響應(yīng)了下降請求,所以fdnlight信號燈清0。這時
20、候,在電梯內(nèi)部沒有停留在哪層的請求,所以電梯就停留在第二層,position信號的值保持在2。 圖5有下降請求的仿真波形 3. 同時有上升和下降請求信號時,電梯的運行情況如圖6所示。圖6仿真的情況是,原先電梯停留在第一層,這時候電梯外第三層有下降請求,電梯上升到第三層,乘客進(jìn)入電梯以后要求下降到一層,與此同時,在電梯外第二層有上升請求,電梯首先要響應(yīng)下降請求然后再響應(yīng)這個上升請求,所以電梯得先下降到一層,然后再上升到第二層來,這是符合常理的。從仿真的波形看,電梯的位置變化和想象是一致的。電梯的運行情況完全正確。最后乘客在電梯內(nèi)部要求上升到三層,所以電梯最后的停留位置為三層。 圖6. 有上升和下降請求信號時的仿真波形 4. 圖7所示的仿真,原先電梯停留在第一層,電梯外第三層有下降請求,電梯上升到三層,乘客進(jìn)入電梯以后要求下降到一層,此時,二層有下降請求,接著又有上升請求,電梯首先在二層停留。然后下降到一層。隨后要響應(yīng)二層上升請求,上升到二層,乘客進(jìn)入電梯以后要求上升到三層,所以電梯最后的停留位置在三層。 圖7. 復(fù)雜情況下請求信號的仿真波形 八. 設(shè)計的擴(kuò)展性 在本設(shè)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 無線基站維護(hù)培訓(xùn)課件
- 抖音商戶短視頻創(chuàng)意提案評審制度
- BWA-6047-生命科學(xué)試劑-MCE
- 江蘇省興化市顧莊區(qū)三校2024-2025學(xué)年七上數(shù)學(xué)期末教學(xué)質(zhì)量檢測模擬試題含解析
- 美發(fā)培訓(xùn)卷杠課件
- 國際多式聯(lián)運操作規(guī)范與風(fēng)險管理
- 航空行業(yè)三年發(fā)展報告:國際與國內(nèi)市場的比較研究
- 2024-2025學(xué)年浙江省杭州市濱江區(qū)數(shù)學(xué)七年級第一學(xué)期期末調(diào)研試題含解析
- 云南司法警官職業(yè)學(xué)院《國畫山水》2023-2024學(xué)年第一學(xué)期期末試卷
- 河道垃圾清理管理辦法
- 2025屆黑龍江省大慶中學(xué)九上化學(xué)期末聯(lián)考試題含解析
- 20濕性愈合功能性敷料的種類與敷料選擇
- 燃?xì)鈭缶餍袠I(yè)發(fā)展分析及投資戰(zhàn)略研究報告2025-2028版
- 2025年中國扭蛋行業(yè)市場全景分析及前景機(jī)遇研判報告
- 2025至2030中國現(xiàn)金處理中心行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 小學(xué)音標(biāo)題目及答案
- 2024年宿州蕭縣縣直事業(yè)單位招聘真題
- 美好生活大調(diào)查:中國居民消費特點及趨勢報告(2025年度)
- 2025河南省豫地科技集團(tuán)有限公司社會招聘169人筆試參考題庫附帶答案詳解
- 快遞分揀人力承包協(xié)議書
- Q-GDW10162-2025 輸電桿塔固定式防墜落裝置技術(shù)規(guī)范
評論
0/150
提交評論