單片機(jī)課程設(shè)計(jì)之電梯控制系統(tǒng)_第1頁
單片機(jī)課程設(shè)計(jì)之電梯控制系統(tǒng)_第2頁
單片機(jī)課程設(shè)計(jì)之電梯控制系統(tǒng)_第3頁
單片機(jī)課程設(shè)計(jì)之電梯控制系統(tǒng)_第4頁
單片機(jī)課程設(shè)計(jì)之電梯控制系統(tǒng)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、微控綜合系統(tǒng)課程設(shè)計(jì)報(bào)告微控綜合系統(tǒng)課程設(shè)計(jì)報(bào)告評語:考勤(10)守紀(jì)(10)過程(40)設(shè)計(jì)報(bào)告(30)答辯(10)總成績(100) 專 業(yè): 電氣工程及其自動化 班 級: 姓 名: 學(xué) 號: 指導(dǎo)教師: 自動化與電氣工程學(xué)院2016 年 12 月 23 日摘要本文介紹了一種采用STC15F2K60S2芯片進(jìn)行電梯控制系統(tǒng)的設(shè)計(jì)方法,主要闡述如何使用單片機(jī)進(jìn)行編程來實(shí)現(xiàn)電子設(shè)計(jì)的方法,利用單片機(jī)編程實(shí)現(xiàn)功能,簡潔而又多變的設(shè)計(jì)方法,縮短了研發(fā)周期,同時(shí)使電梯控制系統(tǒng)體積更小功能更強(qiáng)大。硬件部分主要由單片機(jī)的最小模塊、電梯內(nèi)外按鈕控制模塊、數(shù)碼管顯示樓層模塊、發(fā)光二極管顯示目的樓層模塊、報(bào)警顯

2、示模塊組成。軟件部分使用kiel軟件進(jìn)行C語言程序編寫,用proteus軟件進(jìn)行仿真調(diào)試。本設(shè)計(jì)具有電梯控制系統(tǒng)所需的一些基本功能,能通過方向按鍵選擇方向,能通過數(shù)字按鍵選擇樓層,數(shù)碼管顯示實(shí)時(shí)樓層數(shù),電動機(jī)控制部分采用直流電機(jī)及H橋驅(qū)動電路,使電梯箱能上下運(yùn)動。硬件設(shè)計(jì)簡單可靠,結(jié)合軟件,基本實(shí)現(xiàn)了五層電梯運(yùn)行的模擬仿真。關(guān)鍵詞:STC15F2K60S2芯片;電梯控制系統(tǒng); C語言AbstractThis paper describes the use of a STC15F2K60S2 chip for elevator control system design methods, mai

3、nly elaborates how to use microcontroller programming method to realize electronic design, realize the function of the use of single-chip programming, concise and changing the design method shortens the development cycle, at the same time the elevator control system smaller and more powerful. The ha

4、rdware part is composed of the smallest module of the microcontroller, the internal and external button control module, the digital control display module, the light emitting diode display module and the alarm module. The software part uses the Kiel software to carry on the C language programming, u

5、ses the Proteus Software to carry on the simulation debugging. Some of the basic functions of the design of the elevator control system required, canchoose direction key direction through the number keys to select the floor, real-time digital display of the number of floors, the motor control part a

6、dopts DC motor and H bridge driving circuit, the elevator box can move up and down. The hardware design is simple and reliable, combined with the software, the basic realization of the five elevator operation simulation.Key words: STC15F2K60S2 chip; elevator control system; C language.1.引言隨著現(xiàn)代高科技的發(fā)展

7、,住房和辦公用樓都已經(jīng)逐漸向高層發(fā)展。電梯是高層賓館、商店、住宅、多層倉庫等高層建筑不可缺少的垂直方向的交通運(yùn)輸工具。因此電梯在我們的生活中起著舉足輕重的作用。電梯已不僅是一種生產(chǎn)環(huán)節(jié)中的重要設(shè)備,更是一種人們頻繁乘用的交通運(yùn)輸設(shè)備。由于傳統(tǒng)的電梯運(yùn)行邏輯控制系統(tǒng)采用的是繼電器邏輯控制線路。采用這種控制線路,存在易出故障、維護(hù)不便、運(yùn)行壽命較短、占用空間大等缺點(diǎn)。從技術(shù)發(fā)展來看,這種系統(tǒng)將逐漸被淘汰。而單片機(jī)價(jià)格相當(dāng)便宜,由單片機(jī)設(shè)計(jì)的控制系統(tǒng)可以隨著設(shè)備的更新而不斷修改完善,更完美的實(shí)現(xiàn)設(shè)備的升級。1.1課題的提出及研究意義電梯是集機(jī)械原理應(yīng)用、電氣控制技術(shù)、微處理技術(shù)、系統(tǒng)工程學(xué)等多科學(xué)和

