2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  摘要I</b></p><p><b>  1概述1</b></p><p>  1.1課題背景及意義1</p><p>  1.2 EDA技術(shù)及實(shí)現(xiàn)方法概述1</p><p>  1.2.1 EDA技術(shù)簡(jiǎn)介2</p><p>  1.

2、2.2 FPGA簡(jiǎn)介3</p><p>  1.2.3 VHDL語(yǔ)言介紹4</p><p>  1.3 狀態(tài)機(jī)簡(jiǎn)介5</p><p>  2 系統(tǒng)方案設(shè)計(jì)6</p><p><b>  2.1設(shè)計(jì)要求6</b></p><p>  2.2 總體設(shè)計(jì)方案6</p><

3、p>  2.2.1 控制器模塊化概述6</p><p>  2.2.2 電梯上下層運(yùn)行流程圖7</p><p>  2.2.3電梯運(yùn)行控制流程圖8</p><p>  2.2.4 電梯控制器設(shè)計(jì)思路9</p><p>  2.3 設(shè)計(jì)的VHDL實(shí)現(xiàn)10</p><p>  2.3.1 控制器實(shí)體設(shè)計(jì)1

4、0</p><p>  2.3.2 控制器結(jié)構(gòu)體設(shè)計(jì)11</p><p><b>  3 器件選型11</b></p><p>  3.1 FPGA芯片選型11</p><p>  3.2 功能模塊12</p><p>  3.2.1 主控器模塊12</p><p&g

5、t;  3.2.2 分頻器模塊13</p><p>  3.2.3 譯碼器模塊13</p><p>  3.2.4 數(shù)據(jù)選擇器模塊14</p><p><b>  4 程序仿真15</b></p><p>  4.1 電梯控制器仿真分析15</p><p>  4.2 其它模塊仿真19

6、</p><p><b>  5 結(jié)論19</b></p><p><b>  參考文獻(xiàn)21</b></p><p><b>  致謝22</b></p><p><b>  附錄23</b></p><p>  基于FPG

7、A 的六層電梯控制系統(tǒng)</p><p><b>  摘 要</b></p><p>  本設(shè)計(jì)是基于電子設(shè)計(jì)自動(dòng)化(EDA)技術(shù)中的甚高速集成電路硬件描述語(yǔ)言(VHDL)語(yǔ)言,運(yùn)用FPGA所開(kāi)發(fā)的四層電梯控制程序,采用Quartus II軟件仿真。運(yùn)用有限狀態(tài)機(jī)的設(shè)計(jì)方法,設(shè)計(jì)了兩個(gè)進(jìn)程相互配合,狀態(tài)機(jī)進(jìn)程作為主要進(jìn)程,信號(hào)燈控制進(jìn)程作為輔助進(jìn)程。在主進(jìn)程中定義了7

8、個(gè)狀態(tài),在電梯時(shí)鐘的觸發(fā)下,通過(guò)當(dāng)前狀態(tài)和信號(hào)燈信號(hào)判定下一狀態(tài)。信號(hào)燈控制進(jìn)程中,信號(hào)燈存儲(chǔ)按鍵請(qǐng)求情況,它的熄滅是由狀態(tài)機(jī)進(jìn)程中傳出的信號(hào)來(lái)控制。</p><p>  通過(guò)程序調(diào)試及運(yùn)行仿真,結(jié)果表明,本程序可以完成電梯運(yùn)行所在樓層顯示、電梯運(yùn)行方向指示、關(guān)門(mén)延時(shí)設(shè)置等。</p><p>  關(guān)鍵詞:電梯控制器 VHDL 狀態(tài)機(jī) FPGA</p><p>

9、<b>  1概述</b></p><p>  1.1課題背景及意義</p><p>  隨高層樓宇的增加,電梯越來(lái)越多的走進(jìn)了人們的生活,對(duì)人們的生活的影響越來(lái)越大。為了讓電梯更好的服務(wù)人們,各種電梯新技術(shù)不斷地發(fā)展起來(lái)。隨著人們生活水平的不斷提高,經(jīng)濟(jì)的快速發(fā)展和生產(chǎn)生活的需要,城市高層建筑如雨后春筍拔地而起。與此相應(yīng),作為一種可以垂直升降運(yùn)輸?shù)墓ぞ咭浑娞菀驳玫窖?/p>

10、猛的發(fā)展?,F(xiàn)在,電梯已完全融入我們的生活、工作及學(xué)習(xí)中,人們?cè)絹?lái)越離不開(kāi)它。因此,它的安全可靠性、迅速準(zhǔn)確性、舒適性,對(duì)人們來(lái)說(shuō)都是非常重要的。為了確保電梯正常運(yùn)行、安全使用,一般電梯都有專業(yè)的維修管理人員。他們必須對(duì)電梯原理、性能、特點(diǎn)、控制、運(yùn)行要全面認(rèn)識(shí)和掌握,才能做到對(duì)電梯的正確使用、管理及維護(hù)。根據(jù)我國(guó)有關(guān)部門(mén)的規(guī)定,電梯作業(yè)屬于特種作業(yè),其作業(yè)人員必須經(jīng)過(guò)專門(mén)培訓(xùn),并經(jīng)理論考試和實(shí)踐考核合格后,發(fā)給《特種作業(yè)操作證》方可上崗

11、操作。同時(shí),對(duì)電梯操作人員定期考核,讓他們定期參加安全技術(shù)學(xué)習(xí),扎扎實(shí)實(shí)地做好電梯維護(hù)和保養(yǎng)工作,才能使人們平安長(zhǎng)久的使用電梯。</p><p>  電梯控制系統(tǒng)是一個(gè)相當(dāng)復(fù)雜的邏輯控制系統(tǒng).系統(tǒng)要同時(shí)對(duì)幾百個(gè)信號(hào)進(jìn)行接收、處理。由于用戶對(duì)電梯功能的要求不斷提高.其相應(yīng)控制方式也在不斷發(fā)生變化。隨著EDA技術(shù)的快速發(fā)展.基于FPGA的微機(jī)化控制已廣泛應(yīng)用于電梯電路設(shè)計(jì)與控制的各個(gè)方面。</p>&l

