【《基于51單片機(jī)的三層電梯設(shè)計》13000字】_第1頁
【《基于51單片機(jī)的三層電梯設(shè)計》13000字】_第2頁
【《基于51單片機(jī)的三層電梯設(shè)計》13000字】_第3頁
【《基于51單片機(jī)的三層電梯設(shè)計》13000字】_第4頁
【《基于51單片機(jī)的三層電梯設(shè)計》13000字】_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

基于51單片機(jī)的三層電梯設(shè)計摘要在城市高樓化發(fā)展的今天,電梯是目前日常生活中不可缺少的運(yùn)輸工具之一,電梯的控制系統(tǒng)早期是繼電器控制,而現(xiàn)在流行的是單片機(jī)控制。在這樣的情況下,為了研究電梯的運(yùn)行情況,掌握電梯的運(yùn)行邏輯功能,就需要設(shè)計一個小功率電梯模型來模擬電梯運(yùn)行。本文基于51單片機(jī)分析4層電梯控制系統(tǒng)的設(shè)計,并搭建實物模型驗證設(shè)計方案的可行性。在硬件設(shè)備方向上主要由單片機(jī)和其最小系統(tǒng)、矩陣按鍵模塊(電梯廂外部按鍵與電梯廂內(nèi)部按鍵所有按鍵集合)、七段數(shù)碼管模塊(顯示電梯樓數(shù))、電梯的上/下行標(biāo)志和開關(guān)門、報警燈標(biāo)志等LED模塊、報警蜂鳴器等等模塊組成。系統(tǒng)以STC89C52為控制中心,通過對按鍵模塊的實時掃描確定單片機(jī)管腳的電平變化,進(jìn)而把請求信息送到單片機(jī)。單片機(jī)根據(jù)內(nèi)部的程序邏輯進(jìn)行判斷、處理、響應(yīng)。從而能夠根據(jù)單片機(jī)實現(xiàn)整個請求過程。軟件方面使用可讀性、可移植性、模塊性較強(qiáng)和使用最普遍的C語言進(jìn)行編程,把程序進(jìn)行模塊化的設(shè)計,方便后期擴(kuò)展和理解。軟件的編寫主要使用keil4為應(yīng)用工具開展編寫和調(diào)試??梢詫崿F(xiàn)除了在報警時刻不響應(yīng)按鍵的情況下,對任何時刻任何請求的響應(yīng)。能夠完全實現(xiàn)題目的運(yùn)行要求。關(guān)鍵詞:STC89C52;C語言;步進(jìn)電機(jī);電梯模型;keil1緒論1.1電梯的研究背景電梯是指運(yùn)行在一定的建筑內(nèi)的運(yùn)輸工具,目前人們可以常見的有居民樓的垂直電梯,和大型購物商場的傾斜式電梯,按照效率和實用載重量,又分為客運(yùn)電梯和貨運(yùn)電梯。其實電梯的起源如果按照升降運(yùn)輸貨物的定義來算可以追溯到公元前2600的古埃及建造金字塔時候,和中國秦朝時期建造長城時候,那時候用人力、馬牛等拉著繩子來把貨物從低處運(yùn)輸?shù)礁咛?,這個原理也就是如今電梯也在采用的原理。一直到瓦特發(fā)明蒸汽機(jī)之后為標(biāo)志的進(jìn)入蒸汽時代時,才從人力作為動力轉(zhuǎn)換為利用機(jī)器作為動力。但是有一個問題始終沒有解決,就是一旦纜繩斷裂,電梯就會發(fā)生墜落現(xiàn)象。直到1853年奧德斯發(fā)明了附帶安全裝置的電梯,才使得電梯開始被人們放心使用,得到了全世界范圍的推廣使用。150多年來電梯的發(fā)展不斷豐富,在材質(zhì),功能,操作上是得到了全面發(fā)展,形狀上有正方形,菱形,圓形等等外觀新穎,數(shù)量上有單臺,雙臺,多臺邏輯控制,在方式上有垂直式升降和傾斜式兩種,在功能上還增加對話,報警、單/雙層等功能,如今更加可以遠(yuǎn)程控制,節(jié)能的電梯。按照電梯的功能和使用場景來又可以分為載貨電梯、客運(yùn)電梯、醫(yī)院電梯、工程車輛、施工單位電梯等等。根據(jù)不用的使用場景會設(shè)置不同的功能和采用不同的材料來保證安全和達(dá)到節(jié)能的目的。如今的電梯驅(qū)動一般有使用直流電機(jī)和液壓驅(qū)動等常用大類,一般都不會直接驅(qū)動了,大多數(shù)都是通過減速機(jī)構(gòu)和總間機(jī)構(gòu)進(jìn)行帶動。隨著城市的不斷擴(kuò)大發(fā)展,與人們息息相關(guān)的電梯成為了不斷高樓化的住宅、辦公大樓、公司等六層以上甚至六層以下的生活必須的運(yùn)輸工具,極大的提高了人們的工作效率,而且提高了人們的生活質(zhì)量,于此同時,人們對電梯的安全、舒適,效率等的要求也是越來越高,如迪拜大樓的高速直達(dá)電梯和普通樓層的電梯。現(xiàn)在的電梯基本都是機(jī)電一體,涉及動力、機(jī)械、電氣、建筑等行業(yè)領(lǐng)域,如今的電梯在安全等各方面都有了很大的提升和改進(jìn)。其實要保證電梯的安全運(yùn)行,除了在電梯的制造過程中要保證工藝,在后續(xù)維護(hù)上也尤為重要,現(xiàn)在全國電梯數(shù)量如此龐大,更加節(jié)能環(huán)保,智能便捷,安全舒適性高,壽命更長的電梯研究顯得尤為重要??删幊踢壿嬁刂破鳎≒rogramLogicControl,PLC)和微機(jī)組成的電梯邏輯控制系統(tǒng)快速發(fā)展,PLC采取大量的抗干擾措施,不但易于使用而且易于擴(kuò)展,但PLC的針對性強(qiáng),從而導(dǎo)致PLC和設(shè)備都是一一對應(yīng)的,從而導(dǎo)致價格比較昂貴,得不到廣泛應(yīng)用。由于單片機(jī)有功能強(qiáng)大,易于擴(kuò)展,價格便宜等的優(yōu)點,所以由單片機(jī)設(shè)計的控制系統(tǒng)可以隨著硬件系統(tǒng)的層出換代而進(jìn)行完善,隨著設(shè)備的升級換代會越來越滿足各種需求功能。由于其在價格上面相比可編程邏輯控制器而言,具有很大的優(yōu)勢,將意味著電梯可以大量的應(yīng)用于任何地方,為人們的生活帶來很大的便利[1]。本著學(xué)習(xí)設(shè)計的任務(wù)精神,這次設(shè)計就以單片機(jī)為載體,利用普通模塊,在小功率電路上設(shè)計和驗證基于單片機(jī)的電梯設(shè)計的可行性,研究和設(shè)計出日常電梯所具有的功能,熟悉電梯的基本情況,對自己所學(xué)的東西進(jìn)行鞏固,對運(yùn)行原理和代碼進(jìn)行初步認(rèn)識,為如果后續(xù)有發(fā)展需要,則可以進(jìn)人更加深層次的研究,比如雙電梯群控智能化、高樓層高速目的化、無極調(diào)速、藍(lán)牙技術(shù)電梯、遠(yuǎn)程實時控制等等方向。1.2國內(nèi)電梯的發(fā)展從1854年開始,距第一臺電梯的產(chǎn)生到現(xiàn)在已經(jīng)一個半世紀(jì)了,電梯的發(fā)展在效率、安全、質(zhì)量、智能上都發(fā)展比較成熟。一個半世紀(jì)以來,我國的電梯發(fā)展大致上經(jīng)歷了三個階段,20年代的少量進(jìn)口、50年代的研制生產(chǎn)、到80年代的快速發(fā)展,到目前,我國已經(jīng)成為世界最大電梯制造和安裝的國家,這與國家經(jīng)濟(jì)的高速發(fā)展密不可分,并且形成沿海城市制造為核心的制造發(fā)展。據(jù)初略數(shù)據(jù)統(tǒng)計,我國目前在運(yùn)行的電梯總量超過六百萬臺,每一年電梯產(chǎn)量約六十萬臺;按照估算,國內(nèi)電梯市場會有十年到十五年的空間發(fā)展。未來,電梯的發(fā)展應(yīng)該會向自動智能化,部件模塊化,維修更換整體化發(fā)展。加之電梯數(shù)量龐大,面對舊電梯的更新?lián)Q代易于維修,便捷操作、節(jié)能環(huán)保、智能化是十分重要的課題。2硬件分析與設(shè)計2.1設(shè)計思路這次設(shè)計的主體思路是:以最為常用且簡單易學(xué)的STC89C52單片機(jī)作為主體控制核心,由于按鍵較多,采用矩陣按鍵模擬電梯內(nèi)/外的按鍵請求,使用LED燈顯示電梯的上下行狀態(tài)和模擬開關(guān)門狀態(tài),使用蜂鳴器模塊和LED燈模擬警報模塊,使用七段共陽數(shù)碼管顯示目前電梯所在哪一層,通過限位開關(guān)來確定電梯所在樓層并且實現(xiàn)電梯的準(zhǔn)確???。同時實現(xiàn)電梯掉電重啟后自動初始化電梯尋址回到1樓,同時帶有返回基站功能[2]。整體設(shè)計框圖如圖2.1所示:圖2.1 整體設(shè)計框圖2.2 硬件選型2.2.1 單片機(jī)介紹單片機(jī)說白了就是一種微型電腦,只要根據(jù)實際需求稍加編程,加上一系列外圍設(shè)備,就可以發(fā)揮強(qiáng)大功能。51單片機(jī)是所有兼容Intel8051指令系統(tǒng)單片機(jī)的一個總稱,它的代表型號是AT89系列,廣泛應(yīng)用于工業(yè)上的各種系統(tǒng)中。51單片機(jī)是最基本的入門的單片機(jī),同時也是使用最為普遍的一種。同時要知道51系列的單片機(jī)一般是不具備自編程本領(lǐng)。早期很長一段時間51單片機(jī)大部分使用AT89C51或者AT89C52。隨著我國芯片技術(shù)的發(fā)展,宏晶公司推出的增強(qiáng)型51單片機(jī)STC89xx/STC90xx等系列更受大眾的喜愛,除了內(nèi)部資源及功能大大增強(qiáng)外,還有一個非常重要的功能就是它支持ISP(在線系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器或者專用仿真器。由于STC51芯片種類非常多,本實驗選用一款經(jīng)典的STC89C52使用,因為他們的內(nèi)核指令都是一樣的,所以只要學(xué)會一款經(jīng)典并且具有代表性的51單片機(jī)即可,其他都是具有兼容性的[3]。80C51芯片內(nèi)部資源如表2.1所示:8位CPU5個中斷源,2個優(yōu)先級(52有6個)4kByte程序存儲器(ROM)(52為8k)一個全雙工串行通信口128byte的數(shù)據(jù)存儲器(RAM)(52有256byte)外部數(shù)據(jù)存儲器尋址空間為64kB32條I/O口線外部程序存儲器尋址空間為64KB111條指令,大部分為單字節(jié)指令邏輯操作為尋址功能21個專用寄存器雙列直插40PinPID封裝2個可編程定時/計數(shù)器單一+5V電源供電表2.1 80C51芯片內(nèi)部資源2.2.2 芯片STC89C52STC89C52是STC宏晶公司推出的新一代超強(qiáng)抗干擾、高速且低耗能的51單片機(jī),它采用8051內(nèi)核的insystemprogramming(即ISP)的可編程芯片,指令代碼全部兼容以前的8051單片機(jī),工作時鐘頻率達(dá)到48MHz,內(nèi)含4KBytes的可重復(fù)擦寫10000次的Flash只讀程序存儲器,器件兼容8051引腳布局和MCS-51系統(tǒng)指令,具有在系統(tǒng)可編程特性,在計算機(jī)的程序控制就可以把需要的程序代碼下載到單片機(jī)內(nèi),就可以不用支出購買通用編程器的成本,并且速度更快。其功能特點主要如下:增強(qiáng)型8051單片機(jī),6時鐘周期和12時鐘周期可任意選擇,指令代碼完全兼容以前的8051。正常工作電壓:5.5V~3.3V。工作頻率:0~40MHz,實際工作頻率達(dá)到48MHz。用戶應(yīng)用程序空間:4K字節(jié)。片上集成512字節(jié)RAM。通用I/O口39個,通電后有:P0/P1/P2/P3是準(zhǔn)雙向口;因為P0是開漏輸出,作為標(biāo)準(zhǔn)雙向I/O口使用時需要外接上拉電阻,但是作為總線擴(kuò)展時不用外加上拉電阻。(/P1/P2/P3芯片內(nèi)有上拉電阻,不用外接)ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),不需要專門的編程器和仿真器,可通過串口(RXD/P3.0,TXD/P3.1)直接下載所需程序。有EEPROM功能。有看門狗功能。有2個16位定時器/計數(shù)器,其中定時器0還可以設(shè)置為2個8位的定時器使用。外部中斷4路,可以自行選擇下降沿或者低電平觸發(fā)中斷。通用異步串行口UART。工作溫度范圍:-40~+85oC。封裝:PDIP-40。STC89C52管腳圖如圖2.2所示: 圖2.2 STC89C52管腳圖STC89C52引腳的介紹:(1)電源引腳:VCC、GND(2)晶振引腳:XTAL1、XTAL2(3)復(fù)位引腳:RST/VPD(4)下載引腳:51單片機(jī)的串口功能引腳P3.1、P3.0(TXD、RXD)作為下載引腳使用下載程序。(5)GPIO引腳:如P0、P1、P2、P3、每組8個,并且P3有額外的功能,只要經(jīng)過對應(yīng)的寄存器設(shè)置即可自動配置對應(yīng)的功能,但是同一個時刻,一個引腳只能執(zhí)行一個功能。(6)P0.0~P0.7:P0口可以作為數(shù)據(jù)/地址復(fù)用總線使用,也可以作為標(biāo)準(zhǔn)I/O口使用。當(dāng)P0作為標(biāo)準(zhǔn)I/O口使用時,P0口是一個8位準(zhǔn)雙向口,通電復(fù)位后處于開漏狀態(tài),P0口內(nèi)部無上拉電阻,所以其做標(biāo)準(zhǔn)I/O口使用時必須外接5k~10k的上拉電阻。當(dāng)P0口作為數(shù)據(jù)/地址復(fù)用總線使用時,這中情況是不需要外接上拉電阻的。(7)P1.0~P1.7:標(biāo)準(zhǔn)I/O口使用,內(nèi)部有上拉電阻。(8)P2.0~P2.7:內(nèi)部有上拉電阻,標(biāo)準(zhǔn)I/O口使用。(9)P3.0~P3.7:內(nèi)部有上拉電阻,在不使用附加功能時,可以做為標(biāo)準(zhǔn)I/O口使用。當(dāng)使用附加功能時:P3.0:(RXD)串口數(shù)據(jù)接收端。P3.1:(TXD)串口數(shù)據(jù)發(fā)送口。P3.2:(INT0)外部中斷0口,下降沿或低電平觸發(fā)中斷。P3.3:(INT1)外部中斷1口,下降沿或低電平觸發(fā)中斷。P3.4:(T0)定時器0/計數(shù)器0的外部輸入端。P3.5:(T10)定時器1/計數(shù)器1的外部輸入端。P3.6:(WR)外部數(shù)據(jù)存儲器寫信號。P3.7:(RD)外部數(shù)據(jù)存儲器讀信號。關(guān)于使用這些附加功能,只要編程內(nèi)配置有就會使用到,比如配置定時器T0,則定時時間到的時候,就會輸入一次P3.4口,使可以進(jìn)入定時器中斷(當(dāng)然前提配置有中斷)[4]。簡單總結(jié)為:51單片機(jī)所有的I/O口都是雙向的;P0口用作標(biāo)準(zhǔn)雙向I/O口時要外接上拉電阻,其他I/O不用(因為內(nèi)部有)。但是如果要增強(qiáng)I/O口的驅(qū)動能力,也可以外加上拉電阻。接線圖如圖2.3所示:圖2.3 STC98C52接線圖實物圖與端口如圖2.4所示:圖2.4 實物圖與端口2.2.3獨立按鍵模塊由于電梯需要,此設(shè)計設(shè)置了獨立的電梯內(nèi)部以及外部按鍵。獨立按鍵即為檢測管腳是否為低電平,獨立按鍵有一端接在GND所以檢測起來十分方便,檢測掃描的方法在這里使用翻轉(zhuǎn)掃描法。翻轉(zhuǎn)掃描法時,單片機(jī)先送所有行為低電平、所有列為高電平,檢測所有列是否有低電平的,如果有就記錄列值;然后再翻轉(zhuǎn),使所有列都為低電平,行為高電平,檢測所有行值,由于有鍵按下,所以行也會有低電平變化,記錄行值,行列都知道了,這樣就檢測到了哪一行哪一列的鍵按下了。注意:獨立按鍵需要進(jìn)行消抖處理。原理圖與實物圖如圖2.5所示:圖2.5 矩陣按鍵原理圖(上)實物圖(下)2.2.4蜂鳴器模塊為了程序簡便,并且設(shè)計中蜂鳴器只用做報警作用,交流信號經(jīng)過繞在支架上的線包在支架的芯柱上產(chǎn)生一交變的磁通,交變的磁通和磁環(huán)恒定磁通停止疊加,使鉬片以給定的交流信號頻率振動并配合共振腔發(fā)聲。產(chǎn)品的整個頻率和聲壓的響應(yīng)曲線與間隙值、鉬片的固有振動頻率(可粗略折射為小鉬片的厚度)、外殼(亥姆霍茲共振聲腔)頻率、磁環(huán)的磁強(qiáng)漆包線的線徑有直接關(guān)系。接線原理圖如圖2.6所示:圖2.6蜂鳴器原理圖(右)實物圖(左)2.2.5數(shù)碼管模塊本設(shè)計采用的是共陰極數(shù)碼管,共陰極數(shù)碼管就是二極管的負(fù)極并在一起為公共端,正極分別代表a-h;正常工作時,負(fù)極要接低電平,a-h接高電平,使二極管導(dǎo)通,就可點亮a-h。接線原理圖如圖2.7:圖2.7 接線原理圖(左)實物圖(右)電梯在運(yùn)行過程中觸發(fā)到樓層限位開關(guān)的時候,就會顯示相應(yīng)的樓層,電梯在觸碰到下一限位開關(guān)之前會保持前一樓層的顯示,直到觸發(fā)下一樓層限位開關(guān)才改變顯示數(shù)值。2.2.6步進(jìn)電機(jī)模塊步進(jìn)電機(jī)又稱為脈沖電機(jī),基于最基本的\t"/item/%E6%AD%A5%E8%BF%9B%E7%94%B5%E6%9C%BA/_blank"電磁鐵原理,它是一種可以自由回轉(zhuǎn)的電磁鐵,其動作原理是依靠氣隙磁導(dǎo)的變化來產(chǎn)生電磁轉(zhuǎn)矩。其原始模型是起源于1830年至1860年間。1870年前后開始以控制為目的的嘗試,應(yīng)用于氫弧燈的電極輸送機(jī)構(gòu)中。這被認(rèn)為是最初的步進(jìn)電機(jī)。二十世紀(jì)初,在電話自動交換機(jī)中廣泛使用了步進(jìn)電機(jī)。由于西方資本主義列強(qiáng)爭奪殖民地,步進(jìn)電機(jī)在缺乏\t"/item/%E6%AD%A5%E8%BF%9B%E7%94%B5%E6%9C%BA/_blank"交流電源的船舶和飛機(jī)等獨立系統(tǒng)中得到了廣泛的使用。二十世紀(jì)五十年代后期晶體管的發(fā)明也逐漸應(yīng)用在步進(jìn)電機(jī)上,對于數(shù)字化的控制變得更為容易。到了八十年代后,由于廉價的微型計算機(jī)以多功能的姿態(tài)出現(xiàn),步進(jìn)電機(jī)的控制方式更加靈活多樣。ULN2003是高耐壓、大電流達(dá)林頓系列,由七個硅NPN達(dá)林頓管組成。該電路的特點如下:ULN2003的每一對達(dá)林頓都串聯(lián)一個2.7K的基極電阻,在5V的工作電壓下它能與TTL和\t"/item/ULN2003/_blank"CMOS電路