8、技術(shù)分支于一體的機(jī)電設(shè)備,它是建筑中永久垂直交通工具。電梯作為生產(chǎn)生活的典型運(yùn)載工具使用已十分普及,其控制信號類型多,關(guān)系復(fù)雜,要求的控制性能特別高。隨著經(jīng)濟(jì)的發(fā)展高層建筑越來越多對電梯的運(yùn)行速度和控制性能也提出了更高的要求。而在我國于八十年代初至九十年代初投入使用的電梯,其中絕大部分采用繼電器繼電器陣列結(jié)構(gòu)該結(jié)構(gòu)體積大、接線復(fù)雜、噪音大、觸點(diǎn)易磨損、故障率高、維護(hù)工作量大,已無法滿足現(xiàn)代社會的需要。自上世紀(jì)80年代以來,微機(jī)控制系統(tǒng)得到了極大的發(fā)展,現(xiàn)已深人到我國工農(nóng)業(yè)生產(chǎn)的各個方方面面,隨著電力電子技術(shù)和微電子技術(shù)的發(fā)展,使得以微機(jī)為核心的控制系統(tǒng)得到廣泛應(yīng)用。尤其是單片機(jī)的開發(fā)與應(yīng)用,其

9、深度和廣度越來越大。微機(jī)應(yīng)用于電梯控制系統(tǒng),與傳統(tǒng)的采用繼電接觸邏輯控制系統(tǒng)相比,具有很大優(yōu)越性,一方面,它使整個系統(tǒng)的體積減小,可靠性提高,使用壽命延長;另一方面,它還簡化了安裝調(diào)試和維護(hù)維修的工作量,使整個電梯的運(yùn)行成本降低。更突出的優(yōu)點(diǎn)是微機(jī)具有靈活的算術(shù)和邏輯運(yùn)算功能,具有很強(qiáng)的通信和可擴(kuò)展功能,實(shí)現(xiàn)更完善的自動控制。常用的微機(jī)控制主要的有兩種技術(shù):基于PLC控制和基于單片機(jī)控制兩大技術(shù)??删幊炭刂破?,是微機(jī)技術(shù)與繼電器常規(guī)控制技術(shù)相結(jié)合的產(chǎn)物,是在順序控制器和微機(jī)控制器的基礎(chǔ)上發(fā)展起來的新型控制器,是一種以微處理器為核心用作數(shù)字控制的專用計(jì)算機(jī),它有良好的抗干擾性能,適應(yīng)很多工業(yè)控制

10、現(xiàn)場的惡劣環(huán)境,所以現(xiàn)在的電梯控制系統(tǒng)主要還是由可編程控制器控制。但是由于PLC的針對性較強(qiáng),每一臺PLC都是根據(jù)一個設(shè)備而設(shè)計(jì)的,所以價(jià)格較昂貴。而單片機(jī)價(jià)格相當(dāng)便宜,也不像PLC那么有針對性,可以隨著設(shè)備的更新而不斷修改完善,更完美的實(shí)現(xiàn)設(shè)備的升級?;趩纹瑱C(jī)控制的電梯可以大大的降低成本而且運(yùn)行也較可靠,采用單片機(jī)來實(shí)現(xiàn)老式電梯控制系統(tǒng)的改造無疑是最佳方案。由于單片機(jī)具有體積小、線路簡單、無噪音、可靠性高、維護(hù)方便,是一種少投入、高回報(bào)的方案。同時(shí)能方便實(shí)現(xiàn)多臺電梯的群控,并通過通訊接口與樓宇自動化系統(tǒng)聯(lián)接,實(shí)施對電梯的監(jiān)控。1.2課題研究的內(nèi)容隨著科技的發(fā)展,微型計(jì)算機(jī)領(lǐng)域的不斷進(jìn)步,將

11、使得將來電梯的體積大大減小,功能不斷完善,過程的控制更平穩(wěn)、可靠、抗干擾性能增強(qiáng)、機(jī)械與電氣部件被機(jī)結(jié)合在一個設(shè)備內(nèi),把儀表、電子和計(jì)算機(jī)的功能綜合在一起。因此微型計(jì)算機(jī)控制技術(shù)將會成為電梯運(yùn)行中的關(guān)鍵技術(shù)。本次設(shè)計(jì)的主要內(nèi)容是以單片機(jī)為主控制器的電梯控制系統(tǒng)。本來電梯系統(tǒng)是一個相對復(fù)雜的系統(tǒng),由于能力和經(jīng)驗(yàn)有限,所以只能實(shí)現(xiàn)基本的功能如:層站呼叫、自動停層、轎廂命令響應(yīng)等。通過單片機(jī)輸出電壓通過驅(qū)動電路然后控制電梯拖動。在此,本文以五層電梯為研究對象,選用STC15F2K60S2單片機(jī)作為其控制器,研究微機(jī)控制梯系統(tǒng)的設(shè)計(jì)方法。根據(jù)問題的提出、意義和文獻(xiàn)綜述,本課題研究的具體內(nèi)容包括以下四個