12、t;p>  在經(jīng)濟(jì)不斷發(fā)展,科學(xué)技術(shù)日新月異的今天,樓的高度已和經(jīng)濟(jì)發(fā)展同樣的速度成長(zhǎng)起來(lái)。作為建筑的中樞神經(jīng),電梯起著不可或缺的作用,電梯作為建筑物內(nèi)的主要運(yùn)輸工具,像其他的交通工具一樣,已經(jīng)成為我們?nèi)粘I畹囊粋€(gè)不可缺少的組成部分。一個(gè)國(guó)家的電梯需求總量,主要受其經(jīng)濟(jì)增長(zhǎng)速度、城市化水平、人口密度及數(shù)量、國(guó)家產(chǎn)業(yè)結(jié)構(gòu)等綜合因素的影響。在全球經(jīng)濟(jì)持續(xù)低迷的情況下,我國(guó)國(guó)民經(jīng)濟(jì)仍然以較高的速度持續(xù)增長(zhǎng),城市化水平不斷提高。這從客觀

13、上導(dǎo)致了我國(guó)電梯行業(yè)的空前繁榮景象,我國(guó)已經(jīng)成為全球最大的電梯市場(chǎng)。上世紀(jì)80年代以來(lái),隨著經(jīng)濟(jì)建設(shè)的持續(xù)高速發(fā)展,我國(guó)電梯需求量越來(lái)越大??傏厔?shì)是上升的,電梯行業(yè)進(jìn)入了“第三次浪潮”。如此龐大的市場(chǎng)需求為我國(guó)電梯行業(yè)的發(fā)展創(chuàng)造了廣闊的舞臺(tái)!</p><p>  1.2 EDA技術(shù)及實(shí)現(xiàn)方法概述</p><p>  1.2.1 EDA技術(shù)簡(jiǎn)介</p><p>  E

14、DA代表了當(dāng)今電子設(shè)計(jì)技術(shù)的最新發(fā)展方向,它的基本特征是:設(shè)計(jì)人員按照“自頂向下”的設(shè)計(jì)方法,對(duì)整個(gè)系統(tǒng)進(jìn)行方案設(shè)計(jì)和功能劃分,系統(tǒng)的關(guān)鍵電路用一片或幾片專用集成電路(ASIC)實(shí)現(xiàn),然后采用硬件描述語(yǔ)言(HDL)完成系統(tǒng)行為級(jí)設(shè)計(jì),最后通過(guò)綜合器和適配器生成最終的目標(biāo)器件,這樣的設(shè)計(jì)方法被稱為高層次的電子設(shè)計(jì)方法。下面介紹與EDA基本特征有關(guān)的幾個(gè)概念。  1.“自頂向下”的設(shè)計(jì)方法,10年前,電子設(shè)計(jì)的基本思路還是選用標(biāo)準(zhǔn)集成電路

15、“自底向上”地構(gòu)造出一個(gè)新的系統(tǒng),這樣的設(shè)計(jì)方法就如同一磚一瓦建造金字塔,不僅效率低、成本高而且容易出錯(cuò)?! 「邔哟卧O(shè)計(jì)是一種“自頂向下”的全新設(shè)計(jì)方法,這種設(shè)計(jì)方法首先從系統(tǒng)設(shè)計(jì)入手,在頂層進(jìn)行功能方框圖的劃分和結(jié)構(gòu)設(shè)計(jì)。在方框圖一級(jí)進(jìn)行仿真、糾錯(cuò),并用硬件描述語(yǔ)言對(duì)高層次的系統(tǒng)行為進(jìn)行描述,在系統(tǒng)一級(jí)進(jìn)行驗(yàn)證。然后,用綜合優(yōu)化工具生成具體門(mén)電路的網(wǎng)絡(luò)表,其對(duì)應(yīng)的物理實(shí)現(xiàn)級(jí)可以是印刷電路板或?qū)S眉呻娐贰S捎谠O(shè)計(jì)的主要仿真和調(diào)試過(guò)程

16、是在高層次上完成的,這既有利于早期發(fā)現(xiàn)結(jié)構(gòu)設(shè)計(jì)上的錯(cuò)誤,避免設(shè)計(jì)工作的浪費(fèi),又減少了邏輯功能仿真的工作量,提高了設(shè)計(jì)的</p><p>  1.2.2 FPGA簡(jiǎn)介</p><p>  目前以硬件描述語(yǔ)言(Verilog或 VHDL)所完成的電路設(shè)計(jì),可以經(jīng)過(guò)簡(jiǎn)單的綜合與布局,快速的燒錄至 FPGA 上進(jìn)行測(cè)試,是現(xiàn)代 IC 設(shè)計(jì)驗(yàn)證的技術(shù)主流。這些可編輯元件可以被用來(lái)實(shí)現(xiàn)一些基本的邏輯門(mén)

17、電路(比如AND、OR、XOR、NOT)或者更復(fù)雜一些的組合功能比如解碼器或數(shù)學(xué)方程式。在大多數(shù)的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(Flip-flop)或者其他更加完整的記憶塊。 系統(tǒng)設(shè)計(jì)師可以根據(jù)需要通過(guò)可編輯的連接把FPGA內(nèi)部的邏輯塊連接起來(lái),就好像一個(gè)電路試驗(yàn)板被放在了一個(gè)芯片里。一個(gè)出廠后的成品FPGA的邏輯塊和連接可以按照設(shè)計(jì)者而改變,所以FPGA可以完成所需要的邏輯功能

18、。</p><p>  FPGA一般來(lái)說(shuō)比ASIC(專用集成芯片)的速度要慢,無(wú)法完成復(fù)雜的設(shè)計(jì),而且消耗更多的電能。但是他們也有很多的優(yōu)點(diǎn)比如可以快速成品,可以被修改來(lái)改正程序中的錯(cuò)誤和更便宜的造價(jià)。廠商也可能會(huì)提供便宜的但是編輯能力差的FPGA。因?yàn)檫@些芯片有比較差的可編輯能力,所以這些設(shè)計(jì)的開(kāi)發(fā)是在普通的FPGA上完成的,然后將設(shè)計(jì)轉(zhuǎn)移到一個(gè)類似于ASIC的芯片上。另外一種方法是用CPLD(復(fù)雜可編程邏輯器

19、件備)。</p><p>  FPGA是由存放在片內(nèi)RAM中的程序來(lái)設(shè)置其工作狀態(tài)的,因此,工作時(shí)需要對(duì)片內(nèi)的RAM進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。 </p><p>  加電時(shí),F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進(jìn)入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復(fù)使用。FPGA的編程無(wú)須專用的F

20、PGA編程器,只須用通用的EPROM、PROM編程器即可。當(dāng)需要修改FPGA功能時(shí),只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。</p><p>  1.2.3 VHDL語(yǔ)言介紹</p><p>  VHDL 的英文全名是 Very-High-Speed Integrated Circuit Hardware Des

21、cription Language,誕生于 1982 年。1987 年底,VHDL被 IEEE 和美國(guó)國(guó)防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語(yǔ)言。 </p><p>  VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語(yǔ)句外,VHDL的語(yǔ)言形式、描述風(fēng)格以及語(yǔ)法是十分類似于一般的計(jì)算機(jī)高級(jí)語(yǔ)言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部

