基于51單片機(jī)的四層樓電梯控制系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第1頁
基于51單片機(jī)的四層樓電梯控制系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第2頁
基于51單片機(jī)的四層樓電梯控制系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第3頁
基于51單片機(jī)的四層樓電梯控制系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第4頁
基于51單片機(jī)的四層樓電梯控制系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

頁1緒論1.1電梯的定義電梯是一種利用制動力驅(qū)動,沿剛導(dǎo)軌運(yùn)行的箱體或者固定線路運(yùn)行的梯級進(jìn)行升降或者平行運(yùn)送人、貨物的機(jī)電設(shè)備,包括載人和載貨電梯、自動扶梯、自動人行道等。1.2選題目的背景及意義電梯是集機(jī)械原理應(yīng)用、電氣控制技術(shù)、微處理技術(shù)、系統(tǒng)工程學(xué)等多科學(xué)和技術(shù)分支于一體的機(jī)電設(shè)備,它是建筑中永久垂直交通工具。電梯作為生產(chǎn)生活的典型運(yùn)載工具使用已十分普及,其控制信號類型多,關(guān)系復(fù)雜,要求的控制性能特別高。很久之前,人們就開始使用一些原始的升降工具來運(yùn)送人和貨物。公元前1100年的前后,我國的古人發(fā)明了轆轤,它采用了卷筒的回轉(zhuǎn)運(yùn)動來完成升降動作,因此增加了所能提升物品的高度。公元前的236年,希臘數(shù)學(xué)家Archimedes設(shè)計(jì)和制作了由絞車還有滑輪組構(gòu)成的起重裝置。這些是由人力或畜力作為升降工具的驅(qū)動力。在十九世紀(jì)初,歐洲和美國開始提供電源由蒸汽機(jī)起重工具。1845年,威廉·湯姆遜研制1由液壓升降臺,水驅(qū)動的液壓介質(zhì)。盡管起重工具提高了一代又一代的創(chuàng)新工程師不斷,但是可以解除公認(rèn)的行業(yè)并沒有出現(xiàn),直到1852年,世界第一部電梯的誕生。1889年,電梯就開始用它來驅(qū)動電梯,真正的電力。電梯通過下面的階段,在驅(qū)動控制技術(shù),直流電動機(jī)驅(qū)動控制的發(fā)展去了,控制驅(qū)動交流單速電機(jī),控制驅(qū)動交流雙速電機(jī),直流無齒輪,無齒輪驅(qū)動系統(tǒng),交流調(diào)壓調(diào)速驅(qū)動控制,變頻調(diào)速驅(qū)動控制,交流永磁同步電機(jī)驅(qū)動控制階段。在19世紀(jì)由Ward倫納德年底,直流電梯驅(qū)動系統(tǒng)控制時,使電梯的性能有明顯的提高。20世紀(jì)初,開始出現(xiàn)了電梯驅(qū)動交流異步電機(jī),電梯和槽輪驅(qū)動代替電梯鼓鼓驅(qū)動,奠定了現(xiàn)代電梯的長行程,高安全性能的堅(jiān)實(shí)基礎(chǔ)。20世紀(jì)上半葉,直流調(diào)速系統(tǒng)的系統(tǒng)中占有較大的比例,高速電梯。1967年,晶閘管開始為電梯驅(qū)動,交流變頻調(diào)壓調(diào)速電梯變頻器的控制出現(xiàn)了。1983年,電梯因其良好的性能,舒適和節(jié)能的塵世VVVF控制,迅速成為主流產(chǎn)品電梯。1996年,無機(jī)房電梯曳引機(jī)驅(qū)動齒輪交流永磁同步,電梯技術(shù),并再次進(jìn)入創(chuàng)新。曳引機(jī)和控制柜在軸上,沒有獨(dú)立的房間,節(jié)約建設(shè)成本,提高建筑物的有效面積,提高了建筑美學(xué)的設(shè)計(jì)自由度。這種電梯具有節(jié)能,無油無污染,免維護(hù),高安全性的特點(diǎn)。電梯控制模式的發(fā)展經(jīng)歷了手柄開關(guān)控制,按鈕控制,信號控制,并集體選擇性的控制過程,為電梯并聯(lián)控制,智能群控。如今,隨著經(jīng)濟(jì)的發(fā)展,越來越的運(yùn)行速度和控制電梯的性能更高樓大廈也提出了更高的要求。現(xiàn)在,世界各地的電梯公司都在不斷的進(jìn)行電梯產(chǎn)品研發(fā),維修及保養(yǎng)服務(wù)體系,滿足現(xiàn)代建筑交通和人日益并迅速增長的需求。常用的微機(jī)控制主要的有兩種技術(shù):基于PLC控制和基于單片機(jī)控制兩大技術(shù)。可編程控制器,是微機(jī)技術(shù)與繼電器常規(guī)控制技術(shù)相結(jié)合的產(chǎn)物,是在順序控制器和微機(jī)控制器的基礎(chǔ)上發(fā)展起來的新型控制器,是一種以微處理器為核心用作數(shù)字控制的專用計(jì)算機(jī),它有良好的抗干擾性能,適應(yīng)很多工業(yè)控制現(xiàn)場的惡劣環(huán)境,所以現(xiàn)在的電梯控制系統(tǒng)主要還是由可編程控制器控制。但是由于PLC的針對性較強(qiáng),每一臺PLC都是根據(jù)一個設(shè)備而設(shè)計(jì)的,所以價格較昂貴。而單片機(jī)價格相當(dāng)便宜,也不像PLC那么有針對性,可以隨著設(shè)備的更新而不斷修改完善,更完美的實(shí)現(xiàn)設(shè)備的升級?;趩纹瑱C(jī)控制的電梯可以大大的降低成本而且運(yùn)行也較可靠,采用單片機(jī)來實(shí)現(xiàn)老式電梯控制系統(tǒng)的改造無疑是最佳方案。由于單片機(jī)具有體積小、線路簡單、無噪音、可靠性高、維護(hù)方便,是一種少投入、高回報(bào)的方案[2]。為了了解電梯的結(jié)構(gòu)和控制技術(shù),有必要將這些大集的機(jī)械,電氣,傳感器產(chǎn)品在一個仿真,應(yīng)用軟件開發(fā)多功能的PLC,單片機(jī),微電腦,頻率轉(zhuǎn)換器控制裝置,將是提高學(xué)生的綜合應(yīng)用設(shè)計(jì)能力是非常有用和有效的。所以設(shè)計(jì)了一組電梯控制系統(tǒng),該系統(tǒng)可連接作為下位機(jī)的任何自動調(diào)節(jié)裝置,也可以作為一般的控制系統(tǒng),以驗(yàn)證各個電梯調(diào)度算法。通過本次對單片機(jī)控制電梯運(yùn)行的設(shè)計(jì)開發(fā),了解隨著時代進(jìn)步該領(lǐng)域的進(jìn)步發(fā)展,在實(shí)踐中自我嘗試創(chuàng)新,展現(xiàn)自我。1.3國內(nèi)外電梯發(fā)展?fàn)顩r及發(fā)展趨勢電梯進(jìn)入人們的生活已經(jīng)150年了。一個半世紀(jì)的風(fēng)風(fēng)雨雨,翻天覆地的是歷史的變遷,永恒不變的是電梯提升人類生活質(zhì)量的承諾。電梯的存在,使得每幢大型高樓都可以成為一座垂直的城市。在紐約的前世界貿(mào)易中心大樓里,除每天有5萬人上班外,還有8萬人次的來訪和旅游,因此250臺電梯和75臺自動扶梯的設(shè)置和正常運(yùn)行,才使得合理調(diào)運(yùn)人員、充分發(fā)揮大樓的功能成為現(xiàn)實(shí)。中國第一高樓、坐落在上海浦東的金茂大廈,高度420.5m,主樓地上88層,建筑面積220000㎡,集金融、商業(yè)、辦公和旅游為一體,其中60臺電梯、18臺扶梯的作用是顯而易見的。1889年,美國奧梯斯升降機(jī)公司推出了世界上第一部用電動機(jī)來提供動力的升降機(jī),同年在紐約市的馬累特大廈安裝成功,標(biāo)志著電梯的誕生。1915年已設(shè)計(jì)成功電梯自動平層控制系統(tǒng)。1933年美國制造出6m/s的高速電梯。1949年研制出4-6臺電梯群控系統(tǒng)。1955年出現(xiàn)真空電子管小型計(jì)算機(jī)控制電梯。1962年在美國已出現(xiàn)8.5m/s的超高速電梯。1967年將固體晶閘管用于電梯拖動系統(tǒng)。電梯使用的驅(qū)動由最初的直流電機(jī)到單速交流感應(yīng)電機(jī),后來的交流雙速電機(jī)的發(fā)明,才基本滿足了電梯的運(yùn)行要求。1976年將微處理器應(yīng)用于電梯。1977年日本三菱電機(jī)開發(fā)出10m/s的超高速電梯。至今,電梯的控制技術(shù)已有了很大的發(fā)展。中國在上海的第一個電梯,被美國奧的斯安裝在1901年,1932年美國奧的斯電梯安裝在天津順德酒店仍然安全運(yùn)行。1951年,黨中央提出要安裝在天安門是一個電梯由我們自己制造完成后,天津從生日電機(jī)廠榮仁,經(jīng)過近四個月已成功地執(zhí)行一項(xiàng)任務(wù),順利完成了任務(wù)。經(jīng)過11的十七屆三中全會,沐浴著改革開放的春風(fēng),中國的電梯行業(yè)已經(jīng)進(jìn)入了一個高速發(fā)展的時期。目前,在我國每一個城市,電梯都在廣泛使用。電梯帶來的方便了人們的生活,而且還提供了有力保證我國現(xiàn)代化建設(shè)。電梯發(fā)展到今天,在使用需求和新技術(shù)的應(yīng)用進(jìn)入了全面發(fā)展時期。隨著智能化,信息化建設(shè)的發(fā)展,提高電梯的要求,不僅只能進(jìn)行垂直運(yùn)輸?shù)幕竟δ?,也?yīng)以人為本,改善其舒適性,特別是從控制的智能電梯,電梯的角度考慮服務(wù)不再是“時間”的問題,而是采用模糊理論,神經(jīng)網(wǎng)絡(luò),專家系統(tǒng)等方法,實(shí)現(xiàn)了電梯群控管理和最佳模式,合理配置和安全使用,遠(yuǎn)程監(jiān)控和故障診斷,節(jié)約能源和減少環(huán)境污染。1.4主要研究內(nèi)容隨著科技的發(fā)展,微型計(jì)算機(jī)領(lǐng)域的不斷進(jìn)步,將使得將來電梯的體積大大減小,功能不斷完善,過程的控制更平穩(wěn)、可靠、抗干擾性能增強(qiáng)、機(jī)械與電氣部件被機(jī)結(jié)合在一個設(shè)備內(nèi),把儀表、電子和計(jì)算機(jī)的功能綜合在一起。因此微型計(jì)算機(jī)控制技術(shù)將會成為電梯運(yùn)行中的關(guān)鍵技術(shù)。本設(shè)計(jì)的研究題目是“基于51單片機(jī)的四層樓電梯控制系統(tǒng)設(shè)計(jì)”。系統(tǒng)采用單片機(jī)(AT89S52)作為控制核心,通過C語言編程,內(nèi)外均使用按鍵按下與否引起的單片機(jī)相應(yīng)端口電平變化的原理,作為用戶請求信息發(fā)送到單片機(jī),單片機(jī)根據(jù)判斷的結(jié)果最終驅(qū)動步進(jìn)電機(jī)做相應(yīng)的運(yùn)動,在運(yùn)動的過程中,單片機(jī)依照請求信息通過模擬的傳感器使步進(jìn)電機(jī)停止運(yùn)動,并利用彩燈指示和電機(jī)正反轉(zhuǎn)作為上升和下降的狀況顯示,數(shù)碼管顯示當(dāng)前樓層,紅綠LED燈表示電梯開關(guān)門,來完成整個請求和響應(yīng)的過程。其中利用電機(jī)的正反轉(zhuǎn)來更直觀的表達(dá)電梯的升降。根據(jù)問題的提出、意義和文獻(xiàn)綜述,本設(shè)計(jì)研究的具體內(nèi)容包括以下四個方面:(1)對電梯系統(tǒng)常用的控制方法的研究(2)電梯控制系統(tǒng)硬件組成及其原理(3)電梯的單片機(jī)系統(tǒng)軟件設(shè)計(jì)(4)電梯的軟件編譯調(diào)試及系統(tǒng)測試2方案論證2.1總體設(shè)計(jì)方案設(shè)計(jì)的基本思想是采用AT89S52單片機(jī)作為核心,是一種低功耗高性能CMOS8位單片機(jī),片內(nèi)8kBytesISP(In-systemprogrammable)的可反復(fù)擦寫1000次的FLASH只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。單芯片上,擁有8位CPU及在系統(tǒng)可編程FLASH,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效之解決方案[1]。AT89S52的特點(diǎn):擁有40個引腳,8kBytesFlash的片內(nèi)程序存儲器,256bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級及2層中斷嵌套中斷,2個16位可編程的定時計(jì)數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。采用8位LED靜態(tài)顯示來實(shí)時顯示電梯所在樓層。采用行列式鍵盤矩陣作為外呼內(nèi)選電路,由于是4層樓,故選用4×4矩陣鍵盤,鍵盤矩陣共16個按鍵,其中4個按鍵是各層樓外呼按鍵,2個表示電梯開關(guān)門的選擇鍵,電梯狀態(tài)是通過兩排指示箭頭發(fā)光二極管顯示的,向上箭頭燈亮表示電梯在向上運(yùn)行,向下箭頭燈亮表示電梯在向下運(yùn)行,另設(shè)有紅綠LED燈表示開門狀態(tài),綠燈表示開門狀態(tài)綠燈表示關(guān)門狀態(tài)??傮w方框圖如圖2-1所示:鍵盤電路樓層顯示電路單片機(jī)AT89S52鍵盤電路樓層顯示電路單片機(jī)AT89S52復(fù)位電路復(fù)位電路電機(jī)狀態(tài)時鐘電路電機(jī)狀態(tài)時鐘電路圖2-1總體方框圖2.2主控芯片選擇方案一:多片單片機(jī)控制方案。這種方案是使用多片單片機(jī),其中一片是作為主控制器,另外設(shè)置了轎廂控制系統(tǒng),每層的控制系統(tǒng)分別由一個單片機(jī)控制,然后通過主控制器和副控制器之間的通訊,實(shí)現(xiàn)電梯系統(tǒng)的控制。這種方案的控制系統(tǒng)的結(jié)構(gòu)簡單明了,各個系統(tǒng)之間相互獨(dú)立便于維護(hù)和修檢。所以根據(jù)功能要求需要選用5片AT89C2051單片機(jī)就能可以實(shí)現(xiàn)該電梯的功能。不過單片機(jī)之間的通訊較多,在目前通訊是個難點(diǎn),可能導(dǎo)致電梯運(yùn)行過程不穩(wěn)定。方案二:CPLD器件作為控制核心,對整個系統(tǒng)的運(yùn)行進(jìn)行統(tǒng)一管理,但這種方案要求通常有很多的知識積累和較強(qiáng)的專業(yè)水平,更難以實(shí)現(xiàn)和設(shè)備價格昂貴,不符合經(jīng)濟(jì)的要求,同時也控制升降電機(jī),運(yùn)行時間測量,顯示,而且還需要采取MCU。方案三:一片單片機(jī)為主控制器的方案。MCU采用一個單片機(jī)控制所有的按鍵、數(shù)碼管顯示、電動機(jī)的轉(zhuǎn)動等,并對以上所有信號進(jìn)行處理。這種方案的控制系統(tǒng)相對復(fù)雜,只適用于較簡單的電梯控制系統(tǒng),因?yàn)檫@次的設(shè)計(jì)是四層電梯控制系統(tǒng),所以選用這種方案。單片機(jī)技術(shù)目前較為成熟,自身資源豐富,硬件設(shè)計(jì)簡單,成本低,可靠性高,結(jié)合軟件完全可以實(shí)現(xiàn)電梯運(yùn)行狀況的簡單模擬。權(quán)衡以上三種方案方案分析,采用方案三。2.3樓層顯示模塊選擇方案一:采用點(diǎn)陣式的液晶顯示器(LCD)來顯示各種相關(guān)的數(shù)據(jù)以及相關(guān)的信息。點(diǎn)陣式的液晶顯示器雖然屬于低功耗的器件,但其價格比較貴。方案二:采用傳統(tǒng)的八段數(shù)碼管(LED)顯示電梯實(shí)時所到的樓層。雖功耗大,但其軟件驅(qū)動相對比較簡單,硬件電路調(diào)試也比較方便,價格便宜,亮度大,能滿足本設(shè)計(jì)的要求。以上兩種方案中,選擇方案二。2.4電動機(jī)模塊選擇方案一:步進(jìn)電機(jī)作為設(shè)計(jì)的執(zhí)行部件,在定位性能的步進(jìn)電機(jī)是非常優(yōu)越的。步進(jìn)電機(jī)和普通電機(jī)的區(qū)別主要在于其脈沖驅(qū)動形式,步進(jìn)電機(jī)不需要A/D轉(zhuǎn)換,能夠直接將數(shù)字脈沖信號轉(zhuǎn)化為角位移。常用的步進(jìn)電機(jī)每轉(zhuǎn)一步,角度轉(zhuǎn)1.8°,在應(yīng)用中,步進(jìn)電機(jī)可以同時來完成兩個工作,一個是傳遞轉(zhuǎn)矩,第二個是傳遞信息,在本設(shè)計(jì)中作為傳遞信息用。方案二:直流電機(jī)作為執(zhí)行元件的設(shè)計(jì),直流電機(jī)的功能是讓線圈總是交替地處于穩(wěn)定狀態(tài)和不穩(wěn)定的平衡狀態(tài),通過兩個半圓環(huán)形電樞將穩(wěn)定平衡線圈消除。這樣一個載流線圈總是降低磁場。直流電機(jī)中常用的系統(tǒng),高轉(zhuǎn)矩,高扭矩,低慣量。以上兩種方案采用方案一。利用Protel畫圖軟件構(gòu)建原理圖如圖2-2所示:圖2-2原理圖3硬件設(shè)計(jì)3.1AT89S52功能簡介AT89S52是一種低功耗高性能CMOS8位單片機(jī),片內(nèi)8kBytesISP(In-systemprogrammable)的可反復(fù)擦寫1000次的FLASH只讀程序存儲器,器件采用ATMEL公司之高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。單芯片上,擁有8位CPU及在系統(tǒng)可編程FLASH,使AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效之解決方案[2]。AT89S52特點(diǎn):有40針,8K字節(jié)的Flash片內(nèi)程序存儲器,隨機(jī)存取數(shù)據(jù)存儲器256字節(jié)(RAM),32個外部雙向輸入/輸出(I/O),5個中斷優(yōu)先級2中斷嵌套中斷,2個16位可編程定時計(jì)數(shù)器,一個全雙工串行通信2出口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。單片機(jī)AT89S52如圖3-1所示:圖3-1單片機(jī)AT89S52P0口——8位漏極開路之雙向I/O口。作為一個輸出端口,每個可以驅(qū)動8個TTL邏輯電平。P0口寫入“1”時,引腳用作高阻抗輸入。P1口——有8位雙向I/O內(nèi)部上拉電阻,P1輸出緩沖器可驅(qū)動4個TTL邏輯電平。P1口,寫“1”時,內(nèi)部上拉電阻拉高端口,此時可以作為輸入。當(dāng)作為輸入,外部向下引線由于內(nèi)部電阻和輸出電流。P2口——有8位雙向I/O內(nèi)部上拉電阻,P2輸出緩沖器可驅(qū)動4個TTL邏輯電平。P2口,寫“1”時,內(nèi)部上拉電阻拉高端口,此時可以作為輸入。作為輸入,被拉低外部引腳內(nèi)部電阻和輸出電流。P3口——有8位雙向I/O內(nèi)部上拉電阻,P3輸出緩沖器可驅(qū)動4個TTL邏輯電平。P3口,寫“1”時,內(nèi)部上拉電阻拉高端口,此時可以作為輸入。作為輸入,被拉低外部管腳用于內(nèi)部電阻的原因,并輸出電流。RST——復(fù)位輸入。當(dāng)RST引腳振蕩器,還有高水平的兩個以上的機(jī)器周期將被重置。ALE/PROG-訪問外部存儲器時,ALE(地址鎖存使能)輸出脈沖為低8字節(jié)鎖存地址。PSEN——程序存儲使能(PSEN)輸出是讀選通到外部程序存儲器的信號,從外部程序存儲器(或數(shù)據(jù))AT89S52取指令,2PSEN每個機(jī)器周期,即輸出兩個脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)內(nèi)存,可以跳兩次PSEN信號。EA/VPP——外部訪問使能,CPU只訪問外部程序存儲器(地址0000H-FFFFH),EA端必須保持低電平(接地)。注意:如果加密位LB1編程,復(fù)位內(nèi)部鎖存的EA最終狀態(tài)。如果EA為高電平(VCC結(jié)束),指令CPU執(zhí)行內(nèi)部程序存儲器。XTAL1——振蕩器反相放大器及內(nèi)部時鐘發(fā)生電路之輸入端。XTAL2——振蕩器反相放大器之輸出端[3]。3.2單片機(jī)最小系統(tǒng)最小系統(tǒng)包括復(fù)位電路和時鐘電路兩部分,其中復(fù)位電路采用上電自動復(fù)位,其中9腳為單片機(jī)的復(fù)位端,時鐘電路如圖3所示:晶振采用的是12MHZ的,C2、C3為30p瓷片電容,XATL2和XATL1分別為單片機(jī)的18和19腳。時鐘電路如圖3-2所示:圖3-2時鐘電路圖3.3按鍵電路本電路采用的是4×4鍵盤矩陣。P34-P37是接單片機(jī)的P3端口,單片機(jī)采用行和列掃描法來判別這些按鍵中哪個鍵按下,P00-P02接單片機(jī)P0端口,S1-S6為微動按鍵,分別控制電梯開關(guān)門和電梯樓層呼叫開關(guān),然后可根據(jù)每個按鍵的功能來通過單片機(jī)控制電梯的運(yùn)行。D1-D14為3mmLED二極管,D1,D4,D7,D10,D13并聯(lián)并串聯(lián)一個100歐姆的電阻R1,D3,D9,D12并聯(lián)并串聯(lián)一個100歐姆的電阻R3,D2,D5,D8,D11,D14并聯(lián)并串聯(lián)一個100歐姆的電阻R2。排布成上下箭頭形狀,利用箭頭指示燈分別來表示電梯上下樓情況。電梯開關(guān)門按鍵如圖3-6所示,P20-P21是接單片機(jī)的P2端口,利用微動按鍵按下與否的高低電平來使兩個發(fā)光二極管亮,由兩個紅綠5mmLED發(fā)光二極管并聯(lián)并串聯(lián)一個1K歐姆的電阻R12,紅燈亮表示電梯關(guān)門,綠燈亮表示電梯開門。電梯按鈕模塊如圖3-3和圖3-4所示:圖3-3電梯按鈕模塊圖3-4電梯按鈕模塊各按鈕開關(guān)說明:按鈕開關(guān)S3:四層樓呼叫開關(guān);按鈕開關(guān)S4:三層樓呼叫開關(guān);按鈕開關(guān)S5:二層樓呼叫開關(guān);按鈕開關(guān)S6:一層樓呼叫開關(guān);電梯門指示模塊及電梯開關(guān)門按鍵如圖3-5和3-6所示:圖3-5電梯門指示模塊圖3-6電梯開關(guān)門按鍵3.4顯示電路采用傳統(tǒng)的八段數(shù)碼管(LED)顯示電梯實(shí)時所到的樓層。其軟件驅(qū)動簡單,硬件電路調(diào)試方便,價格便宜,亮度大,能滿足本設(shè)計(jì)的要求。用數(shù)碼管顯示,電梯的基本功能具備顯示電梯當(dāng)前的樓層,所以設(shè)計(jì)中設(shè)置了一個數(shù)碼顯示管,用來顯示當(dāng)前電梯所在的層數(shù),P10-P17都串聯(lián)一個1K歐姆的電阻接單片機(jī)的P1接口,由P1口來驅(qū)動8位數(shù)碼管顯示電梯所到達(dá)的樓層數(shù)。接線圖如圖6所示,圖中共有1個數(shù)碼管,通過對8根數(shù)據(jù)線進(jìn)行寫操作進(jìn)行樓層顯示。樓層顯示模塊如圖3-7所示:圖3-7樓層顯示模塊3.5電源模塊本系統(tǒng)采用LM7805穩(wěn)壓電路提供電壓+5V,對各部分電路供電,電源可以采用USB接口的方式輸入,也可以采用標(biāo)準(zhǔn)的電源輸入頭輸入。C1為0.1uF瓷片電容。電源模塊如圖3-8所示:圖3-8電源模塊3.6步進(jìn)電機(jī)模塊采用步進(jìn)電機(jī)作為本設(shè)計(jì)的執(zhí)行元件,步進(jìn)電機(jī)在定位性能方面非常優(yōu)越。步進(jìn)電機(jī)和普通電機(jī)的區(qū)別主要就在于其脈沖驅(qū)動的形式,步進(jìn)電機(jī)不需要A/D轉(zhuǎn)換,能夠直接將數(shù)字脈沖信號轉(zhuǎn)化為角位移[4]。常用的步進(jìn)電機(jī)每轉(zhuǎn)一步,角度轉(zhuǎn)1.8°,在應(yīng)用中,步進(jìn)電機(jī)可以同時完成兩個工作,其一是傳遞轉(zhuǎn)矩,其二是傳遞信息,在本設(shè)計(jì)中作為傳遞信息用,步進(jìn)電機(jī)使用的是28BYJ-5V。步進(jìn)電機(jī)由ULN2003A驅(qū)動,ULN是集成有IC達(dá)林頓管,還集成了一個弧形線圈電動勢的二極管,它可以用來驅(qū)動繼電器。它是雙列16腳封裝,NPN晶體管矩陣,最大驅(qū)動電壓=50V,電流=500毫安,輸入電壓=5V,適用于TTLCOMS,達(dá)林頓管驅(qū)動電路。通常芯片ULN2003驅(qū)動,上拉電阻2K是合適的,同時,COM引腳懸空或連接電源。本設(shè)計(jì)中COM引腳接電源,GND腳接地。輸入端IN4-IN7連P24-P27分別接主單片機(jī)的P2口P2.4-P2.7。步進(jìn)電機(jī)模塊如圖3-9所示:圖3-9步進(jìn)電機(jī)模塊4軟件設(shè)計(jì)4.1軟件設(shè)計(jì)思想設(shè)計(jì)采用鍵盤矩陣來代替外呼按鈕,而電梯的運(yùn)行方向和電梯開關(guān)門是根據(jù)這些呼叫按鍵和選擇按鍵來決定的,所以單片機(jī)通過掃描鍵盤來獲取各層呼叫狀態(tài),從而控制電梯的運(yùn)行。故鍵盤矩陣掃描是本系統(tǒng)軟件設(shè)計(jì)中的重要一部分,另外要把鍵盤掃描到的各層的按鍵信息存儲起來,然后和電梯的運(yùn)行狀態(tài)比較,判斷是否響應(yīng)各層呼叫,當(dāng)電梯到達(dá)目的樓層時電機(jī)停止,可隨意選擇去哪一層,然后電梯選擇判斷去哪一層,繼續(xù)運(yùn)行。由于本設(shè)計(jì)采用單片機(jī)實(shí)現(xiàn)自動控制,主要完成了整個系統(tǒng)系統(tǒng)如數(shù)碼管的顯示,鍵盤的響應(yīng),轉(zhuǎn)動電機(jī)的控制,延時等均由相應(yīng)的子程序來完成。軟件設(shè)計(jì)思想:使用模塊化的C語言編程,軟件系統(tǒng)的功能層次化設(shè)計(jì)方法,包括多個單一功能的子程序的。通過調(diào)用不同的子程序,實(shí)現(xiàn)復(fù)雜的控制功能。這是方便調(diào)試,修改。軟件編程是一種多功能,智能化,操作簡便。在本設(shè)計(jì)中,可以把程序的各部分相互結(jié)合起來,達(dá)到完成各項(xiàng)設(shè)計(jì)的功能[5]。4.2電梯主程序根據(jù)系統(tǒng)要求,電梯的程序應(yīng)滿足以下要求:(1)初始化程序使數(shù)碼管顯示“1”表示電梯處在一樓,等待人進(jìn)入電梯;(2)主程序主要包括:①判斷電梯選擇去哪一層,根據(jù)判斷情況來控制電梯運(yùn)行,到達(dá)目標(biāo)樓層后相應(yīng)的開關(guān)門指示燈熄滅;②電梯在運(yùn)行過程中要不斷的掃描鍵盤,從而來判斷各樓層是否有其他呼叫請求;③設(shè)置電梯上下樓功能按鍵、開關(guān)門按鍵;④實(shí)時顯示電梯所在位置及運(yùn)行狀態(tài)(上行/下行);⑤開關(guān)門有一定的延時來保證乘客走出/進(jìn)入電梯;主程序流程圖如圖4-1所示:開始開始初始化初始化按鍵查詢按鍵查詢調(diào)用按鍵子程序調(diào)用按鍵子程序控制電機(jī)轉(zhuǎn)動控制電機(jī)轉(zhuǎn)動樓層檢測樓層檢測顯示所在樓層顯示所在樓層返回返回圖4-1主程序流程圖電梯的整個軟件設(shè)計(jì)包括一下幾部分:電梯邏輯控制模塊、電梯運(yùn)行模塊、鍵盤模塊、樓層顯示模塊。4.3電梯邏輯運(yùn)行控制電梯控制中,單片機(jī)掃描樓層外呼信號,將樓層呼叫信號與當(dāng)前樓層運(yùn)行狀態(tài)進(jìn)行比較,確定電梯響應(yīng)上升、下降隊(duì)列,然后電梯按照運(yùn)行隊(duì)列進(jìn)行電機(jī)控制。而將呼叫信號轉(zhuǎn)化為響應(yīng)隊(duì)列的程序模塊是電梯控制的核心部分,其算法的嚴(yán)謹(jǐn)性,決定了電梯的控制性能。其C語言程序源代碼見附錄1。電梯響應(yīng)上升下降隊(duì)列時,要對相應(yīng)的箭頭指示燈、上下運(yùn)行狀態(tài),以及響應(yīng)隊(duì)列做相應(yīng)的改變,而實(shí)現(xiàn)這一功能模塊的就是電梯運(yùn)行函數(shù)。其程序源代碼見附錄1。邏輯框圖如圖4-2所示:上升下降隊(duì)列為空:停止運(yùn)行上升下降隊(duì)列為空:停止運(yùn)行未到達(dá)樓層:向上運(yùn)行,并顯示運(yùn)行方向當(dāng)前樓層數(shù)未到達(dá)樓層:向上運(yùn)行,并顯示運(yùn)行方向當(dāng)前樓層數(shù)上升隊(duì)列不為空上升隊(duì)列不為空除去向下樓層隊(duì)列電梯停轉(zhuǎn)到達(dá)樓層方向向上除去向下樓層隊(duì)列電梯停轉(zhuǎn)到達(dá)樓層方向向上顯示開關(guān)門狀態(tài)電梯運(yùn)行函數(shù)顯示開關(guān)門狀態(tài)電梯運(yùn)行函數(shù)上升隊(duì)列為空,下降不為空:判斷下降上升隊(duì)列為空,下降不為空:判斷下降未到達(dá)樓層:向下運(yùn)行,顯示運(yùn)行方向當(dāng)前樓層數(shù)未到達(dá)樓層:向下運(yùn)行,顯示運(yùn)行方向當(dāng)前樓層數(shù)除去向上樓層隊(duì)列電梯停轉(zhuǎn)下降隊(duì)列不為空除去向上樓層隊(duì)列電梯停轉(zhuǎn)下降隊(duì)列不為空到達(dá)樓層方向向下到達(dá)樓層方向向下顯示開關(guān)門狀態(tài)顯示開關(guān)門狀態(tài)下降隊(duì)列為空,上升不為空:判斷上升下降隊(duì)列為空,上升不為空:判斷上升圖4-2電梯運(yùn)行邏輯圖4.4按鍵方式鍵盤是獨(dú)立按鍵,采用的是查詢方式,即外接獨(dú)立按鍵的時候,是按鍵的一端接地,另一端與I/O引腳相連,當(dāng)按鍵按下的時候,引腳輸入的是低電平,而按鍵未按下的時候,引腳輸入的是高電平[6]。利用C語言編程時只要用檢測高低電平來判斷是否有按鍵按下就可以了。其程序源代碼見附錄1。4.5顯示系統(tǒng)樓層顯示部分用數(shù)碼管顯示,電梯的基本功能具備顯示電梯當(dāng)前的樓層,所以設(shè)計(jì)中設(shè)置了一個數(shù)碼顯示管,用來顯示當(dāng)前電梯所在的層數(shù),P10-P17都串聯(lián)一個1K歐姆的電阻接單片機(jī)的P1接口,由P1口來驅(qū)動8位數(shù)碼管顯示電梯所到達(dá)的樓層數(shù)。程序源代碼見附錄1。4.6電機(jī)演示系統(tǒng)采用步進(jìn)電機(jī)作為本設(shè)計(jì)的執(zhí)行元件,步進(jìn)電機(jī)在定位性能方面十分優(yōu)越。步進(jìn)電機(jī)和普通電機(jī)的區(qū)別主要就在于其脈沖驅(qū)動的形式,步進(jìn)電機(jī)不需要A/D轉(zhuǎn)換,能夠直接將數(shù)字脈沖信號轉(zhuǎn)化為角位移。常用的步進(jìn)電機(jī)每轉(zhuǎn)一步,角度轉(zhuǎn)1.8°,在應(yīng)用中,步進(jìn)電機(jī)可以同時完成兩個工作,其一是傳遞轉(zhuǎn)矩,其二是傳遞信息,在本設(shè)計(jì)中作為傳遞信息用,步進(jìn)電機(jī)使用的是28BYJ-5V。電梯運(yùn)行前先關(guān)門,步進(jìn)電機(jī)8個節(jié)拍循環(huán)旋轉(zhuǎn),電梯每上升或下降一層電機(jī)順時針或者逆時針轉(zhuǎn)動半周也就是180度,旋轉(zhuǎn)一周360度幀數(shù)是512,半周是256幀。程序源代碼見附錄1。5軟件調(diào)試及系統(tǒng)測試5.1軟件編譯調(diào)試在軟件調(diào)試中,采用keil仿真軟件進(jìn)行程序調(diào)試。首先分別調(diào)試各個功能程序,再對整個程序進(jìn)行調(diào)試,以便修改錯誤碼。具體的調(diào)試方法如下:首先在keil軟件中選擇STC89S52作為CPU,因?yàn)樵撥浖袥]有AT89S52,但是基本功能和之差不多,將晶振頻率設(shè)置為12MHZ,然后新建一個文件,將各個功能程序錄入,先檢查程序有無明顯錯誤,保存過后編譯程序,如果有錯誤時就根據(jù)提示加以修改,當(dāng)各個功能程序編譯完成后,再對整個程序全速執(zhí)行,查看程序有哪些地方出現(xiàn)錯誤,對應(yīng)錯誤的提示來調(diào)整程序,糾正錯誤直到程序正確無誤,調(diào)試結(jié)束后軟件調(diào)試界面如下圖5-1所示:圖5-1軟件調(diào)試界面5.2實(shí)物制作及系統(tǒng)測試在原理圖及原材料確定好的基礎(chǔ)上直接進(jìn)行實(shí)物制作,進(jìn)行各部件在電路板上的組配和焊接。電路板圖和焊接圖見附錄2。對系統(tǒng)進(jìn)行測試,測試一開始時,電梯位于一樓,按下向上按鍵,我分別按順序按下2-4樓的按鍵,電梯先后在2樓,3樓停下,最后在4樓停下。然后我分別按順序按下3-1樓的樓層呼叫按鈕,電梯分別在3樓,2樓停下,最后在1樓停下。而且各指示燈和數(shù)碼管顯示都正常。然后我按下3層樓按鍵,再按下2層樓按鍵,電梯先在二樓停下,再繼續(xù)行至3樓,按下4層樓按鍵,再按下下樓按鍵,我按1層樓呼叫按鍵,電梯先行至4層樓,然后再下樓行至1層樓。初始電梯在1層樓,我先按下2層樓呼叫按鍵,在電梯運(yùn)行的時候,先后按下1層樓按鍵和3層樓按鍵,電梯先停在2層樓,然后再上升至3層樓停下后再下降至1層樓,按下3層樓按鍵之后重復(fù)以上操作同樣先響應(yīng)電梯運(yùn)行方向上的信號。綜上測試,電梯在上升或者下降過程中先響應(yīng)上升或者下降樓層的信號,并對最近樓層呼叫有優(yōu)先級的響應(yīng)。系統(tǒng)具有方向優(yōu)先、距離優(yōu)先的功能,基本模擬了實(shí)際電梯運(yùn)行,完成題目設(shè)計(jì)要求。6小結(jié)經(jīng)過這一段時間選擇和設(shè)計(jì),完成了一個具有基本功能的電梯控制系統(tǒng)。系統(tǒng)是一個四層樓電梯控制系統(tǒng)。它能實(shí)現(xiàn)一個電梯具有的基本功能,包括:電梯上下運(yùn)行功能,電梯選層功能,樓層顯示功能,電梯自動開關(guān)門功能,智能初始化功能。并且加入了自我設(shè)計(jì)的電機(jī)模塊,不僅基本達(dá)到了設(shè)計(jì)要求和目的,同時也不乏自我的創(chuàng)新設(shè)計(jì)。通過這次畢業(yè)設(shè)計(jì),雖然遇到的困難重重,但是受益匪淺,對單片機(jī)在實(shí)物中應(yīng)用的能力有一個很好的了解,這種開放式的畢業(yè)設(shè)計(jì),我從中學(xué)到的不僅僅是所設(shè)計(jì)方面的知識,更重要的是學(xué)會了去學(xué)習(xí),去理解的方法,學(xué)會了利用身邊現(xiàn)有的資源和人緣,作為我去更好學(xué)習(xí)的一個階梯,雖然這次畢業(yè)設(shè)計(jì)時間并不長,但是我發(fā)現(xiàn)我對我的自主學(xué)習(xí)能力有所提高,。學(xué)無止境,在今后的學(xué)習(xí)生活中,我將把學(xué)到的知識靈活的運(yùn)用到學(xué)習(xí)、工作和生活當(dāng)中。而且在畢業(yè)設(shè)計(jì)過程中,不僅是在學(xué)習(xí)新知識這一塊上有了很大的提高,同時我的意志力也得到了很好的鍛煉。只有不斷挑戰(zhàn)自己,才能讓自己學(xué)到和收獲更多,才能適應(yīng)我們這些即將走出校園走向社會的學(xué)生。致謝經(jīng)過一個多月的忙碌,在工作中同時要完成自己的畢業(yè)設(shè)計(jì),如今畢業(yè)設(shè)計(jì)已經(jīng)基本完成,作為一個本科畢業(yè)生的畢業(yè)設(shè)計(jì),因?yàn)榻?jīng)驗(yàn)的匱乏和其他一些因素,還有許多考慮不周全的地方,如果沒有指導(dǎo)老師陳老師的督促指導(dǎo)和同學(xué)們的幫助,完成這個設(shè)計(jì)是沒有這么順利的。在這里首先要感謝我的指導(dǎo)老師陳老師,平時對于我的畢業(yè)設(shè)計(jì)一直嚴(yán)格督促。在我做畢業(yè)設(shè)計(jì)的這段時間,從選題到題目確定,還有期間的一些其他關(guān)于畢業(yè)設(shè)計(jì)的問題,老師曾多次打電話來詢問情況,足以顯示老師對我的督促和關(guān)心,而且我自己不懂的還需要打給老師去詢問,占用了老師的時間不說,還要老師為我提出意見和看法。這些老師確沒有表示任何的不滿,在此謹(jǐn)向陳老師致以誠摯的謝意和崇高的敬意。其次我要感謝那些在我設(shè)計(jì)過程中遇到困難而幫助我的人,特別是我的同班同學(xué),這里名字就不提了,他們教會我一些軟件應(yīng)用調(diào)試和硬件上的一些指導(dǎo),在這段時間他們幫助下我才能順利完成我的畢業(yè)設(shè)計(jì),再次感謝他們對我的幫助。最后,對于那些給了我無言幫助的師長、同學(xué)、朋友,在這里請接受我誠摯的謝意!謝謝你們!參考文獻(xiàn)[1]張毅剛.彭喜元.單片機(jī)原理與應(yīng)用設(shè)計(jì)[M].北京電子工業(yè)出版社,2008.4[2]張齊.杜群貴.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)[M].電力工業(yè)出版社,2007.7[3]譚浩強(qiáng).C程序設(shè)計(jì)第三版[M].清華大學(xué)出版社,2006.6[4]閻石主.數(shù)字電子技術(shù)基礎(chǔ)[M].高等教育出版社,2007.11[5]李華主.MCS-5系列單片機(jī)使用接口技術(shù)[M].北京航天航空出版社,2003.6[6]童詩白.華成英.模擬電子技術(shù)基礎(chǔ)第三版[M].高等教育出版社,2006.12[7]趙廣林.輕松跟我學(xué)Protel99se電路設(shè)計(jì)與制作[M].北京電子工業(yè)出版社,2005.2[8]馮建華.趙亮.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與產(chǎn)品開發(fā)[M].人民郵電出版社,2004年[9]廖偉強(qiáng).鄭崇林.單片機(jī)與嵌入式系統(tǒng)課程的教改與探索[J].《大眾科技》.2013年,第04期[10]馮川放.基于仿真開發(fā)平臺實(shí)現(xiàn)單片機(jī)與嵌入式系統(tǒng)的設(shè)計(jì)[J].《常州工學(xué)院學(xué)報(bào)》.2011年,第02期[11]謝國強(qiáng).基于案例教學(xué)的單片機(jī)與嵌入式系統(tǒng)教學(xué)改革研究[J].《科教導(dǎo)刊(上旬刊)》.2013年,第09期[12]BriggsWS.Single-chipmicrocomputerwithinternaltime-multiplexedaddress/data/interruptbus:U.S.Patent4,626,985[P].1986-12-2.[13]ZHANGH,WANGX,WANGX.ReformofSingle-chipMicrocomputerExperimentTeachingBasedonProteusandKeil[J].JournalofElectrical&ElectronicEducation,2008.6附錄1C語言程序代碼#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbitcloseDoor=P3^3; //關(guān)門控制定義sbitopenDoor=P3^0; //開門控制定義sbitopen=P2^0;//開門按鈕sbitclose=P2^1;//關(guān)門按鈕sbitfirstFloor=P3^7; //第一層按鍵呼叫sbitsecondFloor=P3^6; //第一層按鍵呼叫sbitthirdFloor=P3^5; //第一層按鍵呼叫sbitfourthFloor=P3^4; //第一層按鍵呼叫sbitLED0=P0^0; //方向指示LEDsbitLED1=P0^1; //方向指示LEDsbitLED2=P0^2; //方向指示LEDsbitPWM1=P2^4;//步進(jìn)電機(jī)sbitPWM2=P2^5;//步進(jìn)電機(jī)sbitPWM3=P2^6;//步進(jìn)電機(jī)sbitPWM4=P2^7;//步進(jìn)電機(jī)uinttime;ucharnowFloor=1;//電梯所在的層/********數(shù)碼管引腳與單片機(jī)P1口對應(yīng)關(guān)系*******//************01234567****************//************gfbaedhc****************//*********************************************/ucharTab[]={0x41,0x7B,0xC2,0x52,0x78,0x54,0x44,0x73,0x40,0x50,0x60,0x4C,0xC5,0x4A,0xC4,0xE4};bitfirst_Floor=0; //電梯呼叫層1bitsecond_Floor=0; //電梯呼叫層2bitthird_Floor=0; //電梯呼叫層3bitfourth_Floor=0; //電梯呼叫層4voidDelay(uintt){ uchari; while(t--) { for(i=0;i<200;i++) { if(firstFloor==0) //電梯呼叫層1 first_Floor=1; if(secondFloor==0) //電梯呼叫層2 second_Floor=1; if(thirdFloor==0) //電梯呼叫層3 third_Floor=1; if(fourthFloor==0) //電梯呼叫層4 fourth_Floor=1; if(!open)openDoor=0; if(!close){openDoor=1;time=0;} closeDoor=~openDoor;//關(guān)門和開門狀態(tài)相反 P1=Tab[nowFloor];//刷新電梯所在樓層 } }}voiddelayPWM(uintt) //步進(jìn)電機(jī)延時{ while(t--) { if(firstFloor==0) //電梯呼叫層1 first_Floor=1; if(secondFloor==0) //電梯呼叫層2 second_Floor=1; if(thirdFloor==0) //電梯呼叫層3 third_Floor=1; if(fourthFloor==0) //電梯呼叫層4 fourth_Floor=1; }}voidting() { PWM1=PWM2=PWM3=PWM4=0; //步進(jìn)電機(jī)停止轉(zhuǎn)動 LED0=LED1=LED2=1; //上下行箭頭指示燈熄滅}voidfan(uintt){ while(t--) { closeDoor=1; //電梯運(yùn)行前先關(guān)門 openDoor=0;//電梯運(yùn)行前先關(guān)門 PWM1=1;PWM2=PWM3=PWM4=0;delayPWM(150); //步進(jìn)電機(jī)8個節(jié)拍循環(huán)旋轉(zhuǎn) PWM2=PWM1=1;PWM3=PWM4=0;delayPWM(150); //步進(jìn)電機(jī)8個節(jié)拍循環(huán)旋轉(zhuǎn) PWM2=1;PWM1=PWM3=PWM4=0;delayPWM(150); //步進(jìn)電機(jī)8個節(jié)拍循環(huán)旋轉(zhuǎn) PWM3=PWM2=1;PWM1=PWM4=0;delayPWM(150); //步進(jìn)電機(jī)8個節(jié)拍循環(huán)旋轉(zhuǎn) PWM3=1;PWM2=PWM1=PWM4=0;delayPWM(150); //步進(jìn)電機(jī)8個節(jié)拍循環(huán)旋轉(zhuǎn) PWM4=PWM3=1;PWM2=PWM1=0;delayPWM(150); //步進(jìn)電機(jī)8個節(jié)拍循環(huán)旋轉(zhuǎn) PWM4=1;PWM2=PWM3=PWM1=0;delayPWM(150); //步進(jìn)電機(jī)8個節(jié)拍循環(huán)旋轉(zhuǎn) PWM4=PWM1=1;PWM2=PWM3=0;delayPWM(150); //步進(jìn)電機(jī)8個節(jié)拍循環(huán)旋轉(zhuǎn) P1=Tab[nowFloor];//刷新顯示當(dāng)前樓層 } ting();}voidzheng(uintt){ while(t--) { closeDoor=1; //電梯運(yùn)行前先關(guān)門 openDoor=0;//電梯運(yùn)行前先關(guān)門 PWM4=PWM1=1;PWM2=PWM3=0;delayPWM(150); //步進(jìn)電機(jī)8個節(jié)拍循環(huán)旋轉(zhuǎn) PWM4=1;PWM2=PWM3=PWM1=0;delayPWM(150); //步進(jìn)電機(jī)8個節(jié)拍循環(huán)旋轉(zhuǎn) PWM4=PWM3=1;PWM2=PWM1=0;delayPWM(150); //步進(jìn)電機(jī)8個節(jié)拍循環(huán)旋轉(zhuǎn) PWM3=1;PWM2=PWM1=PWM4=0;delayPWM(150); //步進(jìn)電機(jī)8個節(jié)拍循環(huán)旋轉(zhuǎn) PWM3=PWM2=1;PWM1=PWM4=0;delayPWM(150); //步進(jìn)電機(jī)8個節(jié)拍循環(huán)旋轉(zhuǎn) PWM2=1;PWM1=PWM3=PWM4=0;delayPWM(150); //步進(jìn)電機(jī)8個節(jié)拍循環(huán)旋轉(zhuǎn) PWM2=PWM1=1;PWM3=PWM4=0;delayPWM(150); //步進(jìn)電機(jī)8個節(jié)拍循環(huán)旋轉(zhuǎn) PWM1=1;PWM2=PWM3=PWM4=0;delayPWM(150); //步進(jìn)電機(jī)8個節(jié)拍循環(huán)旋轉(zhuǎn) P1=Tab[nowFloor];//刷新電梯樓層 } ting();}voidUpward() //電梯上行指示LED{ LED1=LED0=0;LED2=1; //上行箭頭指示燈打開 zheng(256); //步進(jìn)電機(jī)順時針旋轉(zhuǎn)半周,旋轉(zhuǎn)一周360度是512,半周是256}voidDownward() //電梯下行指示LED{ LED1=LED2=0;LED0=1; //下行箭頭指示燈打開 fan(256); //步進(jìn)電機(jī)逆時針旋轉(zhuǎn)半周,旋轉(zhuǎn)一周360度是512,半周是256}voidArrival() //電梯到達(dá){ openDoor=1;//打開電梯開門 Delay(500);//等待乘客上下電梯時間 openDoor=0;//關(guān)門 Delay(50);//等待關(guān)門時間時間 } voidSYS_Init() //系統(tǒng)初始化{ P0=0xFF; //系統(tǒng)初始化 P1=0xFF; //系統(tǒng)初始化 P2=0xFF; //系統(tǒng)初始化 P3=0xFF; //系統(tǒng)初始化 PWM1=PWM2=PWM3=PWM4=0;}voidmain(){ SYS_Init(); nowFloor=1;//電梯處于一層 openDoor=0;//電梯門處于關(guān)閉狀態(tài) while(1) { if(first_Floor) //第1層呼叫 { if(nowFloor>1) { if(nowFloor==4) //如果電梯在第4層 { Downward(); //向下走 nowFloor=3; //到達(dá)3樓 if(third_Floor) //運(yùn)動過程中遇到呼叫 { Arrival(); //到達(dá) third_Floor=0; } } if(nowFloor==3) //如果電梯在第3層 { Downward(); //向下走 nowFloor=2; if(second_Floor)//運(yùn)動過程中遇到呼叫 { Arrival(); //到達(dá) second_Floor=0; } } if(nowFloor==2) //如果電梯在第2層 { Downward(); //向下走 nowFloor=1; if(first_Floor) //運(yùn)動過程中遇到呼叫 { Arrival(); //到達(dá) first_Floor=0; } } } else//電梯就在第一層 { Arrival(); //到達(dá) } first_Floor=0; } if(second_Floor)//第2層呼叫 { if(nowFloor<2) { Upward(); nowFloor=2; if(second_Floor) //運(yùn)動過程中遇到呼叫 { Arrival(); //到達(dá) second_Floor=0; } } else if(nowFloor>2) //電梯所在層 { if(nowFloor==4) //電梯所在層 { Downward(); nowFloor=3; if(third_Floor) //運(yùn)動過程中遇到呼叫 { Arrival(); //到達(dá) third_Floor=0; } } if(nowFloor==3) //電梯所在層 { Downward(); nowFloor=2; if(second_Floor)//運(yùn)動過程中遇到呼叫 { Arrival(); //到達(dá) second_Floor=0; } } if(first_Floor) //運(yùn)動過程中遇到呼叫 { Downward(); //向下走 nowFloor=1; Arrival(); //到達(dá) first_Floor=0; } } else//電梯就在二層 { Arrival(); //到達(dá) if(first_Floor) //運(yùn)動過程中遇到呼叫 { Downward(); //向下走 nowFloor=1; Arrival(); //到達(dá) first_Floor=0; } } second_Floor=0; } if(third_Floor) //第3層呼叫 { if(nowFloor>3) //電梯所在層 { Downward(); //向下 nowFloor=3; if(third_Floor) //運(yùn)動過程中遇到呼叫 { Arrival(); //到達(dá) third_Floor=0; } if(second_Floor)//運(yùn)動過程中遇到呼叫 { Downward(); //向下 nowFloor=2; Arrival(); //到達(dá) second_Floor=0; } if(first_Floor) //運(yùn)動過程中遇到呼叫 { if(nowFloor==3) { Downward(); //向下 nowFloor=2; } Downward(); //向下走 nowFloor=1; Arrival(); //到達(dá) first_Floor=0; } } else if(nowFloor<3) { if(nowFloor==1) //電梯所在層 { Upward(); nowFloor=2; if(second_Floor)//運(yùn)動過程中遇到呼叫 { Arrival(); //到達(dá) second_Floor=0; } } if(nowFloor==2) //電梯所在層 { Upward(); //向上 nowFloor=3; if(third_Floor) //運(yùn)動過程中遇到呼叫 { Arrival(); //到達(dá) third_Floor=0; } } } else //電梯就在三樓 { Arrival(); //到達(dá) } third_Floor=0; } if(fourth_Floor) //第4層呼叫 { if(nowFloor<4) { if(nowFloor==1) //電梯所在層 { Upward(); nowFloor=2; if(second_Floor)//運(yùn)動過程中遇到呼叫 { Arrival(); //到達(dá) second_Floor=0; } } if(nowFloor==2) //電梯所在層 { Upward(); nowFloor=3; if(third_Floor) //運(yùn)動過程中遇到呼叫 { Arrival(); //到達(dá) third_Floor=0; } } if(nowFloor==3) //電梯所在層 { Upward(); nowFloor=4; if(fourth_Floor)//運(yùn)動過程中遇到呼叫 { Arrival(); //到達(dá) fourth_Floor=0; } } fourth_Floor=0; } else //電梯就在四樓 { Arrival(); //到達(dá) } } Delay(10); time++; if(time>=50)//手動開門后延時后自動關(guān)閉 { time=0; closeDoor=1; openDoor=0; } }}附錄2電路板圖及焊接圖附錄3材料附錄4實(shí)物圖基于C8051F單片機(jī)直流電動機(jī)反饋控制系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實(shí)現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實(shí)現(xiàn)基于單片機(jī)的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動控制系統(tǒng)研究與開發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測試儀的研制基于單片機(jī)的自動找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開發(fā)基于單片機(jī)的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實(shí)現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗(yàn)臺控制器的研制基于單片機(jī)的軟起動器的研究和設(shè)計(jì)基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實(shí)時內(nèi)核設(shè)計(jì)及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機(jī)的液體點(diǎn)滴速度自動檢測儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機(jī)的電能采集終端的設(shè)計(jì)和應(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

提交評論