12、方面:(1)對電梯系統(tǒng)常用的控制方法的研究(2)電梯控制系統(tǒng)硬件組成及其原理(3)電梯的單片機(jī)系統(tǒng)軟件設(shè)計(jì)(4)電梯在信號傳輸中遇到的問題2 總體設(shè)計(jì)方案2.1設(shè)計(jì)思路本次設(shè)計(jì)的基本思想是采用STC15F2K60S2單片機(jī)作為核心,利用其豐富的I/O接口與外圍電路配合進(jìn)行控制。采用延時(shí)函數(shù)來控制電梯的位置校驗(yàn),采用數(shù)碼管靜態(tài)顯示來實(shí)時(shí)顯示電梯所在樓層。采用行列式矩陣鍵盤矩陣作為外呼內(nèi)選電路,由于是5層樓,故選用44矩陣鍵盤。當(dāng)電梯到達(dá)目的樓層時(shí)電機(jī)停止,此時(shí)即可進(jìn)、出乘客,乘客進(jìn)入電梯之后可選擇去哪一層,然后電梯根據(jù)乘客的選擇判斷去哪一層,繼續(xù)運(yùn)行。通過單片機(jī)控制電梯在上升過程中只響應(yīng)上升呼叫

13、,下降過程中只響應(yīng)下降呼叫。電梯的正常運(yùn)行通過單片機(jī)的控制來實(shí)現(xiàn)。2.1.1方案確立(1)樓層顯示模塊方案一:采用點(diǎn)陣式液晶顯示器(LCD)顯示各種相關(guān)數(shù)據(jù)以及信息。點(diǎn)陣式液晶顯示器屬于低功耗器件,但其價(jià)格較貴。方案二:采用傳統(tǒng)的8段數(shù)碼管(LED)顯示電梯實(shí)時(shí)所到的樓層。雖功耗大,但其軟件驅(qū)動簡單,硬件電路調(diào)試方便,價(jià)格便宜,亮度大,能滿足本設(shè)計(jì)的要求。以上兩種方案中,選擇方案二。(2)聲音提示模塊方案一:采用美國ISD公司的2590語音芯片,該語音芯片錄放時(shí)間為90 秒。ISD2500 系列具有抗斷電、音質(zhì)好,使用方便等優(yōu)點(diǎn)。它的最大特點(diǎn)在于片內(nèi)E2PROM容量為480K,所以錄放時(shí)間長;

14、有10個地址輸入端,尋址能力可達(dá)1024 位;最多能分600 段;設(shè)有OVF(溢出)端,便于多個器件級聯(lián)。方案二:采用蜂鳴提示音提示當(dāng)轎箱到達(dá)所需的樓層時(shí),蜂鳴器響,提示乘客到達(dá)了所需的樓層,另外可以作為緊急停止時(shí)的報(bào)警提示信號,其軟件驅(qū)動、硬件電路調(diào)試非常簡潔方便,而且價(jià)格便宜,能滿足本設(shè)計(jì)的要求。以上兩種方案中,選擇方案二。(3)電動機(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ī)可以同

15、時(shí)完成兩個工作,其一是傳遞轉(zhuǎn)矩,其二是傳遞信息,升降精度很高。方案二:采用直流電機(jī)作為本設(shè)計(jì)的執(zhí)行元件,直流電機(jī)工作是讓線圈始終交替地處于穩(wěn)定狀態(tài)和非穩(wěn)定平衡狀態(tài),通過控制電流的方向可以實(shí)現(xiàn)電機(jī)的正反轉(zhuǎn)。直流電機(jī)在高起動轉(zhuǎn)矩、大轉(zhuǎn)矩、低慣量的系統(tǒng)中經(jīng)常使用到。此題目中電機(jī)要帶動的負(fù)載較大,對升降精度要求不是很,所以采用方案二。 2.1.2實(shí)現(xiàn)單片機(jī)控制電梯的主要方法首先,對實(shí)際的電梯系統(tǒng)進(jìn)行模擬,一般情況下,一個電梯應(yīng)該具備相關(guān)按鍵、顯示二極管、數(shù)碼管等,由于這是一個調(diào)度模塊,故沒有設(shè)計(jì)具體的轎廂等機(jī)械部分。然后,結(jié)合這些實(shí)物,選擇恰當(dāng)?shù)男酒?,并分成若干模塊,安排好各自之間的關(guān)系。同時(shí)要有專門