22、(或稱可視部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開(kāi)發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)。</p><p>  VHDL具有功能強(qiáng)大的語(yǔ)言結(jié)構(gòu),可以用簡(jiǎn)潔明確的源代碼來(lái)描述復(fù)雜的邏輯控制。它具有多層次的設(shè)計(jì)描述功能,層層細(xì)化,最后可直接生成電路級(jí)描述。VHDL支持同步電

23、路、異步電路和隨機(jī)電路的設(shè)計(jì),這是其他硬件描述語(yǔ)言所不能比擬的。VHDL還支持各種設(shè)計(jì)方法,既支持自底向上的設(shè)計(jì),又支持自頂向下的設(shè)計(jì);既支持模塊化設(shè)計(jì),又支持層次化設(shè)計(jì)。</p><p>  VHDL 語(yǔ)言具有多層次的電路設(shè)計(jì)描述功能,既可描述系統(tǒng)級(jí)電路 , 也可以描述門(mén)級(jí)電路;描述方式既可以采用行為描述、寄存器傳輸描述或者結(jié)構(gòu)描述,也可以采用三者的混合描述方式。同時(shí),VHDL 語(yǔ)言也支持慣性延遲和傳輸延遲,這

24、樣可以準(zhǔn)確地建立硬件電路的模型。VHDL 語(yǔ)言的強(qiáng)大描述能力還體現(xiàn)在它具有豐富的數(shù)據(jù)類型。VHDL 語(yǔ)言既支持標(biāo)準(zhǔn)定義的數(shù)據(jù)類型,也支持用戶定義的數(shù)據(jù)類型,這樣便會(huì)給硬件描述帶來(lái)較大的自由度。 </p><p>  VHDL 語(yǔ)言很強(qiáng)的移植能力主要體現(xiàn)在: 對(duì)于同一個(gè)硬件電路的 VHDL 語(yǔ)言描述 , 它可以從一個(gè)模擬器移植到另一個(gè)模擬器上、從一個(gè)綜合器移植到另一個(gè)綜合器上或者從一個(gè)工作平臺(tái)移植到另一個(gè)工作平臺(tái)上

25、去執(zhí)行。</p><p>  采用 VHDL 語(yǔ)言描述硬件電路時(shí), 設(shè)計(jì)人員并不需要首先考慮選擇進(jìn)行設(shè)計(jì)的器件。這樣做的好處是可以使設(shè)計(jì)人員集中精力進(jìn)行電路設(shè)計(jì)的優(yōu)化, 而不需要考慮其他的問(wèn)題。當(dāng)硬件電路的設(shè)計(jì)描述完成以后 ,VHDL 語(yǔ)言允許采用多種不同的器件結(jié)構(gòu)來(lái)實(shí)現(xiàn)。</p><p>  VHDL 語(yǔ)言采用基于庫(kù) ( library) 的設(shè)計(jì)方法。在設(shè)計(jì)過(guò)程中 , 設(shè)計(jì)人員可以建立各

26、種可再次利用的模塊 , 一個(gè)大規(guī)模的硬件電路的設(shè)計(jì)不可能從門(mén)級(jí)電路開(kāi)始一步步地進(jìn)行設(shè)計(jì) , 而是一些模塊的累加。這些模塊可以預(yù)先設(shè)計(jì)或者使用以前設(shè)計(jì)中的存檔模塊, 將這些模塊存放在庫(kù)中 , 就可以在以后的設(shè)計(jì)中進(jìn)行復(fù)用。 </p><p>  由于 VHDL 語(yǔ)言是一種描述、模擬、綜合、優(yōu)化和布線的標(biāo)準(zhǔn)硬件描述語(yǔ)言 , 因此它可以使設(shè)計(jì)成果在設(shè)計(jì)人員之間方便地進(jìn)行交流和共享, 從而減</p><

27、;p>  小硬件電路設(shè)計(jì)的工作量, 縮短開(kāi)發(fā)周期</p><p><b>  1.3 狀態(tài)機(jī)簡(jiǎn)介</b></p><p>  關(guān)于狀態(tài)機(jī)的一個(gè)極度確切的描述是它是一個(gè)有向圖形,由一組節(jié)點(diǎn)和一組相應(yīng)的轉(zhuǎn)移函數(shù)組成。狀態(tài)機(jī)通過(guò)響應(yīng)一系列事件而“運(yùn)行”。每個(gè)事件都在屬于“當(dāng)前” 節(jié)點(diǎn)的轉(zhuǎn)移函數(shù)的控制范圍內(nèi),其中函數(shù)的范圍是節(jié)點(diǎn)的一個(gè)子集。函數(shù)返回“下一個(gè)”(也許是同一

28、個(gè))節(jié)點(diǎn)。這些節(jié)點(diǎn)中至少有一個(gè)必須是終態(tài)。當(dāng)?shù)竭_(dá)終態(tài), 狀態(tài)機(jī)停止。 </p><p>  包含一組狀態(tài)集(states)、一個(gè)起始狀態(tài)(start state)、一組輸入符號(hào)集(alphabet)、一個(gè)映射輸入符號(hào)和當(dāng)前狀態(tài)到下一狀態(tài)的轉(zhuǎn)換函(transition function)的計(jì)算模型。當(dāng)輸入符號(hào)串,模型隨即進(jìn)入起始狀態(tài)。它要改變到新的狀態(tài),依賴于轉(zhuǎn)換函數(shù)。在有限狀態(tài)機(jī)中,會(huì)有有許多變量,例如,狀態(tài) 機(jī)

29、有很多與動(dòng)作(actions)轉(zhuǎn)換(Mealy機(jī))或狀態(tài)(摩爾機(jī))關(guān)聯(lián)的動(dòng)作,多重起始狀態(tài),基于沒(méi)有輸入符號(hào)的轉(zhuǎn)換,或者指定符號(hào)和狀態(tài)(非定有 限狀態(tài)機(jī))的多個(gè)轉(zhuǎn)換,指派給接收狀態(tài)(識(shí)別者)的一個(gè)或多個(gè)狀態(tài),等等。 </p><p>  傳統(tǒng)應(yīng)用程序的控制流程基本是順序的:遵循事先設(shè)定的邏輯,從頭到尾地執(zhí)行。很少有事件能改變標(biāo)準(zhǔn)執(zhí)行流程;而且這些事件主要涉及異常情況?!懊钚袑?shí)用程序”是這種傳統(tǒng)應(yīng)用程序的典型例子