直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器來處理的數(shù)據(jù)。其內(nèi)部邏輯圖如圖2.8所示:圖2.8 ULN2003內(nèi)部邏輯圖步進(jìn)電機(jī)接線圖與實物圖如圖2.9:圖2.9步進(jìn)電機(jī)接線圖(左)與實物圖(右)2.2.7LED燈模塊在本次設(shè)計中,LED燈分為三部分,上行燈、下行燈以及門狀態(tài)燈。這是一種組合式光源裝置,在上行情況下,通過輸送低電平給I/O口控制上箭頭和中間部分的LED亮,下行情況下,同理控制下箭頭和中間部分亮,這樣就達(dá)到上下行對應(yīng)顯示方向的要求。原理接線圖如圖2.10所示:圖2.10接線圖(左)與實物圖(右)2.2.8樓層限位開關(guān)限位開關(guān)又稱行程開關(guān),可以安裝在相對靜止的物體(如固定架、門框等,簡稱靜物)上或者運(yùn)動的物體(如行車、門等,簡稱動物)上。當(dāng)動物接近靜物時,開關(guān)的連桿驅(qū)動開關(guān)的接點引起閉合的接點分?jǐn)嗷蛘邤嚅_的接點閉合。由開關(guān)接點開、合狀態(tài)的改變?nèi)タ刂齐娐泛碗姍C(jī)。限位開關(guān)就是用以限定機(jī)械設(shè)備的運(yùn)動極限位置的電氣開關(guān)。限位開關(guān)有接觸式的和非接觸式的。接觸式的比較直觀,機(jī)械設(shè)備的運(yùn)動部件上,安裝上行程開關(guān),與其相對運(yùn)動的固定點上安裝極限位置的擋塊,或者是相反安裝位置。當(dāng)行程開關(guān)的機(jī)械觸頭碰上擋塊時,切斷了(或改變了)控制電路,機(jī)械就停止運(yùn)行或改變運(yùn)行。接線圖與實物圖如圖2.11:圖2.11接線圖(上)與實物圖(下)2.3電路設(shè)計2.3.1晶振電路單片機(jī)的正常工作需要一個時鐘,也就是說就需要在單片機(jī)晶振引腳上外接一個晶振,本設(shè)計使用STC89C52單片機(jī)所以晶振引腳在18和19引腳。使用51單片機(jī)其時鐘可在0~40MHz上運(yùn)行,一般情況上都是使用11.059M或者12M晶振,后者適合計算延時時間,前者適合串口通信,本設(shè)計中就采用后者11.0592M晶振。如果直接將晶振接入單片機(jī)晶振引腳,會發(fā)現(xiàn)系統(tǒng)工作不穩(wěn)定,這是因為晶振起振的一瞬間會產(chǎn)生一些電感,所以為了消除這個電感帶來的干擾情況,需要在晶振兩端分別各加上一個電容,電容的選取需要選擇無極性的,另外一端需要共地。根據(jù)晶振的大小決定電容值,根據(jù)使用經(jīng)驗電容可在10~33pf值范圍內(nèi)選擇。所以可以選取30pf電容,這樣一來就構(gòu)建了晶振電路,單片機(jī)要穩(wěn)定工作,就必須保證晶振電路穩(wěn)定。其電路圖如圖2.12所示:圖2.12晶振電路圖2.3.2復(fù)位電路由于系統(tǒng)在運(yùn)作的時候可能會出現(xiàn)崩潰和癱瘓的狀態(tài),所以需要一個復(fù)位電路使系統(tǒng)恢復(fù)正常狀態(tài)。這就是說需要一個復(fù)位電路實現(xiàn)這個功能。單片機(jī)中有一個復(fù)位引腳(RST),因為STC89C52單片機(jī)是高電平復(fù)位,所以只需要讓這個引腳保持一段時間的高電平就可以實現(xiàn)復(fù)位操作,要實現(xiàn)這個功能通常有兩種方法:一種是上電復(fù)位,另外一種是通過按鍵手動復(fù)位。上電復(fù)位就是說電源接通后自動復(fù)位,手動復(fù)位是通過一個按鍵和一個電容所組成的,利用按鍵開關(guān)功能實現(xiàn)復(fù)位,按鍵按下后VCC直接進(jìn)入到單片機(jī)的RST管腳口,RST口被拉為高電平,松開后VCC與RST斷開,RST被電阻拉為低電平,這樣一開一閉就實現(xiàn)了手動復(fù)位。自動復(fù)位主要利用RC電容電路的充放電功能,電源一開啟,由于電容隔直流特點,VCC直接進(jìn)入RST。然后電容開始慢慢充電直到充電完成,此時RST口被電阻拉低,這樣就起到了上電復(fù)位的效果。本設(shè)計中就使用手動復(fù)位,直到系統(tǒng)崩潰或者個人的復(fù)位意愿,就不要去操作復(fù)位。其電路圖如圖2.13所示:圖2.13復(fù)位電路2.3.3電源電路STC89C52單片機(jī)的工作電壓是3V~5.5V范圍,一般情況下都是采用5V直流供電。所以將5V電源和GND接入到芯片電源引腳即可,由于在使用USB轉(zhuǎn)TTL模塊中已經(jīng)接入了5V電源和GND給單片機(jī),也就完成了電源的接入。另外在模塊中還提供了幾組5V,GND電源供口,在需要時可以給外接模塊使用。3軟件分析與設(shè)計3.1程序總思路首先,按鍵響應(yīng)問題,同一時間內(nèi)也許會有很多個按鍵被按下,這就需要記錄所有按鍵動作,同時需要根據(jù)電梯目前所處樓層和按鍵樓層之間的關(guān)系判斷是應(yīng)該上行還是下行,最后根據(jù)限位開關(guān)完成電梯的樓層判斷和準(zhǔn)確???。由于單片機(jī)的處理速度很快是us級別,掃描延時最多也是幾ms級別,所以基本不會有按鍵同時按下的情況發(fā)生,所以可以按順序記錄。獨立按鍵可以一按下就實時響應(yīng)(因為獨立按鍵一端接GND一端接I/O口),并且記錄之。既然需要時刻掃描,所以只需要把按鍵的掃描放在電梯停止時,和電梯運(yùn)行時,持續(xù)掃描即可,所以在時間的延時上,要尤其注意每段函數(shù)的總執(zhí)行時間,不能延時太長,如延時幾十、幾百毫秒再掃描按鍵就算不上是實時掃描按鍵了。第二,在電梯到達(dá)某樓層后如果沒有按鍵按下,同時也包括了人員進(jìn)入電梯后沒有按下按鍵情況,則電梯會停靠在該樓層不動作,并且滅掉上/下行的顯示燈,直到有新的請求按鍵按下后,電機(jī)才會繼續(xù)判斷,然后運(yùn)行,同時亮起上/下行顯示燈。電梯運(yùn)行原則是:先方向,后距離。即先響應(yīng)完成同方向的請求再去響應(yīng)反方向的請求,在同方向之中,又按距離優(yōu)先,先響應(yīng)近距離的。當(dāng)電梯在下層,高樓有按鍵按下,則啟動電梯上行狀態(tài),這時有同向上行的按鍵請求電梯會響應(yīng)??浚鴨由闲泻笥袠窍碌纳闲姓埱?下行請求,電梯會記錄請求但不會??浚鹊教幚硗旮邔拥恼埱笤偃ヌ幚硐滦行盘柸ヌ幚淼蛯拥纳闲姓埱?,當(dāng)然,上行狀態(tài)下,除了最高層的下行請求被處理,其他下行的請求會被記錄,不會??浚煌?,如果電梯在高層,接受到低層的請求,則會啟動下行狀態(tài),這期間比電梯所在位置低的樓層的下行請求會響應(yīng)???、上行請求和比電梯高的下行請求會被記錄不???,等電梯處理完低層信號后才啟動上行,去響應(yīng)高層的下行信號。電梯在運(yùn)行中,每到一層都應(yīng)該優(yōu)先判斷該樓層有無同向請求,如果有則停機(jī)開門;同時判斷除本層上行(下行)外其他所有樓層有無請求,如果沒有,則電機(jī)停止,滅掉上/下行顯示燈;然后接著要判斷同向中有無上面樓層(下行判斷下方樓層)請求記錄,如果有則繼續(xù)保持同向運(yùn)行,如果沒有同向上方(或下方)請求,但同時該樓層有下行請求,則電梯轉(zhuǎn)為下行狀態(tài),停電梯,開門。為了程序簡潔、提高程序的可讀性,所以把到達(dá)每一層判斷一次同向上面樓層(下行判斷下面樓層)有無請求的操作放在主循環(huán)while()中循環(huán)判斷:當(dāng)所有樓層無請求時,電機(jī)停止,同時滅上下行燈,否則就是有請求,如果為上行判斷上面樓層,沒有請求則停機(jī)的同時換向,有則繼續(xù)保持同向不停機(jī)運(yùn)行。如果為下行狀態(tài)則判斷下面的樓層。電梯的運(yùn)行放在次循環(huán)while()電機(jī)運(yùn)行循環(huán)中。流程圖如圖3.1所示:圖3.1電梯運(yùn)行總流程圖單片機(jī)啟動后首先進(jìn)行電機(jī)初始化、定時器0初始化,使I/O口、中斷等都處于初始狀態(tài)。系統(tǒng)開始運(yùn)行時電梯向下運(yùn)行尋址1樓,如果電梯就在1樓即意味著1樓限位開關(guān)被觸碰,則電梯停止,同時數(shù)碼管顯示一樓。然后主程序進(jìn)入循環(huán)的掃描檢測有沒有按鍵按下,一旦有樓層請求按下,則會記錄該請求,如果電梯在請求層且無其他請求,則電梯會開門;如果有其他請求,則會響應(yīng)同方向的請求開門(如上行響應(yīng)上行和當(dāng)前)(下行響應(yīng)下行和當(dāng)前)。While循環(huán)中分為兩部分,主while內(nèi)含有電機(jī)運(yùn)行的while,在電機(jī)運(yùn)行循環(huán)外是電機(jī)停止情況時的程序,決定著是否啟動電機(jī),是否開門,是否滅上下行顯示燈。在電機(jī)運(yùn)行循環(huán)中,內(nèi)含每到一層樓時都會根據(jù)上行或者下行框架下判斷到達(dá)哪一層,由于是調(diào)用運(yùn)行一層后判斷。所以是上行的情況下從2樓向上開始判斷,下行情況時從3樓向下判斷;比如,二樓的判斷,如果二樓有同向請求則會優(yōu)先響應(yīng)調(diào)用到達(dá)程序,且會判斷是否其他樓層都無請求,是則會滅掉上/下行顯示燈,還會判斷是否該樓有下請求且上面樓無請求,若是,則轉(zhuǎn)換為下行,調(diào)用到達(dá)程序。若不是,則說明二樓無請求了,或則二樓上面還有請求,這種情況不做處理,讓電梯繼續(xù)向上運(yùn)行,使其上升到另外一層樓再如此判斷。到達(dá)頂樓時能夠自動換向且調(diào)用到達(dá)程序。需要注意的是由于安排順序是先判斷上行的關(guān)系,在上行狀態(tài)內(nèi)的換向操作那個步驟內(nèi),加入了無條件轉(zhuǎn)移跳過下面的下行判斷,防止進(jìn)入下行內(nèi)還沒運(yùn)行一層就當(dāng)前樓層減一。但是,由于下行放在上行后面,所以在下行的換向中不需要加無條件轉(zhuǎn)移。注意在電機(jī)的運(yùn)行中也要加入按鍵掃描和處理函數(shù),達(dá)到運(yùn)行時也可響應(yīng)按鍵請求和記錄的情況。同時,到達(dá)程序也在電機(jī)循環(huán)內(nèi),達(dá)到需要調(diào)用到達(dá)程序可以響應(yīng)的情況。3.2方向判斷邏輯當(dāng)接收到用戶的需求時,將其設(shè)置進(jìn)請求隊列;然后,根據(jù)請求的類型,將電梯的狀態(tài)標(biāo)記從暫停狀態(tài)轉(zhuǎn)換為向上響應(yīng)或向下響應(yīng)。最后,將用戶層與電梯的當(dāng)前層進(jìn)行比較,從而確定電梯的運(yùn)行方向,并調(diào)用相關(guān)的子例程來處理其他命令。當(dāng)有按鍵按下,進(jìn)行按鍵處理后,電梯首先進(jìn)行運(yùn)行方向判斷和記錄按鍵值。這個部分中首先判斷哪個標(biāo)志量被置位(請求樓層),并且與電梯當(dāng)前位置進(jìn)行比較,確定上下層的關(guān)系,進(jìn)而啟動對應(yīng)的上行/下行,同時上/下行指示燈亮。一旦上/下行確認(rèn),則進(jìn)入開始執(zhí)行開始執(zhí)行上/下行對應(yīng)的程序。注意:當(dāng)請求的樓層就是電梯所在的樓層時,則在方向判斷程序后,直接跳到到達(dá)目的樓層程序,而不執(zhí)行運(yùn)行程序。同時只有電梯門在關(guān)閉情況下且開關(guān)門結(jié)束情況下才能啟動電機(jī),換句話說,只有在關(guān)門結(jié)束后才可以進(jìn)行是否啟動電機(jī)的判斷??偨Y(jié)來說,本程序中只有三個地方可以允許執(zhí)行換向操作:第一是電梯外的按鍵處理函數(shù),第二是主循環(huán)的隊列判斷部分,第三是電機(jī)循環(huán)中的到達(dá)底層和頂層的自動換向操作。結(jié)構(gòu)嚴(yán)謹(jǐn)保證電梯的邏輯性。流程圖如圖3.2所示:圖3.2方向判斷與轉(zhuǎn)換流程3.3電機(jī)循環(huán)程序在執(zhí)行運(yùn)行方向判斷程序后,就會由主程序調(diào)用運(yùn)行程序。首先判斷電梯是否運(yùn)行,當(dāng)按鍵按下時,則根據(jù)根據(jù)上行/下行程序運(yùn)行,數(shù)碼管顯示當(dāng)前樓層數(shù)據(jù),同時程序會判斷當(dāng)前樓層是否到達(dá)目標(biāo)樓層,若沒有到達(dá),則繼續(xù)運(yùn)行,若到達(dá),則執(zhí)行結(jié)束,回到主程序,由主程序調(diào)用下一個程序;當(dāng)沒有按鍵按下時,則返回到主程序循環(huán)中。電機(jī)的運(yùn)行需要跟隨響應(yīng)隊列而進(jìn)行。當(dāng)有多個請求按下時,根據(jù)電梯的目前上行/下行運(yùn)行狀態(tài)和響應(yīng)隊列,決定先執(zhí)行那些樓層請求。流程圖如圖3.3所示:圖3.3電機(jī)運(yùn)行判斷流程相關(guān)程序:voidmain(void){time(100);initLights();position();//電機(jī)定位ucMotorDrvPuls=0x11;OUTPUT=0x00|(P2&0xf0);//電機(jī)停止setFloor(CURFLR);setUpLight();time(100);while(1)//主循環(huán){ outPress();//按下電梯外按鈕 while(STOPCUR==1)//電梯在當(dāng)前層,電梯不動,可以繼續(xù)接受請求 { outPress(); inPress(); } if(inPress())//按下電梯內(nèi)樓層按鈕 { while(START)//等待啟動按鍵按下,電梯不動,可以繼續(xù)接受請求 { outPress(); inPress(); } } while(1)//電機(jī)運(yùn)轉(zhuǎn)循環(huán) { if(UP_req[1]==0&&UP_req[2]==0&&UP_req[3]==0&& DOWN_req[2]==0&&DOWN_req[3]==0&&DOWN_req[4]==0) { break;//沒有請求,跳出電機(jī)運(yùn)轉(zhuǎn)循環(huán),電梯不動 } if(FORREV)//上行 { setUpLight();//上行燈亮 if(STOPCUR==1){break;}// if(elevator())//往上到達(dá)某一層 { if(CURFLR==4){setDownLight();break;}//到達(dá)四樓 } OUTPUT=(ucMotorDrvPuls&0x0f)|(P2&0xf0); ucMotorDrvPuls=_crol_(ucMotorDrvPuls,1); } if(!FORREV)//下行 { setDownLight();//下行燈亮; if(STOPCUR==1){break;} if(elevator())//往下到達(dá)某一層 { if(CURFLR==1){setUpLight();break;}//到達(dá)一樓 } OUTPUT=(ucMotorDrvPuls&0x0f)|(P2&0xf0); ucMotorDrvPuls=_cror_(ucMotorDrvPuls,1); } outPress();//按下電梯外按鈕 //if(inPress())//按下電梯內(nèi)樓層按鈕 //{ //while(START)//等待啟動按鍵按下 //{ //outPress(); inPress();//電梯運(yùn)行時,內(nèi)部按鈕按下,無需按啟動按鈕 //} //} time(380-UCTIMES*16);////////// }//endwhile-電機(jī)運(yùn)轉(zhuǎn)循環(huán) OUTPUT=0x00|(P2&0xf0);//電機(jī)停止,有請求時按下啟動按鈕啟動}//endwhile-主循環(huán)3.4報警程序隨著電梯的廣泛使用,當(dāng)前電梯設(shè)計的缺點變得顯而易見。特別是由于意外斷電或其他原因?qū)е氯藛T被困在電梯中的現(xiàn)象,不僅引起極大的不適,而且還威脅到乘客的安全。根據(jù)這個特殊情況的啟發(fā),所以本設(shè)計還設(shè)置了報警時電梯前往就近樓層??康墓δ埽侨匀皇窃谟须姷那闆r下,停電的情況就讓電機(jī)停止,克服電梯重量使電梯無法下墜就可以了。報警程序的要求是:當(dāng)按下報警程序時,亮報警燈的同時也響蜂鳴器;電梯立即前往就近樓層???,并一直打開電梯門。電梯在??吭跇菍拥那闆r下響起警報,則打開電梯門,并且不會響應(yīng)之前的所有記錄請求;電梯在上行運(yùn)動的情況響起警報,則電梯往上一層???,并且一直打開電梯門;電梯在下行運(yùn)動的情況下響起警報,則電梯前往下面一層??浚⑶乙恢贝蜷_電梯門。在警報期間,除了解除警報按鍵外,不響應(yīng)其他任何按鍵的請求,也不記錄。在報警向附近樓層??窟^程中也不響應(yīng)解除警報按鍵,等到到達(dá)??繉雍蟛彭憫?yīng)解除警報按鍵。在解除警報之后,清空電梯之前的所有請求,并且關(guān)門。流程圖如圖3.4:圖3.4報警處理流程圖相關(guān)程序://初始化所有燈voidinitLights(){ P0=0x11;}//設(shè)置樓層顯示voidsetFloor(intfloor){ switch(floor) { case1: { P0&=0xf0;//清零 P0|=0x01;break; } case2: { P0&=0xf0;//清零 P0|=0x02;break; } case3: { P0&=0xf0;//清零 P0|=0x03;break; } case4: { P0&=0xf0;//清零 P0|=0x04;break; } default: { P0=0x06;break; } }}//設(shè)置電梯向上運(yùn)行燈voidsetUpLight(){ upLight=1; downLight=0;}//設(shè)置電梯向下運(yùn)行燈voidsetDownLight(){ upLight=0; downLight=1;}//設(shè)置電梯停止運(yùn)行燈voidsetStopLight(){ upLight=0; downLight=0;}//設(shè)置電梯報警燈和喇叭voidsetAlarmLight(){ //TMOD=0x01; //TH0=0xDC;TL0=0x00;/*設(shè)置計時器的初值DC00H,定時時長為10ms*/ //IE=0x82; //TR0=1;/*開啟定時器0*/ //EA=1;/*開總中斷*/ intnum=0;//循環(huán)次數(shù) //設(shè)置警告燈亮 //while(num<50&&alarmSwitch) while(START) { num++; if(!alarmBit) { alarmBit=1; } else//熄滅警告燈 { alarmBit=0; } time(400); } offAlarmLight(); }//停止報警燈和喇叭voidoffAlarmLight(){ //alarmSwitch=0; //time(100); //EA=0; //TR0=0; alarmBit=1; //alarmSwitch=1;}3.5開關(guān)門程序開關(guān)門狀態(tài)實際用LED燈來表示,綠燈閃爍代表正在開門狀態(tài),紅燈閃爍代表正在關(guān)門狀態(tài)。為了試驗演示效果,所以就把閃爍時間調(diào)快,并且去掉開門后等待幾秒再關(guān)門的部分,當(dāng)然,需要也可以加上。那什么時候調(diào)用開關(guān)門程序呢?當(dāng)然是在電梯到達(dá)目標(biāo)樓層的時候,這時就是通過調(diào)用到達(dá)程序和調(diào)用開關(guān)門程序。在開關(guān)門程序中,還支持以下功能:在開門中如果想快點關(guān)門,可按下關(guān)門按鍵提前結(jié)束開門動作;同理,關(guān)門中有人要上電梯的,可以按下開門按鍵重新進(jìn)入到開門程序中。在開門時候就賦值給直流電機(jī)N20,使正轉(zhuǎn)開門,關(guān)門同理賦值為反轉(zhuǎn)使其關(guān)門。在開關(guān)門期間同樣可以支持掃描電梯的按鍵。在開門的時候綠燈閃爍,在關(guān)門的時候紅燈閃爍。在直流電機(jī)的信號驅(qū)動上考慮過兩種方案:一是用PWM信號:優(yōu)點是能夠調(diào)節(jié)電機(jī)轉(zhuǎn)速,可以根據(jù)開關(guān)門需要的速度而調(diào)節(jié)。使用該信號是需要在程序中配置定時器1。但是本實驗中配置定時器1的定時時長時需要考慮步進(jìn)電機(jī)的卡頓情況和定時器0的定時情況,不可定時太大也不可定時太短,也不可定時與定時器0定時時長相近。二是直接使用高低電平信號:因為開關(guān)門是放在for循環(huán)中進(jìn)行,在循環(huán)中有控制時間,再加上N20是減速電機(jī),加上外部減速部件可正好符合主觀需要的緩慢打開和關(guān)閉電梯門的要求,這時候只需要調(diào)節(jié)for循環(huán)時長就可以調(diào)節(jié)開/關(guān)門時長。比第一種需要考慮的東西少,比較方便,故本設(shè)計中采用第二種方法。3.6延時程序延時的作用就是讓數(shù)據(jù)正確處理。CPU速度來能多快取得I/O口狀態(tài)就多快取,而是CPU程序按指定時間間隔取值。比如CPU速度為1微妙可以處理一條語句,你剛?cè)⊥戤?dāng)前I/O口狀態(tài),如果沒有延時處理,在循環(huán)處理過程中立即又去取當(dāng)前I/O口狀態(tài)作為下一個Bit位的數(shù)據(jù)。程序如下:voiddelay_5us(void){_nop_();_nop_();}voiddelay_50us(void){unsignedchari;for(i=0;i<4;i++){delay_5us();}}voiddelay_100us(void){delay_50us();delay_50us();}voidtime(unsigneducMs){unsignedcharj;while(ucMs>0){for(j=0;j<10;j++) delay_100us(); ucMs--;}}3.7按鍵程序本設(shè)計的按鍵為獨立按鍵,包括電梯內(nèi)、電梯外、報警以及關(guān)閉報警按鍵,這樣能夠更方便本設(shè)計的運(yùn)行展示??梢灾苯幼x取,檢測占用時間較少,不受其它因素影響。程序如下://按下電梯外按鈕voidoutPress(){//FORREV=1;if(!UP1)//1樓上{storeUP(1); if(CURFLR>1&&STOPCUR==1)//電梯不在一樓,且當(dāng)前沒其他請求,電梯馬上自動啟動 { FORREV=0;//向下運(yùn)行 STOPCUR=0; } if(CURFLR==1) { STOPCUR=1;//電梯停留在當(dāng)前層 }}if(!UP2)//2樓上{storeUP(2); if(CURFLR>2&&STOPCUR==1)//電梯在二樓以上 { FORREV=0; STOPCUR=0; } if(CURFLR<2&&STOPCUR==1) { FORREV=1; STOPCUR=0; } if(CURFLR==2) { STOPCUR=1; }}if(!UP3)//3樓上{storeUP(3); if(CURFLR>3&&STOPCUR==1)//電梯在三樓以上 { FORREV=0; STOPCUR=0; } if(CURFLR<3&&STOPCUR==1) { FORREV=1; STOPCUR=0; } if(CURFLR==3) { STOPCUR=1; }}if(!DOWN2)//2樓下{storeDOWN(2); if(CURFLR>2&&STOPCUR==1)//電梯在二樓以上 { FORREV=0; STOPCUR=0; } if(CURFLR<2&&STOPCUR==1) { FORREV=1; STOPCUR=0; } if(CURFLR==2) { STOPCUR=1; }}if(!DOWN3)//3樓下{storeDOWN(3); if(CURFLR>3&&STOPCUR==1)//電梯在三樓以上 { FORREV=0; STOPCUR=0; } if(CURFLR<3&&STOPCUR==1) { FORREV=1; STOPCUR=0; } if(CURFLR==3) { STOPCUR=1; }}if(!DOWN4)//4樓下{storeDOWN(4); if(CURFLR<4&&STOPCUR==1) { FORREV=1; STOPCUR=0; } if(CURFLR==4) { STOPCUR=1; }}}//按下電梯內(nèi)樓層按鈕unsignedcharinPress(){inti;intflag=0;if(!FLOOR1){ if(1<CURFLR) { STOPCUR=0; UP_req[1]=1; } if(1==CURFLR) { STOPCUR=1; } return1;}if(!FLOOR2){if(2>CURFLR)//請求層大于當(dāng)前層 { UP_req[2]=1; STOPCUR=0; } if(2<CURFLR) { DOWN_req[2]=1; STOPCUR=0; } if(2==CURFLR) { STOPCUR=1; } return1; }if(!FLOOR3){if(3>CURFLR)//請求層大于當(dāng)前層 { UP_req[3]=1; STOPCUR=0; } if(3<CURFLR) { DOWN_req[3]=1; STOPCUR=0; } if(3==CURFLR) { STOPCUR=1; } return1;}if(!FLOOR4){if(4>CURFLR) {DOWN_req[4]=1; STOPCUR=0; } if(4==CURFLR) { STOPCUR=1; } return1;}if(!START){STOPCUR=0; return1;}if(!STOP)//緊急停止{while(START)//不響應(yīng)其他按鍵 { //亮燈 setStopLight(); } return1;}if(!ALARM){//while(START) //{ //亮燈 setAlarmLight(); //time(800); //滅燈 //offAlarmLight(); //} return1;}if(FORREV==1){//請求上行而進(jìn)去電梯內(nèi)選擇的是下層 for(i=CURFLR+1;i<=4;i++) { if(UP_req[i]==1||DOWN_req[i]==1){flag=1;} } if(flag==0)//上層沒請求 { FORREV=0; } } if(FORREV==0) { //請求下行而進(jìn)去電梯內(nèi)選擇的是上層 for(i=CURFLR-1;i>=1;i--) { if(UP_req[i]==1||DOWN_req[i]==1){flag=1;} } if(flag==0)//上層沒請求 { FORREV=1; } }return0;}4實驗與分析4.1邏輯功能檢驗在程序編寫完成并且模型組裝完成后,需要進(jìn)行一些測試來檢測是否符合所設(shè)計的要求和驗證程序是否正確,首先模型進(jìn)行通電后,電梯在1樓,進(jìn)行測試的內(nèi)容如下:4.1.1運(yùn)行功能測試:按鍵一樓上電梯測試狀態(tài):電梯首先進(jìn)行了開關(guān)門,由于是在一層,按了上行鍵,所以上行燈亮起,數(shù)碼管顯示一層,結(jié)束運(yùn)行。仿真圖4.1.1(1)如下:圖4.1.1(1)按鍵一樓上按鍵二樓上電梯測試狀態(tài):電梯首先進(jìn)行了開關(guān)門,由于(1)時還在一層,所以電梯運(yùn)行上二樓,上行燈亮起,數(shù)碼管數(shù)字由一變成二,結(jié)束運(yùn)行。仿真圖4.1.1(2)如下:圖4.1.1(2)按鍵二樓上按鍵三樓下電梯檢測狀態(tài):電梯首先進(jìn)行了開關(guān)門,(2)時電梯在二樓,由于按下的是三樓下,所以先亮起的上行燈,到了三層后,亮起下行燈,數(shù)碼管數(shù)字由二變成三,運(yùn)行結(jié)束。仿真圖4.1.1(3)如下:圖4.1.1(3)按鍵三樓下按鍵二樓下電梯檢測狀態(tài):電梯首先進(jìn)行了開關(guān)門,(3)時電梯在三樓,所以一直亮下行燈,數(shù)碼管數(shù)字由二變成三,結(jié)束運(yùn)行。仿真圖4.1.1(4)如下:圖4.1.1(4)按鍵二樓下4.1.2警報功能測試:電梯不運(yùn)行電梯檢測狀態(tài):電梯未給予任何指令,或電梯運(yùn)行遇到阻礙,報警器啟動,響報警,并打開電梯門,結(jié)束運(yùn)行。仿真圖4.1.1(5)如下:圖4.1.1(5)電梯不運(yùn)行4.2實物組裝及測試實物組裝用的是木板進(jìn)行搭建的,使用電機(jī)和細(xì)線進(jìn)行電梯上下行模擬,樓層限位開關(guān)安裝在每一層上,進(jìn)而得知電梯停留在哪一層。實物圖4.2如下:圖4.2實物組裝由于電梯這個木板間螺絲有所松動,所以容易造成電梯卡住不動的情況。5總結(jié)與展望5.1總結(jié)本論文主要是對基于單片機(jī)控制系統(tǒng)的3層電梯的設(shè)計。主要內(nèi)容包括C語言編程、51最小系統(tǒng)的運(yùn)用、步進(jìn)電機(jī)的控制、輔佐以其他部件如數(shù)碼管、按鍵。限位開關(guān)、蜂鳴器等,搭建小型模擬電梯,實現(xiàn)實際中的電梯運(yùn)行邏輯情況。在實驗完成要求的結(jié)果表明,基于單片機(jī)的電梯設(shè)計是可以應(yīng)用于實體模型中的,也表明單片機(jī)系統(tǒng)的強(qiáng)大。在實際應(yīng)用可以根據(jù)要求,升級器件,加入其它傳感器等完成社會實際中的應(yīng)用要求。與前輩們類似的基于單片機(jī)系列設(shè)計電梯相比有相似地方如數(shù)碼管的顯示等也有不同之處做了修正改進(jìn)如采用順序判斷方向法。本設(shè)計目前只是在小功率電路上進(jìn)行的設(shè)計驗證,在應(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論