16、的按鍵控制芯片,從而便于按鍵管理。接著,要完成電路圖的設(shè)計(jì),焊接相關(guān)器件后進(jìn)行硬件調(diào)試,看是否好用并加以適當(dāng)?shù)母?,最終使硬件電路簡單又實(shí)用。同時(shí),如果每個選層按鈕都采用獨(dú)立的按鍵設(shè)置,可以很大程度上簡化掃描按鍵程序,采集信號也容易得多,但是由于單片機(jī)接口有限,模擬電梯自動控制系統(tǒng)所需按鍵較多,如此會有接口不足的問題,所以本設(shè)計(jì)采用44按鍵矩陣開關(guān)電路作為外呼內(nèi)選呼叫控制。出于同樣問題,顯示樓層電路采用數(shù)碼管從串口輸出。為了更接近實(shí)際的電梯控制系統(tǒng),設(shè)計(jì)中還應(yīng)該添加電梯外上下行請求顯示,可用五個發(fā)光二極管表示目的請求按鍵是否按下,有則亮,無則暗。軟件方面至于采用中斷方式還是采用查詢的方式來檢測

17、用戶的請求信息,可根據(jù)具體的設(shè)計(jì)方案來確定,同時(shí)要想準(zhǔn)確地采集按鍵請求狀態(tài),就必須時(shí)時(shí)刻刻調(diào)用鍵盤矩陣掃描程序,也就增加了軟件編程的難度。采用單片機(jī)作為核心,配以適當(dāng)接口作為輸入輸出通道。實(shí)際電梯控制系統(tǒng)每層裝有一個傳感器,從而判斷車廂所在位置,本模型使用延時(shí)函數(shù)對電梯運(yùn)行樓層數(shù)進(jìn)行控制。當(dāng)電梯到達(dá)所選層,電梯開門延時(shí)等待進(jìn)人并選層,然后延時(shí)關(guān)門執(zhí)行請求,若無請求則停在本層等待請求。軟件部分使用kiel作為開發(fā)環(huán)境,用C語言進(jìn)行編程,采用查詢方式來檢測用戶請求的按鍵信息并相應(yīng)相應(yīng)的函數(shù)。 隨著人類社會的不斷發(fā)展,電梯在人們生活中越來越占著重要位置,如何使電梯發(fā)揮更大的作用關(guān)鍵在于電梯的控制方法

18、的改進(jìn)以及控制費(fèi)用的降低。單片機(jī)之所以如此受歡迎在于其廉價(jià)的成本和可靠地運(yùn)行性能。故應(yīng)用單片機(jī)進(jìn)行電梯的控制勢必成為電梯今后發(fā)展的重要方向,最優(yōu)化的程序設(shè)計(jì)以及更廉價(jià)的費(fèi)用對促進(jìn)電梯行業(yè)的發(fā)展用著重要的作用,通過對具體問題的分析和探討,具體程序的優(yōu)化與改良,本設(shè)計(jì)也致力于解決這一問題。2.2功能框架圖本電路主要由6大部分電路組成:鍵盤電路、單片機(jī)、樓層顯示電路、電機(jī)驅(qū)動顯示電路、目的樓層顯示電路、警報(bào)電路。電路復(fù)位后樓層顯示數(shù)字1 表示電梯此時(shí)在一樓,顯示電路數(shù)碼管顯示,電梯樓層位置是由延時(shí)電路控制的,延時(shí)電路包括3秒延時(shí)和5秒延時(shí),每層之間通過5秒延時(shí)控制即每延時(shí)5秒表示電梯走了一層,3秒延

19、時(shí)是控制電梯的開門時(shí)間,3秒延時(shí)后電梯關(guān)門繼續(xù)運(yùn)行。鍵盤電路采用44鍵盤矩陣共16個按鍵,其中8個按鍵是各層樓外呼按鍵,5個按鍵是電梯內(nèi)部的選擇鍵。電梯的正常工作是通過對單片機(jī)寫入程序控制的??傮w方框圖如圖1所示:圖1 功能框架3 設(shè)計(jì)原理分析3.1硬件設(shè)計(jì)3.1.1鍵盤矩陣電路的設(shè)計(jì)由于本電路所需按鍵較多,為了節(jié)省單片機(jī)的I/O口,故選用行列式鍵盤矩陣(但是使用了矩陣鍵盤就與真實(shí)電梯有明顯的區(qū)別了)。本電路采用的是44鍵盤矩陣,分為外部按鈕跟內(nèi)部按鈕兩部分。電路如圖2 所示,16個按鍵接單片機(jī)的P1端口,單片機(jī)采用行和列掃描法來判別這16個按鍵中哪個鍵按下,并將其信號進(jìn)行儲存,然后可根據(jù)每個