30、。 </p><p>  有限狀態(tài)機(jī)是一種概念性機(jī)器,它能采取某種操作來(lái)響應(yīng)一個(gè)外部事件。具體采取的操作不僅能取決于接收到的事件,還能取決于各個(gè)事件的相對(duì)發(fā)生順序。之所以能 做到這一點(diǎn),是因?yàn)闄C(jī)器能跟蹤一個(gè)內(nèi)部狀態(tài),它會(huì)在收到事件后進(jìn)行更新。為一個(gè)事件而響應(yīng)的行動(dòng)不僅取決于事件本身,還取決于機(jī)器的內(nèi)部狀態(tài)。另外,采取 的行動(dòng)還會(huì)決定并更新機(jī)器的狀態(tài)。這樣一來(lái),任何邏輯都可建模成一系列事件/狀態(tài)組合。 </p

31、><p>  狀態(tài)機(jī)可歸納為4個(gè)要素,即現(xiàn)態(tài)、條件、動(dòng)作、次態(tài)。這樣的歸納,主要是出于對(duì)狀態(tài)機(jī)的內(nèi)在因果關(guān)系的考慮?!艾F(xiàn)態(tài)”和“條件”是因,“動(dòng)作”和“次態(tài)”是果。詳解如下: </p><p> ?、佻F(xiàn)態(tài):是指當(dāng)前所處的狀態(tài)。 </p><p> ?、跅l件:又稱為“事件”。當(dāng)一個(gè)條件被滿足,將會(huì)觸發(fā)一個(gè)動(dòng)作,或者執(zhí)行一次狀態(tài)的遷移。 </p><p&

32、gt;  ③動(dòng)作:條件滿足后執(zhí)行的動(dòng)作。動(dòng)作執(zhí)行完畢后,可以遷移到新的狀態(tài),也可以仍舊保持原狀態(tài)。動(dòng)作不是必需的,當(dāng)條件滿足后,也可以不執(zhí)行任何動(dòng)作,直接遷移到新?tīng)顟B(tài)。 </p><p> ?、艽螒B(tài):條件滿足后要遷往的新?tīng)顟B(tài)?!按螒B(tài)”是相對(duì)于“現(xiàn)態(tài)”而言的,“次態(tài)”一旦被激活,就轉(zhuǎn)變成新的“現(xiàn)態(tài)”了。</p><p><b>  2 系統(tǒng)方案設(shè)計(jì)</b></p&

33、gt;<p><b>  2.1設(shè)計(jì)要求</b></p><p>  (1) 每層電梯入口處設(shè)有上下請(qǐng)求開(kāi)關(guān),電梯內(nèi)設(shè)有顧客到達(dá)層次的停站請(qǐng)求開(kāi)關(guān)。</p><p>  (2) 設(shè)有電梯入口處位置指示裝置及電梯運(yùn)行模式(上升或下降)指示裝置。</p><p>  (3) 電梯到達(dá)有停站請(qǐng)求的樓層,開(kāi)門(mén)指示燈亮,開(kāi)門(mén)后,經(jīng)一段時(shí)延后

34、,電梯門(mén)關(guān)閉電梯繼續(xù)進(jìn)行,直至執(zhí)行完最后一個(gè)請(qǐng)求信號(hào)后停留在當(dāng)前層。</p><p>  (4) 電梯運(yùn)行規(guī)則:當(dāng)處于上升模式時(shí),只響應(yīng)比所在位置高的請(qǐng)求信號(hào),由下而上逐個(gè)執(zhí)行,直到最后一個(gè)上樓請(qǐng)求執(zhí)行完畢;高層有下樓請(qǐng)求,則直接升到請(qǐng)求層,進(jìn)入下降模式。當(dāng)電梯處于下降模式時(shí)則與上升模式相反。</p><p>  2.2 總體設(shè)計(jì)方案</p><p>  2.2.1

35、 控制器模塊化概述</p><p>  控制器的功能模塊如圖2.1所示,包括主控制器、樓層選擇器、狀態(tài)顯示器、譯碼器和樓層顯示器。乘客在電梯中選擇所要到達(dá)的樓層,通過(guò)主控制器的處理,電梯開(kāi)始運(yùn)行,狀態(tài)顯示器顯示電梯的運(yùn)行狀態(tài),電梯所在樓層數(shù)通過(guò)譯碼器譯碼從而在樓層顯示器中顯示。由于其他模塊相對(duì)簡(jiǎn)單很多,所以主控制器是核心部分。 </p><p>  圖2-1 總體設(shè)計(jì)方案</p>

36、;<p>  2.2.2 電梯上下層運(yùn)行流程圖</p><p>  電梯上升流程圖,如圖2-2:</p><p>  圖2-2 電梯上升流程圖</p><p>  電梯下降流程圖,如圖2.3:</p><p>  圖2-3 電梯下降流程圖</p><p>  2.2.3電梯運(yùn)行控制流程圖</p>

37、;<p><b>  如圖2.4:</b></p><p>  圖2-4 電梯運(yùn)行控制流程圖</p><p>  2.2.4 電梯控制器設(shè)計(jì)思路</p><p>  電梯控制器運(yùn)用狀態(tài)機(jī)的設(shè)計(jì)方法,思路比較清晰??梢詫㈦娞莸却拿棵腌娨约伴_(kāi)門(mén)、關(guān)門(mén)都看成一個(gè)獨(dú)立的狀態(tài)。由于電梯又是每秒上升或下降一層,所以就可以通過(guò)一個(gè)統(tǒng)一的1秒為

38、周期的時(shí)鐘來(lái)觸發(fā)狀態(tài)機(jī)。根據(jù)電梯的實(shí)際工作情況,可以把狀態(tài)機(jī)設(shè)置7個(gè)狀態(tài),分別是“電梯停留在第1層”、“開(kāi)門(mén)”、“關(guān)門(mén)”、 “開(kāi)門(mén)等待4秒”、“上升”、“下降”和“停止?fàn)顟B(tài)”。各個(gè)狀態(tài)之間的轉(zhuǎn)換條件可由上面的設(shè)計(jì)要求所決定。初始化狀態(tài)為1樓等待門(mén)是關(guān)閉的。各狀態(tài)機(jī)之間轉(zhuǎn)換圖如圖2.5:</p><p>  圖2-5 狀態(tài)機(jī)轉(zhuǎn)換圖</p><p>  2.3 設(shè)計(jì)的VHDL實(shí)現(xiàn)</p&