20、按鍵的功能來通過單片機(jī)控制電梯的運(yùn)行。下面將每個按鍵的功能說明一下:1L上: 一樓向上呼叫按鍵,此鍵按下表示一樓有人要乘坐電梯上樓,并且單片機(jī)將此信號存入固定單元,等到電梯運(yùn)行到此樓層時(shí)判斷是否該響應(yīng)此呼叫;2L上: 二樓向上呼叫按鍵,此鍵按下表示二樓有人要乘坐電梯上樓,并且單片機(jī)將此信號存入固定單元,等到電梯運(yùn)行到此樓層時(shí)判斷是否該響應(yīng)此呼叫;3L上: 三樓向上呼叫按鍵,此鍵按下表示三樓有人要乘坐電梯上樓,并且單片機(jī)將此信號存入固定單元,等到電梯運(yùn)行到此樓層時(shí)判斷是否該響應(yīng)此呼叫;4L上: 四樓向上呼叫按鍵,此按鍵按下表示四樓有人要乘坐電梯上樓,并且單片機(jī)將此信號存入固定單元,等到電梯運(yùn)行到

21、此樓層時(shí)判斷是否該響應(yīng)此呼叫;2L下:二樓向下呼叫按鍵,此鍵按下表示二樓有人要乘坐電梯下樓,并且單片機(jī)將此信號存入固定單元,等到電梯運(yùn)行到此樓層時(shí)判斷是否該響應(yīng)此呼叫;3L下:三樓向下呼叫按鍵,此鍵按下表示三樓有人要乘坐電梯下樓,并且單片機(jī)將此信號存入固定單元,等到電梯運(yùn)行到此樓層時(shí)判斷是否該響應(yīng)此呼叫;4L下:四樓向下呼叫按鍵,此按鍵按下表示四樓有人要乘坐電梯下樓,并且單片機(jī)將此信號存入固定單元,等到電梯運(yùn)行到此樓層時(shí)判斷是否該響應(yīng)此呼叫;5L下:五樓向下呼叫按鍵,此按鍵按下表示五樓有人要乘坐電梯下樓,并且單片機(jī)將此信號存入固定單元,等到電梯運(yùn)行到此樓層時(shí)判斷是否該響應(yīng)此呼叫;1L:電梯內(nèi)部

22、選擇去一樓按鍵,此按鍵按下表示電梯里的乘客要去一樓,單片機(jī)根據(jù)此信號控制電梯的運(yùn)行;2L:電梯內(nèi)部選擇去二樓按鍵,此按鍵按下表示電梯里的乘客要去二樓,單片機(jī)根據(jù)此信號控制電梯運(yùn)行;3L:電梯內(nèi)部選擇去三樓按鍵,此按鍵按下表示電梯里的乘客要去三樓,單片機(jī)根據(jù)此信號控制電梯運(yùn)行;4L:電梯內(nèi)部選擇去四樓按鍵,此按鍵按下表示電梯里的乘客要去四樓,單片機(jī)根據(jù)此信號控制電梯運(yùn)行;5L:電梯內(nèi)部選擇去五樓按鍵,此按鍵按下表示電梯里的乘客要去五樓,單片機(jī)根據(jù)此信號控制電梯運(yùn)行;ALARM:警報(bào)按鈕,此按鈕按下表示電梯有突發(fā)情況,單片機(jī)根據(jù)此信號會將電梯停止運(yùn)行,點(diǎn)亮警報(bào)指示燈并發(fā)出警報(bào);鍵盤電路如圖2所示:

23、圖2 鍵盤矩陣電路3.1.2 顯示電路設(shè)計(jì)本電路采用數(shù)碼管顯示電梯所到達(dá)的樓層數(shù),數(shù)碼管采用共陰極由單片機(jī)的P0口控制,當(dāng)電梯運(yùn)行到兩樓層之間時(shí),數(shù)碼管顯示為前一樓樓層。電路如圖3所示:圖3 樓層顯示電路3.1.3電機(jī)正反轉(zhuǎn)控制 由于單片機(jī)的IO口電壓過低,不能驅(qū)動電機(jī),故電機(jī)驅(qū)動部分采用常用的H橋電路,如圖4所示:圖4 直流電機(jī)H橋驅(qū)動電路3.1.4目的樓層顯示電路本電路中用五個發(fā)光二極管顯示電梯的目的樓層,置于電梯內(nèi)部,分別由單片機(jī)的P3.3到P3.7控制,當(dāng)對應(yīng)的目標(biāo)按鍵被按下時(shí),向相應(yīng)的控制口輸入低電平,點(diǎn)亮二極管,其中亮的表示有人想前往該層樓,當(dāng)電梯到達(dá)該樓層時(shí),對應(yīng)的二極管熄滅。每

24、個二極管均用1K的電阻進(jìn)行限流。目的樓層顯示電路如圖5所示:圖5 目的樓層顯示電路3.1.5警報(bào)電路本電路由蜂鳴器和發(fā)光二極管兩部分組成,其中蜂鳴器由單片機(jī)的P1.0口進(jìn)行控制,二極管由單片機(jī)的P2.0口進(jìn)行控制。當(dāng)有突發(fā)情況發(fā)生時(shí),按下ALARM按鈕,蜂鳴器會發(fā)出警報(bào),二極管將點(diǎn)亮。警報(bào)電路如圖6所示: 圖6 警報(bào)電路3.2軟件設(shè)計(jì)3.2.1軟件運(yùn)行整體設(shè)計(jì)軟件設(shè)計(jì)是智能化系統(tǒng)進(jìn)行數(shù)據(jù)采集、處理、控制等工作的基礎(chǔ)。系統(tǒng)的軟件設(shè)計(jì)直接影響整個系統(tǒng)的運(yùn)轉(zhuǎn)和硬件作用的發(fā)揮。本設(shè)計(jì)由于采用鍵盤矩陣來代替外呼內(nèi)選按鈕,而電梯的運(yùn)行方向是根據(jù)這些呼叫按鍵和選擇按鍵來決定的,所以單片機(jī)要不斷的掃描鍵盤來獲

25、取各層呼叫狀態(tài)。從而來控制電梯的運(yùn)行。故鍵盤矩陣掃描是本系統(tǒng)軟件設(shè)計(jì)的重要一部分,另外要把鍵盤掃描到的各層的按鍵信息存儲起來,然后和電梯的運(yùn)行狀態(tài)比較,判斷是否響應(yīng)各層呼叫(電梯只響應(yīng)同方向呼叫),最后就是樓層顯示部分和警報(bào)部分了。整個軟件設(shè)計(jì)包括一下幾部分: 初始化程序使數(shù)碼管顯示“1”表示電梯處在一樓。 主程序主要包括: 判斷乘客進(jìn)入電梯后選擇去哪一層,根據(jù)判斷情況來控制電梯運(yùn)行; 電梯在運(yùn)行過程中要不斷的掃描鍵盤,從而來判斷各樓層有無呼叫請求,; 電梯在運(yùn)行過程中只響應(yīng)同方向的呼叫請求; 實(shí)時(shí)顯示電梯所在位置及運(yùn)行狀態(tài)(上行/下行); 開關(guān)門有一定的延時(shí)來保證乘客走出/進(jìn)入電梯; 軟件流

26、程圖如圖7所示:圖7 軟件流程圖3.2.2 分析鍵值設(shè)計(jì)單片機(jī)在讀取到鍵值后,自然會分析該鍵值來自于哪一層樓的哪個按鍵。然后才可以把該按鍵對應(yīng)的儲存單位置1,點(diǎn)亮相應(yīng)的二極管(實(shí)際中的電梯也是如此)。在本設(shè)計(jì)中,按鍵是按照行與列均勻分布的,特定的行與特定的列處的每個按鍵,均對應(yīng)有特定的鍵值。首先可以人為地規(guī)定每個按鍵在電梯中所處的位置。例如規(guī)定位第一行按鍵為上行呼叫的按鍵等等(具體可參照電路圖)。它有自己固定的鍵值。那么在返回鍵值后,只需用一個switch-case語句對相應(yīng)存儲數(shù)據(jù)進(jìn)行置1即可。在程序中,我們定義了shang、xia、nei三個數(shù)組對相應(yīng)的按鍵狀況進(jìn)行存儲,這一步是整個程序得

27、以正常運(yùn)行的前提與基礎(chǔ)。在程序開始之前,我們設(shè)置了這樣一些狀態(tài)變量,它們分別對應(yīng)于各個按鍵,當(dāng)某個按鍵按下時(shí),其對應(yīng)的狀態(tài)變量就會被置位。這樣做的好處是使電梯在執(zhí)行判決操作時(shí),有據(jù)可循。因?yàn)榕袥Q函數(shù)就是依靠當(dāng)前都有哪些鍵按下以及電梯此刻所處的上下行狀態(tài)來判斷下一個需要停留的目標(biāo)樓層的。分析完鍵值的來源后,就要點(diǎn)亮相應(yīng)的二極管。由于二極管是由單片機(jī)控制且是低電平使發(fā)光二極管點(diǎn)亮,故一般來說,要點(diǎn)亮哪個二極管,只需在單片機(jī)向相應(yīng)端口輸入0即可。當(dāng)電梯到達(dá)該層后,我們再向該層對應(yīng)的端口輸入1即可熄滅該二極管。3.2.3電梯運(yùn)行方向的判決方法這是整個程序成功運(yùn)行的核心保證。在電梯經(jīng)過一個樓層時(shí),就會自