39、gt;<p>  2.3.1 控制器實(shí)體設(shè)計(jì)</p><p>  首先考慮輸入端口,一個(gè)異步復(fù)位端口reset,用于在系統(tǒng)不正常時(shí)回到初始狀態(tài);在電梯外部,必須有升降請(qǐng)求端口,一層是最低層,不需要有下降請(qǐng)求,六層是最高層,不需要有上升請(qǐng)求[3],二三四五層則上升、下降請(qǐng)求端口都有;在電梯的內(nèi)部,應(yīng)該設(shè)有各層停留的請(qǐng)求端口:一個(gè)電梯時(shí)鐘輸入端口,該輸入時(shí)鐘以1秒為周期,用于驅(qū)動(dòng)電梯的升降及開(kāi)門(mén)關(guān)門(mén)等動(dòng)

40、作;另有一個(gè)按鍵時(shí)鐘輸入端口,時(shí)鐘頻率比電梯時(shí)鐘高。</p><p>  其次是輸出端口,有升降請(qǐng)求信號(hào)以后,就得有一個(gè)輸出端口來(lái)指示請(qǐng)求是否被響應(yīng),有請(qǐng)求信號(hào)以后,該輸出端口輸出邏輯‘l’。被響應(yīng)以后則恢復(fù)邏輯‘0’;同樣,在電梯內(nèi)部也應(yīng)該有這樣的輸出端口來(lái)顯示各層停留是否被響應(yīng);在電梯外部,需要一個(gè)端口來(lái)指示電梯現(xiàn)在所處的位置;電梯開(kāi)門(mén)關(guān)門(mén)的狀態(tài)也能用一個(gè)輸出端口來(lái)指示;為了觀察電梯的運(yùn)行是否正確,可以設(shè)置一

41、個(gè)輸出端口來(lái)指示電梯的升降狀態(tài)。</p><p>  2.3.2 控制器結(jié)構(gòu)體設(shè)計(jì)</p><p>  首先說(shuō)明一下?tīng)顟B(tài)。狀態(tài)機(jī)設(shè)置了7個(gè)狀態(tài),分別是電梯停留在l層(stoponl)、開(kāi)門(mén)(dooropen)、關(guān)門(mén)(doorclose)、開(kāi)門(mén)等待4秒(doorwait4)、上升(up)、下降(down)和停止(stop)。在實(shí)體說(shuō)明定義完端口之后,在結(jié)構(gòu)體architecture和begi

42、n之間需要有如下的定義語(yǔ)句,來(lái)定義狀態(tài)機(jī)。 type lift_state is (stoponl,dooropen,doorclose, doorwait4,up,down,stop): signal mylift:lift_state: 在結(jié)構(gòu)體中,設(shè)計(jì)了兩個(gè)進(jìn)程互相配合,一個(gè)是狀態(tài)機(jī)進(jìn)程作為主要進(jìn)程,另外一個(gè)是信號(hào)燈控制進(jìn)程作為輔助進(jìn)程。狀態(tài)機(jī)進(jìn)程中的很多判斷條件是以信號(hào)燈進(jìn)程產(chǎn)生的信號(hào)燈信號(hào)為依據(jù)的,而信號(hào)燈進(jìn)程

43、中信號(hào)燈的熄滅又是由狀態(tài)機(jī)進(jìn)程中傳出的clearup和cleardn信號(hào)來(lái)控制。 在狀態(tài)機(jī)進(jìn)程中,在電梯的上升狀態(tài)中,通過(guò)對(duì)信號(hào)燈的判斷,決定下一個(gè)狀態(tài)是繼續(xù)上升還是停止;在電梯下降狀態(tài)中,也是通過(guò)對(duì)信號(hào)燈的判斷,決定下一個(gè)狀態(tài)是繼續(xù)下降還是停止;在電梯停止?fàn)顟B(tài)中</p><p><b>  3 器件選型</b></p><p>  3.1 FPGA芯片選型&

44、lt;/p><p>  主控芯片選用Altera公司ACEX系列FPGA芯片EP1K30TC144-3, Altera公司是20世紀(jì)90年代以來(lái)發(fā)展較快的可編程邏輯器件生產(chǎn)廠家,在激烈的市場(chǎng)競(jìng)爭(zhēng)中, 憑借其雄厚的技術(shù)實(shí)力,獨(dú)特的設(shè)計(jì)構(gòu)思和功能齊全的芯片系列,躋身于世界最大的器件供應(yīng)商之列。EP1K30TC144-3芯片屬于Altera公司的ACEX 1K系列,集成典型邏輯門(mén)數(shù)達(dá)30000個(gè), 工作頻率最高可達(dá)178.

45、6MHz,最小傳輸延時(shí)為5.0ns,它將查找表(LUT)與嵌入式陣列塊(EAB)結(jié)合起來(lái),提供了一種具有高效管芯的低成本結(jié)構(gòu)。該芯片支持1.8到2.5V供電電壓,其I/O接口支持多電壓的連接:1.8V,2.5V,3.3V,5V僅在外接電阻時(shí)可承受,還提供可編程的節(jié)能工作模式。在編程工藝上,采用SRAM(靜態(tài)隨機(jī)存儲(chǔ)器)工藝,可插寫(xiě)上萬(wàn)次。這些特點(diǎn)使該芯片適用于復(fù)雜的邏輯功能和存儲(chǔ)功能的應(yīng)用場(chǎng)合。</p><p>

46、<b>  3.2 功能模塊</b></p><p>  3.2.1 主控器模塊</p><p><b>  如圖3-1:</b></p><p>  圖3-1 電梯主控制模塊</p><p>  電梯主控制模塊端口說(shuō)明:</p><p>  buttonclk 按鈕時(shí)鐘信號(hào)

47、 liftclk 電梯時(shí)鐘信號(hào) </p><p>  reset 復(fù)位鍵 f1upbutton 一樓上樓按鈕 </p><p>  f2upbutton 二樓上樓按鈕 f3upbutton 三樓上樓按鈕</p><p>  f4upbutton 四樓上樓

48、按鈕 f5upbutton 五樓上樓按鈕</p><p>  f2dnbutton 二樓下樓按鈕 f3dnbutton 三樓下樓按鈕</p><p>  f4dnbutton 四樓下樓按鈕 f5dnbutton 五樓下樓按鈕 </p><p>  f6dnbutton 六樓下樓按鈕

49、 stop1button 電梯內(nèi)部一樓按鈕</p><p>  stop2button 電梯內(nèi)部二樓按鈕 stop3button 電梯內(nèi)部三樓按鈕</p><p>  stop4button 電梯內(nèi)部四樓按鈕 stop5button 電梯內(nèi)部五樓按鈕</p><p>  stop6button 電梯內(nèi)部六樓按鈕