28、動調(diào)用該函數(shù),它的作用是基于短時(shí)間、高效率、人性化的基礎(chǔ)上,合理智能的對電梯的運(yùn)行進(jìn)行調(diào)度,結(jié)合實(shí)際情況,最終得出電梯下一個目標(biāo)停留樓層。程序中將實(shí)際情況分為四種情況來判斷:電梯上行且是去送人(即電梯此時(shí)位于底層,而高層有人呼叫要上樓)、電梯上行且是去接人(即電梯此時(shí)位于底層,而高層有人呼叫要下樓)、電梯下行且是去送人(即電梯此時(shí)位于高層,而低層有人呼叫要下樓)、電梯下行且是去接人(即電梯此時(shí)位于高層,而低層有人呼叫要上樓)。在實(shí)際應(yīng)用中,最簡單的情況莫過于電梯當(dāng)前為閑置狀態(tài),然后有一人按下按鍵呼叫,然后電梯便響應(yīng)呼叫。但是,實(shí)際情況往往比這復(fù)雜的多,在第一個人按下按鍵電梯運(yùn)行的過程中,還很有

29、可能會有其他不同樓層的人按下不同的按鍵(上行或者下行)的情況發(fā)生。那么就必須得為電梯規(guī)定好一個特定的優(yōu)先級規(guī)則,讓其依據(jù)這個規(guī)則來運(yùn)行,以免亂作一團(tuán)。那么這個規(guī)則就必須要高效且人性化,在此,我們規(guī)定,當(dāng)電梯上行時(shí),均不理會那些按下行按鍵的顧客。并且,若在上行過程中,也有人在某層按的是上行按鍵,但是電梯此時(shí)已經(jīng)走過了該層,那么電梯也絕對不會再選擇先下行接他。當(dāng)然,當(dāng)將高層上行的顧客送完后(此時(shí)一般來說電梯已經(jīng)處于高層了),電梯便會檢測下行按鍵,若更高層有人呼叫下行,則電梯會選擇先去響應(yīng)他們,然后再下行的過程中依次響應(yīng)按了下行處于等待中的顧客,最后這些顧客都送完后,再去相應(yīng)那些電梯上行過程中,處于

30、比電梯低的樓層卻按了上行鍵的顧客。簡單地說,若電梯處于上行狀態(tài),則在該過程中響應(yīng)不同顧客的優(yōu)先級(或者電梯響應(yīng)的先后順序)為:高層呼叫上行顧客高層呼叫下行顧客底層呼叫下行顧客底層呼叫上行顧客。那么,當(dāng)電梯通過程序運(yùn)行得知到相應(yīng)狀態(tài)后,又是如何具體的判斷當(dāng)天所鎖定的目標(biāo)樓層是否要變更呢?現(xiàn)以上行為例,加以詳細(xì)說明:若上行,且是送人,比如電梯當(dāng)前在一層,四樓有人呼叫上樓,那么它就要響應(yīng)這一呼叫,從而把自己的目標(biāo)樓層鎖定為四樓并向上運(yùn)行,而在四樓呼叫后不久,三樓也有人呼叫上樓(且電梯此刻還未運(yùn)行到三樓),那么在電梯運(yùn)行中,沒經(jīng)過一個樓層,會做一次判決,因?yàn)槿龢且灿腥撕艚?,所以正常情況下,它應(yīng)該在判決

31、后將目標(biāo)樓層定位三樓。而若三樓的顧客按下的是下行鍵,或者二樓的人按下呼叫鍵,電梯此時(shí)都會暫時(shí)不予理會。部分程序代碼見附錄。由程序可以看出,當(dāng)四樓有上行鍵呼叫時(shí),狀態(tài)變量shang4便會被置位,但電梯依然在判斷按鍵狀況,此時(shí)程序的檢測依據(jù)兩個標(biāo)準(zhǔn):第一,由低層向高層開始檢查;第二,對于電梯已經(jīng)過的樓層和按下下行鍵所發(fā)出的請求,電梯暫時(shí)是不予理會的。這也是很明顯的,因?yàn)樯闲兴腿藸顟B(tài)中,低層的優(yōu)先權(quán)大于高層的。程序就是靠著上面這些if語句的嵌套,來完成這種優(yōu)先級設(shè)置的。至于上行接人狀態(tài)時(shí),所堅(jiān)持的標(biāo)準(zhǔn)是由高層到底層的順序進(jìn)行排查,而對于上行鍵的呼叫暫時(shí)不予理會。下行的狀態(tài),恰好與上行相反,在此不再贅