50、 fuplight[6..1] 每樓層上升指示燈</p><p>  fdnlight[6..1] 每樓層下降指示燈 stoplight[6..1] 電梯內(nèi)部樓層指示燈 </p><p>  position[2..0] 樓層位置顯示 doorlight 電梯門(mén)狀態(tài)顯示 </p><p>  udsig 電梯上升下降顯示

51、</p><p>  3.2.2 分頻器模塊</p><p><b>  如圖3-2:</b></p><p>  圖3-2 分頻器模塊</p><p><b>  模塊端口說(shuō)明:</b></p><p>  clk_in 電源輸入端 div

52、_out 分頻后時(shí)鐘輸出端</p><p>  3.2.3 譯碼器模塊</p><p><b>  如圖3-3:</b></p><p><b>  圖3-3譯碼器模塊</b></p><p>  aaa[2..0] 樓層位置輸出端 bbb[3..0] 譯碼輸出端</p&

53、gt;<p>  譯碼器邏輯功能表如表3-1</p><p>  表3-1 譯碼器邏輯功能表</p><p>  3.2.4 數(shù)據(jù)選擇器模塊</p><p><b>  如圖3-4:</b></p><p>  圖 3-4 數(shù)據(jù)選擇器模塊</p><p>  數(shù)據(jù)選擇器模塊端口說(shuō)明:

54、</p><p>  input[3..0] 譯碼器輸入端 output[6..0] 數(shù)據(jù)選擇器輸出端</p><p>  譯碼器邏輯功能表如表3-2</p><p>  表3-2 譯碼器邏輯功能表</p><p><b>  4 程序仿真</b></p><p>  4.1

55、電梯控制器仿真分析</p><p><b>  仿真示例1: </b></p><p>  圖4-1所示仿真的是在第五層電梯外部有上升請(qǐng)求,也就是f5upbuttton信號(hào)的一個(gè)脈沖[9],可以看到電梯從一層上升到五層,position信號(hào)由1變到5,doorlight信號(hào)‘1’表示開(kāi)門(mén),‘0’表示關(guān)門(mén)。當(dāng)乘客進(jìn)入電梯以后,在電梯內(nèi)部要求上升到第六層,也就是stop6

56、button產(chǎn)生一個(gè)脈沖,電梯上升到第6層,開(kāi)門(mén)4秒以后關(guān)門(mén),停留在第六層,position最后的值為6。在仿真圖中看不到buttonclk,只顯示為一條黑色的線,是因?yàn)椴捎昧祟l率較大的時(shí)鐘。 再看fuplight信號(hào)燈,當(dāng)五層有上升請(qǐng)求的時(shí)候,它的值由0變到16。(注意fuplight和fdnlight是6位的二進(jìn)制向量,這里的“010000”,表示五層有請(qǐng)求;“000100”也就是4,表示三層有請(qǐng)求)。當(dāng)電梯停留到第五層以后,

57、表明該請(qǐng)求被響應(yīng),所以它的值變?yōu)?,由于沒(méi)有下降請(qǐng)求信號(hào),所以fdnlight信號(hào)燈的值一盲都為0。當(dāng)電梯處于第五層時(shí),udsig=0,即此時(shí)若沒(méi)有其他請(qǐng)求,電梯處于上升模式;當(dāng)stop6button=1,即電梯內(nèi)部按了六層請(qǐng)求時(shí),電梯門(mén)燈滅電梯開(kāi)始上升udsig=0,即處于上升模</p><p>  圖4-1 仿真示例1</p><p><b>  仿真示例2:</b&g

58、t;</p><p>  圖4-2是有下降請(qǐng)求的情況,它是圖4.1的繼續(xù),當(dāng)電梯停留在第六層的時(shí)候,在電梯外第四層有下降請(qǐng)求,這時(shí)候fdnlight信號(hào)燈由0變?yōu)?,說(shuō)明第四層有下降請(qǐng)求。電梯下降到第四層,響應(yīng)了下降請(qǐng)求,所以fdnlight信號(hào)燈清0。電梯開(kāi)始下降,即udsig=1,抵達(dá)四樓后電梯門(mén)開(kāi),doorlight=1, 這時(shí)候,在電梯內(nèi)部有一樓向上請(qǐng)求,接著電梯內(nèi)部有三樓的請(qǐng)求,所以電梯繼續(xù)下降,到達(dá)三

59、層后,電梯門(mén)開(kāi)[11],四秒后電梯門(mén)關(guān),又因?yàn)橐粯怯姓?qǐng)求所以最終到達(dá)一樓停止響應(yīng),position信號(hào)的值保持在1,電梯處于上升模式。四秒后電梯門(mén)關(guān)。</p><p>  圖4-2 仿真示例2</p><p><b>  仿真示例3:</b></p><p>  圖4-3仿真的情況是,原先電梯停留在第一層,這時(shí)候電梯外第六層有下降請(qǐng)求,電梯上升

60、到第六層,乘客進(jìn)入電梯以后要求下降到一層,與此同時(shí),在電梯外第三層有上升請(qǐng)求,電梯首先要響應(yīng)下降請(qǐng)求然后再響應(yīng)這個(gè)上升請(qǐng)求,所以電梯得先下降到第一層,然后再上升到第三層來(lái),接著電梯內(nèi)部五樓,三樓都有請(qǐng)求信號(hào),于是電梯升到五樓然后下降到三樓,這是符合常理的。從仿真的波形看,電梯的位置變化和想象是一致的。電梯的運(yùn)行情況完全正確。最后乘客在電梯內(nèi)部要求上升到三層,所以電梯最后的停留位置為三層。</p><p>  圖4

61、-3 仿真示例3</p><p><b>  仿真示例4:</b></p><p>  圖4-4所示的仿真,原先電梯停留在第一層,電梯外第六層有下降請(qǐng)求,電梯上升到六層,乘客進(jìn)入電梯以后要求下降到一層,此時(shí),二層有下降請(qǐng)求,接著又有上升請(qǐng)求,電梯首先在二層停留。然后下降到一層。隨后要響應(yīng)二層上升請(qǐng)求,上升到二層,乘客進(jìn)入電梯以后要求上升到三層,所以電梯最后的停留位置在

62、三層。</p><p>  圖4-4 仿真示例4</p><p>  4.2 其它模塊仿真</p><p>  鑒于以上主控器模塊仿真完全符合預(yù)期要求,可以推知其它模塊設(shè)計(jì)正確,故不再做數(shù)據(jù)選擇器模塊和譯碼器模塊的仿真分析。</p><p><b>  5 結(jié)論</b></p><p>  本電梯