32、述。同時(shí),我們設(shè)計(jì)了flag標(biāo)志位,當(dāng)flag=0表示電梯停止運(yùn)行,當(dāng)flag=1表示電梯向上運(yùn)行,當(dāng)flag=2表示電梯向下運(yùn)行。4.結(jié)束語本次課程設(shè)計(jì)是對傳統(tǒng)設(shè)計(jì)電梯的部分改進(jìn),可以降低電梯的設(shè)計(jì)成本,實(shí)現(xiàn)樓層快速通行的模擬控制。另外由于此次設(shè)計(jì)實(shí)現(xiàn)的功能簡單,簡化處理了一些實(shí)際情況,沒有去考慮這種電梯在實(shí)際應(yīng)用中的故障問題,及一些更智能的硬件與軟件的安裝與調(diào)試,并且使用矩陣按鍵代替獨(dú)立按鍵,與真實(shí)的電梯按鍵不符合。由于時(shí)間緊迫,本人能力有限,還有許多功能可以在此基礎(chǔ)上進(jìn)行拓展,例如可以擴(kuò)展單片機(jī)增加智能識別系統(tǒng),增加電梯內(nèi)部的溫度控制、等一些智能控制系統(tǒng)。隨著科技與經(jīng)濟(jì)的深入發(fā)展,單片機(jī)

33、技術(shù)的不斷進(jìn)步,以后的電梯控制系統(tǒng)將會越來越智能化,這對提升人們的生活質(zhì)量、生活的幸福指數(shù)有著深遠(yuǎn)的意義。此次設(shè)計(jì)不僅僅是一個硬件電路設(shè)計(jì)和程序編寫的過程,更重要的是實(shí)際問題的分析和設(shè)計(jì)階段的努力。我們將充分利用單片機(jī)開發(fā)上的靈活、快速的特點(diǎn),來實(shí)現(xiàn)我們自己智能控制的設(shè)計(jì)。參考文獻(xiàn)1王思明單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì)-科學(xué)出版社,20112李繼凱.楊艷數(shù)字電子技術(shù)及應(yīng)用-科學(xué)出版社,20123 華成英模擬電子技術(shù)基本教程-清華大學(xué)出版社,20064彭介華電子技術(shù)課程設(shè)計(jì)指導(dǎo)-高等教育出版社,1997版.2010重印附錄一整體電路圖 如圖8所示。圖8 實(shí)物圖正面二.實(shí)物圖正反面 實(shí)物正面如圖9所示。

34、 圖9 實(shí)物正面圖 實(shí)物反面如圖10所示。圖10 實(shí)物圖反面三程序#include #define uchar unsigned char#define uint unsigned int sbit alarm1=P30; sbit alarm2=P20; sbit fz=P31;sbit zz=P32;sbit L1=P33; sbit L2=P34; sbit L3=P35; sbit L4=P36; sbit L5=P37; uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x00;uint shang6=0,0,0,0,0,0;uint x

35、ia6=0,0,0,0,0,0;uint nei6=0,0,0,0,0,0; uint num,temp,flag=0,lc=1,i,n; /函數(shù)聲明語句void delay(uint z); void delay1(uint t);void keyscan(); void display(uint aa);void init(); void zhishideng(); /主函數(shù) void main() init();/端口初始化 while(1) keyscan(); /鍵盤掃描 zhishideng(); /有請求樓層亮對應(yīng)的指示燈 if(flag=0) zz=fz=0;/電梯停止運(yùn)行 s

36、hanglc=0;/置位 xialc=0; neilc=0; n=lc; for(i=n+1;i=1;i-)/檢測低樓層有無請求 keyscan(); zhishideng(); if(shangi=1|xiai=1|neii=1) flag=2; break; if(flag=1) keyscan(); zhishideng(); zz=1; fz=0; delay1(5); lc+; display(lc); if(shanglc=1|neilc=1)/是否已到達(dá)指定樓層 shanglc=0; neilc=0; zhishideng(); fz=0; zz=0; delay1(3); fl

37、ag=0; n=lc; for(i=n+1;i=5) n=lc; if(shangn=0&nein=0) fz=0;zz=0;delay(3); xian=0; for(i=n-1;i=1;i-) /檢測低樓層有無請求 keyscan(); zhishideng(); if(shangi=1|xiai=1|neii=1) flag=2; break; if(flag=2) keyscan(); zhishideng(); zz=0; fz=1; delay1(5); lc-; display(lc); if(xialc=1|neilc=1) xialc=0; neilc=0; zhishide

38、ng(); fz=0; zz=0; delay1(3); flag=0; n=lc; for(i=n-1;i=1;i-) keyscan(); zhishideng(); if(shangi=1|xiai=1|neii=1) flag=2; break; if(flag=0|lc=1) n=lc; if(xian=0&nein=0) fz=0; zz=0; delay1(3); shangn=0; for(i=n+1;i0;x-)for(y=124;y0;y-)keyscan(); zhishideng(); /ms級延函數(shù)。 void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-); /鍵盤掃描函數(shù)。 void keyscan() num=0; P1=0xfe;/第一行為低電平 temp=P1;/讀入列按鍵值 temp=temp&0xf0; while(temp!=0xf0) delay(5);/調(diào)用延時(shí)消抖 temp=P1; temp=temp&0xf0; while(temp!=0xf0) temp=P1; switch(temp) case 0xee:num=1; break; case 0xde:num=2; break; case 0xbe:n

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論