63、系統(tǒng)實(shí)現(xiàn)了如下功能:</p><p>  1.各層電梯內(nèi)部信號(hào):各樓層請(qǐng)求按鍵。外部信號(hào):上升下降請(qǐng)求按鍵,所在樓層顯示,電梯運(yùn)行狀態(tài)顯示。 2.能夠存儲(chǔ)請(qǐng)求信號(hào),電梯上升(下降)過(guò)程中,根據(jù)電梯的運(yùn)行狀態(tài),首先按方向優(yōu)先、循環(huán)次序響應(yīng)各請(qǐng)求。 3.電梯每秒升(降)一層樓。電梯到達(dá)有停站請(qǐng)求的樓層,經(jīng)過(guò)1秒電梯門(mén)打開(kāi),開(kāi)門(mén)指示燈亮,開(kāi)門(mén)4秒后,電梯門(mén)關(guān)閉(開(kāi)門(mén)指示燈滅),電梯繼續(xù)進(jìn)行,直至執(zhí)行完最

64、后一個(gè)請(qǐng)求信號(hào)后停留在當(dāng)前層。電梯初始狀態(tài)為一層關(guān)門(mén)狀態(tài)。</p><p>  綜上所述,完成了課題的所有要求,該設(shè)計(jì)采用模塊化編程,升級(jí)可實(shí)現(xiàn)任意多層電梯系統(tǒng),具有很強(qiáng)的適應(yīng)性和實(shí)用性。 在本設(shè)計(jì)中,因?yàn)榭紤]了擴(kuò)展性,所以在信號(hào)定義的時(shí)候就使用了二進(jìn)制的向量,而不是整數(shù)。在設(shè)計(jì)方法上也做了特殊的設(shè)計(jì),所以使得擴(kuò)展性較好。如果要實(shí)現(xiàn)n層電梯的控制,首先在端口的地方就要加入所有的按鍵,而指示燈只要把向量中的

65、6改成n就可以了。同時(shí)需要在按鍵控制進(jìn)程里加入其他按鍵觸發(fā)指示燈的語(yǔ)句。在電梯的升降狀態(tài)將6改成n,在電梯的開(kāi)門(mén)狀態(tài)中將2改成n一1,在關(guān)門(mén)狀態(tài),將position=6改成position=n,關(guān)鍵是修改position=6的部分,如果按照每層羅列,將十分煩瑣,所以得尋求各層判斷條件的共性,解決方法之一就是,新建一個(gè)全局向量abc為std_logic_vector(n downto 1),abc的賦值為abc<=(pos=>

66、’1’,other=>'</p><p>  0’)。在電梯的上升模式時(shí),如果有本層請(qǐng)求信號(hào),則電梯開(kāi)門(mén);如果沒(méi)有任何請(qǐng)求信號(hào),則電梯停在當(dāng)前層;否則用abc和stoplight與fuplight向量比較,如果stoplight或fupligh比abc大,則說(shuō)明更高層還有上升或者停戰(zhàn)請(qǐng)求,電梯需繼續(xù)上升;如果abc更大,則用abc與fdnlight作比較,如果fdnlight更大,則說(shuō)明更高層有下降

67、請(qǐng)求,電梯繼續(xù)上升,否則電梯下降。電梯處在下降模式時(shí)同原理分析判定下一狀態(tài)。這樣可以大大簡(jiǎn)化程序,但要注意的是abc向量作為判斷依據(jù),需實(shí)時(shí)更新,可以單獨(dú)寫(xiě)一個(gè)進(jìn)程,觸發(fā)時(shí)鐘周期要設(shè)置得很小。在電梯的上升狀態(tài)和開(kāi)門(mén)狀態(tài)中,把6改為n,在信號(hào)燈控制進(jìn)程中加入其它按鍵觸發(fā)指示燈的語(yǔ)句。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]潘松,黃繼業(yè).

68、EDA技術(shù)實(shí)用教程.科學(xué)出版社,2006</p><p>  [2]付家才.EDA原理與應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2001:15-23 </p><p>  [3]王振紅.VHDL數(shù)字電路設(shè)計(jì)應(yīng)用實(shí)踐教程[M].北京:機(jī)械工業(yè)出版社,2003:2-14 </p><p>  [4]黃智偉.FPGA系統(tǒng)設(shè)計(jì)與實(shí)踐[M].北京:電子工業(yè)出版社,2005:12-2

69、4</p><p>  [5] 梁延?xùn)|.電梯控制技術(shù)[M].北京:中國(guó)建筑工業(yè)出版社,1997:23-47</p><p><b>  致謝</b></p><p>  在這里對(duì)老師在平時(shí)授課中的耐心教導(dǎo)表示衷心感謝。</p><p>  通過(guò)此次課程設(shè)計(jì),學(xué)到了很多之前不了解的知識(shí),也意識(shí)到了大學(xué)課程對(duì)我們今后的學(xué)習(xí)有

70、很大的幫助。在課程設(shè)計(jì)中,我雖然碰到了很多困難和問(wèn)題,到最后還是靠自己的努力與堅(jiān)持獨(dú)立的完成了任務(wù)。這次設(shè)計(jì)給我最深的印象就是擴(kuò)大自己的知識(shí)面,學(xué)習(xí)了很多以前不了解的知識(shí),了解更多與本專業(yè)有關(guān)的科技信息,與時(shí)代共同進(jìn)步,才能在將來(lái)成為有用的科技人才,覺(jué)得平時(shí)所學(xué)的知識(shí)有了實(shí)用的價(jià)值,達(dá)到了理論與實(shí)際相結(jié)合的目的,不僅學(xué)到了不少知識(shí),而且鍛煉了自己的能力,使自己對(duì)以后的路有了更加清楚的認(rèn)識(shí),同時(shí),對(duì)未來(lái)有了更多的信心。再次感謝老師的諄諄教

71、誨!</p><p><b>  附錄</b></p><p><b>  源程序:</b></p><p><b>  電梯控制程序:</b></p><p>  library ieee;</p><p>  use ieee.std_logic_1

72、164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  use ieee.std_logic_arith.all;</p><p>  entity sixlift is</p><p><b>  port(</b></p><p

73、>  buttonclk:in std_logic; --按鈕時(shí)鐘信號(hào) </p><p>  liftclk: in std_logic; --電梯時(shí)鐘信號(hào) </p><p>  

74、reset:in std_logic; --復(fù)位鍵 </p><p>  f1upbutton:in std_logic; --一樓上升按鈕 </p><p>  f2upbutto

75、n:in std_logic; --二樓上升按鈕</p><p>  f3upbutton:in std_logic; --三樓上升按鈕 </p><p>  f4upbutton:in std_logic; --四樓上升按鈕</p><p>  f5upbu

76、tton:in std_logic; </p><p>  f2dnbutton:in std_logic; --二樓下降按鈕 </p><p>  f3dnbutton:in std_logic; --三樓下降按鈕</p><p>  f4dnbutto

77、n:in std_logic; --四樓下降按鈕</p><p>  f5dnbutton:in std_logic; --五樓下降按鈕</p><p>  f6dnbutton:in std_logic; --六樓下降按鈕 </p><p>  fupl

78、ight:buffer std_logic_vector(6 downto 1); --上升指示燈 </p><p>  fdnlight:buffer std_logic_vector(6 downto 1); --下降指示燈 </p><p>  stop1butto

79、n,stop2button,stop3button, stop4button, stop5button, stop6button:in std_logic; --電梯內(nèi)部按鈕 </p><p>  stoplight:buffer std_logic_vector(6 downto 1); --內(nèi)部停止指示燈

80、</p><p>  position:buffer integer range 1 to 6; --樓層位置顯示 </p><p>  doorlight:out std_logic; --電梯門(mén)指示燈 ‘1’ 開(kāi) ‘0’關(guān)

81、</p><p>  udsig:buffer std_logic ); --‘0’處于上升模式,‘1’處于下降模式 </p><p>  end sixlift;</p><p>  architecture art of sixlift is </p><p> 

82、 type lift_state is (stopon1,dooropen,doorclose,doorwait4,up,down,stop); --電梯所處的7個(gè)狀態(tài)</p><p>  signal mylift:lift_state; --內(nèi)部電梯狀態(tài)信號(hào)</p><p>  signal clearup:std_logic; --上升清除信號(hào)

83、 </p><p>  signal cleardn:std_logic; --下降清除信號(hào) </p><p>  signal waitcnt:integer range 0 to 2; --waitcnt為完成四秒延時(shí)而設(shè)置

84、 </p><p><b>  begin</b></p><p>  controllift:process(reset,liftclk) </p><p>  variable pos:integer range 1 to 6; --樓層位置變量

85、 </p><p><b>  begin</b></p><p>  if reset='1' then </p><p>  mylift<=

86、stopon1; --起始狀態(tài)</p><p>  clearup<='0'; --上樓信號(hào)清除</p><p>  cleardn<='0'; --下樓信號(hào)清除</p><p>  pos:=1; --處于一樓</p><p>  pos

87、ition<=1; --處于一樓</p><p><b>  else</b></p><p>  if liftclk'event and liftclk='1' then --四秒后門(mén)關(guān) </p><p>  case

88、mylift is</p><p>  when stopon1 => doorlight<='1'; --電梯門(mén)開(kāi)</p><p>  position<=1; --電梯處于一樓</p><p><b>  pos:=1;</b></p><p&g

89、t;  mylift<=doorwait4; </p><p>  when doorwait4 => waitcnt<=waitcnt+1; --waitcnt計(jì)數(shù)夠兩個(gè)電梯時(shí)鐘脈沖后狀態(tài)跳轉(zhuǎn)到doorclose,加上中間過(guò)程完成延時(shí)四秒</p><p&g

90、t;  if waitcnt=’2’</p><p>  then waitcnt<=0</p><p>  mylift<=doorclose;</p><p>  else mylift<=doorwait4;</p><p><b>  end if;</b></p><p&g

91、t;  ; </p><p>  when doorclose =></p><p>  doorlight<='0'; --電梯門(mén)關(guān)

92、 </p><p>  if udsig='0' then --電梯處于上升模式 </p><p>  if position=6 then

93、 </p><p>  if stoplight="000000" and fuplight="000000" and fdnlight="000000" then </p><p>  udsig<='1';mylift<=doorclose;

94、 </p><p>  else udsig<='1';mylift<=down; </p><p>  end if;

95、 </p><p>  elsif position=5 then </p><p>  if stoplight="000000" and fuplight="000000" and fdnlight="000000" then

96、 </p><p>  udsig<='0';mylift<=doorclose; </p><p>  elsif stoplight(6)='1' or fdnlight(6)='1' then </p>

97、<p>  udsig<='0';mylift<=up;</p><p>  else udsig<='1';mylift<=down; </p><p><b>  end if;</b></p>&

98、lt;p>  elsif position=4 then </p><p>  if stoplight="000000" and fuplight="000000" and fdnlight="000000" then </p>&

99、lt;p>  udsig<='0';mylift<=doorclose; </p><p>  elsif stoplight(5)='1' or stoplight(6)= '1' or fdnlight(6)='1' or

100、fdnlight(5)='1' then </p><p>  udsig<='0';mylift<=up;</p><p>  else udsig<='1';mylift<=down; </p><p>

101、;<b>  end if;</b></p><p>  elsif position=3 then </p><p>  if stoplight="000000" and fuplight="000000" and fdnlig

102、ht="000000" then </p><p>  udsig<='0';mylift<=doorclose; </p><p>  elsif stoplight(4)='1' or stoplight(5)=&

103、#39;1' or stoplight(6)= '1' or fdnlight(6)='1' or fdnlight(5)='1' or fdnlight(4)='1' then </p><p>  udsig<='0';mylift<=up;</p><p>  else udsig

104、<='1';mylift<=down; </p><p><b>  end if;</b></p><p>  elsif position=2 then

105、</p><p>  if stoplight="000000" and fuplight="000000" and fdnlight="000000" then </p><p>  udsig<='0';mylift<=doorclose;

106、 </p><p>  elsif stoplight(3)='1' or stoplight(4)='1' or stoplight(5)='1' or stoplight(6)= '1' or fdnlight(6)='1' or fdnlight(5)='1' o

107、r fdnlight(4)='1' or fdnlight(3)='1' then </p><p>  udsig<='0';mylift<=up;</p><p>  else udsig<='1';mylift<=down;

108、 </p><p><b>  end if;</b></p><p>  elsif position=1 then </p><p>  if stoplight="000000" and fu

109、plight="000000" and fdnlight="000000" then </p><p>  udsig<='0';mylift<=doorclose; </p><p>  else uds

110、ig<='0';mylift<=up;</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  elsif udsig='1' then

111、 </p><p>  if position=1 then </p><p>  if stoplight="000000" and fuplight="000000" and fdnlight=&qu

112、ot;000000" then </p><p>  udsig<='0';mylift<=doorclose; </p><p>  else udsig<='0'; mylift<=up;

113、 </p><p><b>  end if; </b></p><p>  elsif position=2 then </p><p>  if sto

114、plight="000000" and fuplight="000000" and fdnlight="000000" then </p><p>  udsig<='1';mylift<=doorclose; &

115、lt;/p><p>  elsif stoplight(1)='1' or fuplight(1)='1' then </p><p>  udsig<='1';mylift<=down; </p>

溫馨提示

  • 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論