基于單片機(jī)的電梯控制系統(tǒng)的論文_第1頁
基于單片機(jī)的電梯控制系統(tǒng)的論文_第2頁
基于單片機(jī)的電梯控制系統(tǒng)的論文_第3頁
基于單片機(jī)的電梯控制系統(tǒng)的論文_第4頁
基于單片機(jī)的電梯控制系統(tǒng)的論文_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、本文由huge13145貢獻(xiàn)doc文檔可能在WAP端瀏覽體驗不佳。建議您優(yōu)先選擇TXT,或下載源文件到本機(jī)查看。周口科技職業(yè)學(xué)院畢業(yè)生論文周口科技職業(yè)學(xué)院 畢業(yè)論文(設(shè)計)題 目:單片機(jī)控制電梯系統(tǒng) 胡京葛 200801010199 電子工程系 電子三班 張奎2011 年 02 月 28 日姓 名 學(xué) 號 系 別 班 級 指導(dǎo)教師1周口科技職業(yè)學(xué)院畢業(yè)生論文目錄 目錄 1 摘 要 3 第一章 緒論 3 1.1 課題的背景簡介 3 1.2 課題的主要研究內(nèi)容及設(shè)計步驟 4 1.3 設(shè)計功能要求 5 第二章 系統(tǒng)的硬件設(shè)計 6 2.1 硬件芯片的選擇 6 2.2 單片機(jī)最小系統(tǒng)模塊 6 2.3 可

2、編程 I/O 擴(kuò)展芯片 82C55 模塊 7 2.4 可編程按鍵控制芯片 82C79 模塊 9 2.5 MAX232 串口下載模塊與附加電源模塊等 12 第三章 芯片基本讀寫的實現(xiàn) 14 3.1 單片機(jī)對芯片 82C55 的基本讀寫 14 3.2 芯片 82C55 的初始化 15 3.3 對芯片 8279 的基本讀寫與初始化 16第四章 系統(tǒng)的高層軟件設(shè)計 24 4.1 引言 24 4.2 單片機(jī)中斷處理函數(shù) 25 4.3 電梯判決函數(shù) 254.4 電梯運行函數(shù) 29 4.5 主函數(shù) 30 總結(jié) 31 致謝 32 參考文獻(xiàn) 33 附 錄 332周口科技職業(yè)學(xué)院畢業(yè)生論文單片機(jī)控制電梯系統(tǒng)畢業(yè)設(shè)

3、計 應(yīng)用電子技術(shù)指導(dǎo)老師 摘 要 胡京葛張奎設(shè)計系統(tǒng)研究了基于 AT89C55 與 8279 單片機(jī)為核心 配以必要的傳 ,感裝置,實現(xiàn)對電梯轎廂的自動控制。在各樓層設(shè)置了位置檢測電路,利用 磁控傳感器對電梯轎廂的位置進(jìn)行準(zhǔn)確定位,實時控制轎廂的運動狀態(tài);通 過對各樓層用戶按鈕信號的檢測和處理,按預(yù)定的運行規(guī)則和程序,發(fā)出控 制信號對繼電器進(jìn)行調(diào)節(jié),運用繼電器來驅(qū)動直流電動機(jī),從而控制電梯的 啟停、升降和運行時間。整個設(shè)計系統(tǒng)實現(xiàn)了電梯控制的基本功能。 關(guān)鍵詞 AT89C55 8279 電梯控制 單片機(jī)第一章 1.1 課題的背景簡介緒論電梯進(jìn)入人們的生活已經(jīng) 150 年了。一個半世紀(jì)的風(fēng)風(fēng)雨雨

4、,翻天覆地 的是歷史的變遷,永恒不變的是電梯提升人類生活質(zhì)量的承諾。 生活在繼續(xù),科技在發(fā)展,電梯也在進(jìn)步。150 年來,電梯的材質(zhì)由黑 白到彩色,樣式由直式到斜式,在操縱控制方面更是步步出新手柄開關(guān) 操縱、按鈕控制、信號控制、集選控制、人機(jī)對話等等,多臺電梯還出現(xiàn)了 并聯(lián)控制,智能群控;雙層轎廂電梯展示出節(jié)省井道空間,提升運輸能力的 優(yōu)勢;變速式自動人行道扶梯的出現(xiàn)大大節(jié)省了行人的時間;不同外形 扇形、三角形、半菱形、半圓形、整圓形的觀光電梯則使身處其中的乘客的 視線不再封閉。如今,以美國奧的斯公司為代表的世界各大著名電梯公司各 展風(fēng)姿,仍在繼續(xù)進(jìn)行電梯新品的研發(fā),并不斷完善維修和保養(yǎng)服務(wù)系

5、統(tǒng)。3周口科技職業(yè)學(xué)院畢業(yè)生論文調(diào)頻門控、智能遠(yuǎn)程監(jiān)控、主機(jī)節(jié)能、控制柜低噪音耐用,一款款集納了人 類在機(jī)械、電子、光學(xué)等領(lǐng)域最新科研成果的新型電梯競相問世,冷冰冰的 建筑因此散射出人性的光輝,人們的生活因此變得更加美好。 中國最早的一部電梯出現(xiàn)在上海,是由美國奧的斯公司于 1901 年安裝 的。1932 年由美國奧的斯公司安裝在天津利順德酒店的電梯至今還在安全運 轉(zhuǎn)著。1951 年,黨中央提出要在天安門安裝一臺由我國自行制造的電梯,天 津從慶生電機(jī)廠榮接此任,四個月后不辱使命,順利地完成了任務(wù)。十一屆 三中全會后,沐浴著改革開放的春風(fēng),我國電梯業(yè)進(jìn)入了高速發(fā)展的時期。 在我國任何一個城市,電

6、梯都在被廣泛應(yīng)用著。電梯給人們的生活帶來了便 利,也為我國現(xiàn)代化建設(shè)的加速發(fā)展提供了強大的保障。電梯是高層建筑中 安全、可靠、垂直上下的運載工具,對改善勞動條件、減輕勞動強度起到很 大的作用。電梯的應(yīng)用范圍很廣,可用于賓館、飯店、辦公大樓、商場、娛 樂場所、倉庫以及居民住宅大樓等。在現(xiàn)代社會中,電梯已成為人類必不可 少的垂直運輸交通工具。 1.2 課題的主要研究內(nèi)容及設(shè)計步驟 本課題的主要任務(wù)是完成一個電梯系統(tǒng)的調(diào)度模塊,即根據(jù)每個樓層不 同顧客的按鍵需求,讓電梯做出合理的判斷,正確高效地知道電梯完成各項 載客任務(wù)。根據(jù)此任務(wù),本課題需要研究的內(nèi)容有: 1、根據(jù)系統(tǒng)的技術(shù)要求,進(jìn)行系統(tǒng)硬件的總

7、體方案設(shè)計; 2、學(xué)習(xí)單片機(jī)的相關(guān)知識,并且加以運用; 3、選擇恰當(dāng)?shù)男酒?,并對其?nèi)部協(xié)議有所掌握,便于應(yīng)用。 4、研究 C 語言編程,并且規(guī)定電梯的工作規(guī)則,用 C 語言加以實現(xiàn); 5、對軟件和硬件進(jìn)行調(diào)試,讓其協(xié)調(diào)工作,完成指定任務(wù)。 結(jié)合以上內(nèi)容,本課題的設(shè)計方案步驟如下: 關(guān)于硬件部分: 首先,對實際的電梯系統(tǒng)進(jìn)行模擬,一般情況下,一個電梯應(yīng)該具備相4周口科技職業(yè)學(xué)院畢業(yè)生論文關(guān)按鍵、顯示二極管、數(shù)碼管等,由于這是一個調(diào)度模塊,故沒有設(shè)計具體 的轎廂等機(jī)械部分。然后,結(jié)合這些實物,選擇恰當(dāng)?shù)男酒?,并分成若干?塊,安排好各自之間的關(guān)系。由于其有諸多按鍵和顯示環(huán)節(jié),而單片機(jī)的 I/O 口

8、管腳資源實在有限,故需要 I/O 口擴(kuò)展,用以管理二極管;同時要有專門 的按鍵控制芯片,從而便于按鍵管理。在此,我分別選擇了 82C55 和 8279 芯片。接著,要完成電路圖的設(shè)計,畫出 PCB 板,焊接相關(guān)器件后進(jìn)行硬件 調(diào)試,看是否好用并加以適當(dāng)?shù)母?關(guān)于軟件部分: 處于最底層的是對兩個芯片的寄存器讀寫工作,完成后方可進(jìn)行更高層 的應(yīng)用程序調(diào)試。 為了使硬件簡單化, 我選擇了模擬時序的方法讀寫寄存器, 這比總線操作的方法節(jié)省了鎖存器。然后是關(guān)于電梯調(diào)度時所遵循的原則作 出規(guī)定,其必須基于高效與人性化兩個原則。最后是使用 C 語言將規(guī)定程序 化,以便電梯真正的運作。 當(dāng)然,二者的關(guān)系并

9、不是分離的,它們是相輔相成,硬件依據(jù)軟件來驗 證,軟件依據(jù)硬件來調(diào)試。經(jīng)過一個個的發(fā)現(xiàn)問題、一個個的解決問題,最 終做出完美的電梯調(diào)度模塊。 1.3 設(shè)計功能要求 本設(shè)計是為一八層電梯設(shè)計一調(diào)度系統(tǒng), 即使電梯能夠合理高效地運行, 完成各樓層顧客的接送任務(wù)。形象地說,就是要應(yīng)對不同樓層顧客的不同需 求,作出合理高效的判斷,使所有顧客在整體運用時間最短的條件下將其運 往各自的目的地。 這個設(shè)計的成品應(yīng)該可以作為真實電梯的控制系統(tǒng)一樣,遵守以下兩個 原則:一是高效性,二是人性化。而實際電梯所面臨的情況無比復(fù)雜,故本 設(shè)計的難點除了硬件上面外,還有對這些復(fù)雜的情況歸類化,分為若干個基 本情況,另外是

10、用恰當(dāng)?shù)?C 語言描述來表達(dá)這些復(fù)雜的邏輯。5周口科技職業(yè)學(xué)院畢業(yè)生論文第二章 2.1 硬件芯片的選擇系統(tǒng)的硬件設(shè)計合理的硬件設(shè)計是一個設(shè)計成功的基石,所以在設(shè)計之初,我便把自己 的主要任務(wù)集中于籌劃硬件的搭建工作, 當(dāng)然其中需要兼顧軟件設(shè)計的需求。 由于本設(shè)計所模擬的樓層共有八層,其中所需要控制的器件較多,如每 層都需有兩個上下的指示燈,電梯轎廂內(nèi)也需有去幾層的指示燈等,而現(xiàn)有 單片機(jī)的管腳資源無法滿足需求,故第一步需要想法擴(kuò)展單片機(jī)的 I/O 口管 腳資源。在此,我選擇了擴(kuò)展 I/O 口最典型的芯片 82C55。其可把一組八位 I/O 管腳擴(kuò)展為 PA、PB、PC 三組管腳,并通過寄存器對

11、各組管腳進(jìn)行配置, 從而滿足了本次設(shè)計的要求。 考慮到電梯會有多個按鍵,而傳統(tǒng)的依據(jù)單片機(jī)自身的 I/O 口布局鍵盤 的方法顯然也是不可行的,故本設(shè)計選擇了典型的管理鍵盤的芯片 82C79, 其重要意義不僅在于減輕了單片機(jī) I/O 口的開支負(fù)擔(dān),而且可以代替單片機(jī) 完成各個按鍵的鍵值編寫工作,單片機(jī)只要從其 FIFO 寄存器中直接讀取鍵 值即可得知哪個按鍵被按下,進(jìn)而進(jìn)行相應(yīng)的操作。 另外,電路板上還有一些擴(kuò)展的子電路模塊,例如 MAX232 串口下載模 塊,U 口供電模塊等等,當(dāng)然這些都是方便程序的下載與調(diào)試的。并考慮到 電路板的面積與價格問題,一些芯片與二極管、電阻等用的是貼片封裝。 2.

12、2 單片機(jī)最小系統(tǒng)模塊 單片機(jī)是指一個集成在一塊芯片上的完整計算機(jī)系統(tǒng)。盡管他的大部分 功能集成在一塊小芯片上, 但是它具有一個完整計算機(jī)所需要的大部分部件: CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會具有外存。同時集成諸 如通訊接口、定時器,實時時鐘等外圍設(shè)備。而現(xiàn)在最強大的單片機(jī)系統(tǒng)甚 至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片上。 單片機(jī)最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片6周口科技職業(yè)學(xué)院畢業(yè)生論文機(jī)可以工作的系統(tǒng)。 在本設(shè)計中,最小系統(tǒng)應(yīng)該包括:單片機(jī)、晶振電路、復(fù)位電路等。如 圖 2.1 所示,晶振電路由 C1 與 C2 和晶振組成,晶振

13、是給單片機(jī)提供工作信 號脈沖的。它的速率就是單片機(jī)的工作速率,簡單地說,沒有晶振,就沒有 時鐘周期,沒有時鐘周期,就無法執(zhí)行程序代碼,單片機(jī)就無法工作。并在 晶振的兩引腳處接入兩個 10pF-50pF 的瓷片電容接地用來削減偕波對電路的 電阻 R11、 穩(wěn)定性的影響。 復(fù)位電路采取的為手動按鍵復(fù)位電路, 由電容 C13, R12 和開關(guān) RESET 組成,當(dāng)單片機(jī)的復(fù)位引腳 RESET 出現(xiàn) 2 個機(jī)器周期以 上的高電平時,單片機(jī)就執(zhí)行復(fù)位操作。如果 RST 持續(xù)為高電平,單片機(jī)就 處于循環(huán)復(fù)位狀態(tài)。 每次復(fù)位后, 單片機(jī)的程序都會從第一條開始從新執(zhí)行。 另外,還額外設(shè)計了濾波防干擾電路,由

14、C13 與 R12 組成,電源先經(jīng)過它們 再接入單片機(jī)的 Vcc,可以有效的減少其中的雜波帶來的干擾。 2.3 可編程 I/O 擴(kuò)展芯片 82C55 模塊8255 是 Intel 公司生產(chǎn)的可編程并行 I/O 接口芯片,有 3 個 8 位并行 I/O 口。具有 3 個通道 3 種工作方式的可編程并行接口芯片(40 引腳。 其各口功 能可由軟件選擇,使用靈活,通用性強。8255 可作為單片機(jī)與多種外設(shè)連接 時的中間接口電路。其芯片引腳圖如圖 2.2 所示。7周口科技職業(yè)學(xué)院畢業(yè)生論文VCC 8051 P10 1 DOWN P11 2 P12 3 P13 4 UP P14 5 P15 6 P16

15、7 P17 8 INT1 13 INT0 12 T1 15 T0 14 VCC 31 C1 20P 19 18 Y RESET 9 11M RD 17 WR 16 P10 P11 P12 P13 P14 P15 P16 P17 INT1 INT0 T1 T0 EA/VP X1 X2 RESET RD WR RXD TXD ALE/P PSEN 10 11 30 29 RXD TXD ALE P00 P01 P02 P03 P04 P05 P06 P07 P20 P21 P22 P23 P24 P25 P26 P27 39 38 37 36 35 34 33 32 21 A0 22 A1 23

16、24 25 26 27 28 P00P01 P02 P03 P04 P05 P06 P07 P3 1 2 3 4 5 6 7 8 9VCC RESET10UFCJ3P20 10K P21 P22 P23 P24 P25 P26 8255cs P27 8279cs+1kR1110kR12C2 GND 20PRESET圖 2. 1單片機(jī)最小系統(tǒng)圖 2.282C55 引腳分布8周口科技職業(yè)學(xué)院畢業(yè)生論文D7D0(data bus:三態(tài)、雙向數(shù)據(jù)線,與CPU數(shù)據(jù)總線連接,用來傳送 數(shù)據(jù)。 (chip select:片選信號線,低電平有效時,芯片被選中。 A1, A0(port address:地址線,

17、用來選擇內(nèi)部端口。 (read:讀出信號線,低電平有效時,允許數(shù)據(jù)讀出。 (write:寫入信號線,低電平有效時,允許數(shù)據(jù)寫入。 RESET(reset:復(fù)位信號線,高電平有效時,將所有內(nèi)部寄存器(包括控 制寄存器清0。 PA7PA0(port A:A口輸入/輸出信號線。 PB7PB0(port B:B口輸入/輸出信號線。 PC7PC0(port C:C口輸入/輸出信號線。 VCC:5V電源。 GND:電源地線。 8255 作為主機(jī)與外設(shè)的連接芯片, 必須提供與主機(jī)相連的 3 個總線接口, 即數(shù)據(jù)線、地址線、控制線接口。同時必須具有與外設(shè)連接的接口 A、B、C 口。由于 8255 可編程,所以

18、必須具有邏輯控制部分,因而 8255 內(nèi)部結(jié)構(gòu)分為 3 個部分:與 CPU 連接部分、與外設(shè)連接部分、控制部分。 2.4 可編程按鍵控制芯片 82C79 模塊 Intel8279 芯片是一種通用的可編程序的鍵盤、顯示接口器件,單個芯片 就能完成鍵盤輸入和 LED 顯示控制兩種功能。 其引腳分布如圖 2.5 所示。 8279 包括鍵盤輸入和顯示輸出兩個部分。 鍵盤部分提供的掃描方式, 可以和 64 個按鍵或傳感器的陣列相連。 能自 動消除開關(guān)抖動以及為 N 個鍵同時按下提供保護(hù)。9周口科技職業(yè)學(xué)院畢業(yè)生論文圖 2.5 主要管腳的定義為: (片選):輸入線,當(dāng) 否則被禁止。8279 引腳分布=0

19、時 8279 被選中,允許 CPU 對其讀、寫,A0(數(shù)據(jù)選擇):輸入線。當(dāng) A0=1 時 CPU 寫入數(shù)據(jù)為命令字,讀出數(shù) 據(jù)為狀態(tài)字;A0=0 時 CPU 讀、寫的字節(jié)均為數(shù)據(jù)。 DB0DB7:與單片機(jī)通信的數(shù)據(jù)引腳,用于傳送數(shù)據(jù)。 Vcc、GND:電源端與地端,用于給芯片提供電源。 、 (讀、寫信號):輸入線。低電平有效,來自 CPU 的控制信號,控制 8279 的讀、寫操作。 IRQ(中斷請求):輸出線。高電平有效。 在鍵盤工作方式中,當(dāng) FIFO/傳感器 RAM 存有數(shù)據(jù)時,IRQ 為高電平。 CPU 每次從 RAM 中讀出數(shù)據(jù)時,IRQ 變?yōu)榈碗娖?。?RAM 中仍有數(shù)據(jù), 則 I

20、RQ 再次恢復(fù)高電平。10周口科技職業(yè)學(xué)院畢業(yè)生論文在傳感器工作方式中,每當(dāng)檢測到傳感器狀態(tài)變化時,IRQ 就出現(xiàn)高電 平。 SL0SL3(掃描線):輸出線。用來掃描鍵盤和顯示器。它們可以編程設(shè) 定為編碼(4 中取 1)或譯碼輸出(16 取 1)。 RL0RL7(回復(fù)線):輸入線。它們是鍵盤矩陣或傳感矩陣的列(或行) 信號輸入線。 SHIFT(移位信號):輸入線、高電平有效。該輸入信號是鍵盤數(shù)據(jù)的 最高位(D7),通常用來擴(kuò)充鍵開關(guān)的功能,作為控制功能鍵用。 在選通輸入方式時, 該信號的上升沿可將來自 RL0RL7 的數(shù)據(jù)存入 FIFO RAM 中。 在傳感器輸入下,該信號無效。 OUTA0O

21、UTA3(A 組顯示信號):輸出線。 OUTB0OUTB3(B 組顯示信號):輸出線。 這兩組引線都是顯示數(shù)據(jù)輸出線,與多位數(shù)字顯示的掃描線 SL0SL3 同 步,兩組可以獨立使用,也可以合并使用。 BD(顯示消隱):輸出線。低電平有效。該信號在數(shù)字切換顯示或使用 消隱命令時,將顯示消隱。 其在本設(shè)計中的工作電路圖模塊如圖 2.6 所示:8279 27 26 25 24 P00 12 P01 13 P02 14 P03 15 P04 16 P05 17 P06 18 P07 19 74LS04 INT0 12 U3F 13 4 8279cs P27 22 RD 10 WR 11 P20A0 2

22、1 ALE3 RESET 9 OUTA0 OUTA1 OUTA2 OUTA3 DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 IRQ CS RD WR A0 CLK RESET OUTB0 OUTB1 OUTB2 OUTB3 BD SL0 SL1 SL2 SL3 RL0 RL1 RL2 RL3 RL4 RL5 RL6 RL7 SHIFT CNTL/S 31 30 29 28 GND 23 32 33 34 35 38 39 1 2 5 6 7 8 36 37 3FUp GND 7FUp 8FDown To-1F To-2F To-7F To-8F1FUp5FUp 6FDown

23、6FUp 7FDownTo-3F To-4F To-5F To-6F2FDown 2FUp 3FDown114FDown 4FUp 5FDown周口科技職業(yè)學(xué)院畢業(yè)生論文圖 2.68279 鍵盤控制模塊由圖可知, 其八位并行數(shù)據(jù)管腳分別與單片機(jī)的 P0 口各管腳相連。 讀寫 信號端也分別與單片機(jī)的對應(yīng)。 而其片選由 P27 控制, 低電平有效。 CLK 其 管腳與 ALE 相連,單片機(jī)正常工作時,ALE 管腳輸出方波,頻率為單片機(jī) 工作頻率的六分之一。而芯片 82C79 的掃描鍵盤的頻率正是由此而產(chǎn)生,當(dāng) 然 i 用這么高的頻率,還需要繼續(xù)對其分頻后方可供 82C79 使用。復(fù)位鍵同 樣與單片

24、機(jī)的復(fù)位鍵相通。而至于有些管腳如 BD、SHIFT、CNTL/S 等由于 在此設(shè)計中無甚意義,故均將其接地處理。 其工作機(jī)理為:82C79 的 SL0SL2 在芯片工作時,不斷以固定的頻率輸 出低電平,當(dāng)然是同一時間只選擇其中一根線為低電平,其他還未高電平, 同時掃描 RL0RL7 端,若得到某各端口返回低電平,在經(jīng)過消抖處理后仍 為低電平, 則說明 SL0SL2 當(dāng)前輸出低電平的那根線與 RL0RL7 當(dāng)前返回低 電平的那根線的交叉處的那個開關(guān)被按下了。那么芯片 82C79 會自動將該按 鍵按照規(guī)定的協(xié)議翻譯為相應(yīng)的鍵值(每個按鍵都有自己唯一的鍵值標(biāo)示, 這 便于在編寫程序時讀取鍵值進(jìn)而進(jìn)行

25、散轉(zhuǎn),存儲與 FIFO 寄存器中,同時, 由于該寄存器中存有單片機(jī)未讀取的值,IRQ 管腳就會自動輸出高電平,再 經(jīng)過非門后對單片機(jī)的 INT0 產(chǎn)生中斷,此時只需在編程時在中斷程序中對 其進(jìn)行相應(yīng)處理即可。 2.5 MAX232 串口下載模塊與附加電源模塊等 由于程序絕不可能第一次編寫完就可以達(dá)到預(yù)設(shè)的目的,其間要經(jīng)過很 多次的更改修正,故為了便于程序的調(diào)試工作,我在此電路板上增設(shè)了一個 MAX232 串口下載模塊, 這樣便可以不用取下單片機(jī)去其他的電路板上下載, 而直接便可以在此電路板上完成了。同時為便于電源的引入,我選擇了電腦 USB 口輸出的 5V 直流電源,這樣無需再用大型的電源設(shè)備

26、,隨處便可以調(diào)12周口科技職業(yè)學(xué)院畢業(yè)生論文試。他們的電路圖如圖 2.7 所示:C10 104 VCCC8 104U6 1 2 3 4 5 6 7 8 C1+ VCC V+ GND C1- T1OUT C2+ R1IN C2- R1OUT VT1IN T2OUT T2IN R2IN R2OUT MAX232 16 15 14 13 12 11 10 9C11 104 RXD TXDVCCC12 104S1總總總+R13 1K CJ1 10UFUSB1 D1 D2 + USB 接 串5 9 4 8 3 7 2 6 1C9 104D27串串 交 交 DB9圖 2.7串口下載模塊MAX232 電路時

27、該芯片數(shù)據(jù)手冊中提供的典型應(yīng)用圖。MAX232 是一個 電荷泵器件,它采用開關(guān)電容技術(shù)將 5V 電壓升壓和獲取負(fù)電壓。 至于電源模塊,便比較簡單了,USB 口通常有四條引出線,其中邊緣兩 根便為電源線,一個為+5V 直流端,一個為地端。中間兩根為差分信號線 D+ 與 D-,負(fù)責(zé)信號的串行通信。但由于此處只用做電源功能,故中間兩根無需 接入。 直流端通過一個按鍵開關(guān)并經(jīng)過一 10 微法的電容濾波后接入 Vcc, +5V 供整個電路板供電。當(dāng)電源導(dǎo)通后,電源指示二極管會高亮。 同時,基于人性化處理,在電梯上下行時,我專門用若干個二極管排列 成上下箭頭的形狀,如圖所示。中間的四個發(fā)光二極管組成一豎線

28、型,并處 于常亮狀態(tài), 當(dāng)電梯上行時, 與單片機(jī) P13 管腳連接的 UP 端將輸出低電平, 經(jīng)過一非門后使組成上三角的四個發(fā)光二極管點亮,從而形成以向上箭頭; 同理,當(dāng)下行時,與單片機(jī) P11 腳相連的 DOWN 端將輸出低電平,使組成 下三角的四個發(fā)光二極管導(dǎo)通,形成向下箭頭,如圖 2.8 所示。13周口科技職業(yè)學(xué)院畢業(yè)生論文GND D4 GND D8 GND NET1 GND D5 UpD2 GND GND UpD4 11 U3E UP P13 9 10 D1 UpD5 UpD3 D6 6 74LS04 U3C 5 P13 UP D7 4 R3 1K VCC 74LS04 U3B 374

29、LS04 R4 U3D 8 NET1 1K GND VCC 74LS04 U4E 11 10 NET2 74LS04 U4D 9 74LS04 8 R5 1K D2DOWN P11GNDD9 GND D12VCC D1074LS04 2 U4A1DownD4 GNDD11GND DownD2 NET2 GNDDownD5 74LS04 4 U4B3P11DOWNDownD3 D3R6 1K VCC圖 2.8 第三章 芯片基本讀寫的實現(xiàn)上下行箭頭顯示模塊3.1 單片機(jī)對芯片 82C55 的基本讀寫 與一般其他的芯片類似,對 82C55 芯片的操作,一般也即對其內(nèi)部寄存 器的操作。其內(nèi)部寄存器分為

30、兩類,一類為命令寄存器,另一類為數(shù)據(jù)寄存 器。很明顯,由于 82C55 的功能為將一組單片機(jī) I/O 口擴(kuò)展為三組 I/O 口, 那么肯定要有三組數(shù)據(jù)寄存器,分別對應(yīng)著它的三組 I/O 口,即 PA 口,PB 口與 PC 口,那么 82C55 芯片便有四個寄存器,正好可以用兩位的地址線進(jìn) 行尋址(即管腳 A0 與 A1。大概得其讀寄存器的流程圖 3.114周口科技職業(yè)學(xué)院畢業(yè)生論文開始 使能片選 選擇寄存器 地址 讀信號為低 準(zhǔn)備數(shù)據(jù) 讀信號為高 片選無效 P0置高電平開始 使能片選 選擇寄存器 地址 寫信號為低 準(zhǔn)備數(shù)據(jù) 寫信號為高 片選無效 P0置高電平圖 3.1讀寫寄存器流程圖具體的說,

31、其過程為:開始選中該芯片(低電平有效),而后設(shè)置好所 要讀寫的寄存器的地址,也即設(shè)置好 A0 與 A1 的數(shù)值組合,若為讀寄存器, 則讓單片機(jī)讀引腳 P37 為低電平,反之若為寫寄存器,則讓單片機(jī)寫引腳 P36 為低電平,然后把要讀或者寫的數(shù)據(jù)放到數(shù)據(jù)口 P0 口上(需要注意的 是,當(dāng)單片機(jī)讀寄存器時,對于其自身來說,是輸入數(shù)據(jù),故此時需先讓 P0 口值為高電平 0xff 為下一步的輸入做準(zhǔn)備,而此流程圖的最后一步即為這種 情況做準(zhǔn)備的),一段短短的穩(wěn)定時間后再讓讀引腳或者寫引腳為高電平, 則在由低到高的跳變中,數(shù)據(jù)得到了轉(zhuǎn)移。然后再片選無效,以防以后的數(shù) 據(jù)傳輸產(chǎn)生相互干擾。最后數(shù)據(jù)口 P0

32、 置為 0xff,為方便下次可能的輸入做準(zhǔn) 備。 3.2 芯片 82C55 的初始化 對芯片 82C55 的初始化,實質(zhì)上即是規(guī)定好它每個擴(kuò)展口是作為什么方 式使用,即是輸入還是輸出,并且工作于何種方式。15周口科技職業(yè)學(xué)院畢業(yè)生論文圖 3.38255A 工作方式控制字格式16周口科技職業(yè)學(xué)院畢業(yè)生論文較為強大,故對其操作的語句也相對多些。一般來說,對 8279 操作的命令分 為八種,分別為:1、鍵盤/顯示器方式命令;2、時鐘編程命令;3、讀鍵字 命令;4、讀顯示緩沖器命令;5、寫顯示緩沖器命令;6、顯示器禁止寫入/ 熄滅命令;7、清楚命令;8、結(jié)束中斷/錯誤方式設(shè)置命令?,F(xiàn)分別介紹如下: 1

33、、鍵盤/顯示方式設(shè)置命令字(表 3.2) 表 3.2 D7 0 D6 0 D5 0 鍵盤/ 鍵盤/顯示方式設(shè)置命令格式 D4 D D3 D D2 K D1 K D0 K其中:D7、D6、D5=000 方式設(shè)置命令特征位。 DD(D4、D3:來設(shè)定顯示方式,其定義如下(表 3.3): 表 3.3 D4 0 0 1 1 D3 0 1 0 1 顯示方式 8 個字符顯示,左入口開始 16 個字符顯示,左入口開始(復(fù)位后狀態(tài) 8 個字符顯示,右入口開始 16 個字符顯示,右入口開始 D3、D4 顯示方式 、所謂左入口,即顯示位置從最左一位(最高位)開始,以后逐次輸入的 顯示字符逐個向右順序排列; 所謂右

34、入口, 即顯示位置從最右一位 (最低位) 開始,以后逐次輸入的顯示字符時,已有的顯示字符逐個向左順序移動。 KKK(D2、 D1、 D0):用來設(shè)定七種鍵盤、顯示工作方式(表 3. 4):表 3.4 D2 D1 D0 操作方式D2、D1、D0 操作方式 、 、17周口科技職業(yè)學(xué)院畢業(yè)生論文0 0 0 0 1 1 1 10 0 1 1 0 0 1 10 1 0 1 0 1 0 1外部編碼掃描鍵盤(16 取 1),雙鍵互鎖 內(nèi)部譯碼掃描鍵盤(4 取 1),雙鍵互鎖 外部編碼掃描鍵盤 N 鍵依次讀出 內(nèi)部譯碼掃描鍵盤 N 鍵依次讀出 外部譯碼掃描傳感器矩陣方式內(nèi)部譯碼掃描傳感器矩陣方式 選通輸入方式

35、,外部編碼顯示掃描 選通輸入方式,內(nèi)部譯碼顯示掃描雙鍵鎖定與 N 鍵輪回是多鍵按下時的兩種不同的保護(hù)方式。雙鍵鎖定為 兩鍵同時按下提供的保護(hù)方法。再消顫周期里,如果有兩鍵同時按下,則只 有其中一個鍵彈起,而另一個鍵保持在按下位置時,才被認(rèn)可。N 鍵輪回為 N 鍵同時按下的保護(hù)方法。當(dāng)有若干鍵按下時,鍵盤掃描能夠根據(jù)發(fā)現(xiàn)他們 的順序,依次將它們的狀態(tài)送入 FIFO RAM 中。 2、程序時鐘命令(表 3.5) 表 3.5 D7 0 D6 0 D5 1 程序時鐘命令格式 D4 P D3 P D2 P D1 P D0 P其中:D7、D6、D5=001 為時鐘命令特征位。 PPPPP( D4、D3、D

36、2、D1、D0)用來設(shè)定外部輸入 CLK 端的時鐘進(jìn) 行分頻的分頻數(shù) N。N 取值為 231。例如外部時鐘頻率為 2MHZ,PPPPP 被 置為 10100(N=20),則對輸入的外部時鐘 20 分頻,以獲得 8279 內(nèi)部要求 的 100KMZ 的基本頻率。3、讀 FIFO/傳感器 RAM 命令(表 3.6) 表 3.6 讀 FIFO/傳感器 RAM 命令格式 /18周口科技職業(yè)學(xué)院畢業(yè)生論文D7 0D6 1D5 0D4 AID3 XD2 AD1 AD0 A其中:D7D6D5 =010 為讀 FIFO/傳感器 RAM 命令特征位。該命令字只在傳 感器方式時使用。在 CPU 讀傳感器 RAM

37、之前,必須使用這條命令來設(shè)定傳 感器 RAM 中的 8 個地址(每個地址一個字節(jié))。 AAA(D2、D1、D0)為傳感器 RAM 中的八個字節(jié)地址。 AI(D4)為自動增量特征位。當(dāng) AI=1 時,每次讀出傳感器 RAM 后地 址自動加 1 使地址指針指向下一個存儲單元。這樣,下一個數(shù)據(jù)便從下一個 地址讀出,而不必重新設(shè)置讀 FIFO/傳感器 RAM 命令。 在鍵盤工作方式中,由于讀出操做嚴(yán)格按照先入先出順序,因此,不需 使用此命令。 4、讀顯示 RAM 命令(表 3.7) 表 3.7 D7 0 D6 1 D5 1 讀顯示 RAM 命令格式 D4 AI D3 A D2 A D1 A D0 A其

38、中:D7D6D5 =011 為讀顯示 RAM 命令字的特征位。該命令用來設(shè)定將要 讀出的顯示 RAM 地址。 AAAA(D3、D2、D1、D0)用來尋址顯示 RAM 命令字的特征位。由位 顯示 RAM 中有 16 個字節(jié)單元故需要 4 位尋址。 AI(D4)為自動增量特征位。當(dāng) AI=1 時,每次讀出后地址自動加 1 指 向下一地址。5、寫顯示 RAM 命令(表 3.8) 表 3.8 寫顯示 RAM 命令格式19周口科技職業(yè)學(xué)院畢業(yè)生論文D7 1D6 0D5 0D4 AID3 AD2 AD1 AD0 A其中:D7D6D5 =100 為寫顯示 RAM 命令字的特征位。在寫顯示器 RAM 之 前用

39、該命令用來設(shè)定將要寫入的顯示 RAM 地址。 AAAA(D3、D2、D1、D0)為將要寫入的存儲單元地址。 AI(D4)為自動增量特征位。當(dāng) AI=1 時,每次寫入后地址自動加 1 指 向下一次寫入地址。 6、顯示禁止寫入/消隱命令特征位(表 3.9) 表 3.9 D7 1 D6 0 D5 1 顯示禁止寫入/消隱命令格式 顯示禁止寫入/消隱命令格式 D4 X D3 IWA D2 IWB D1 BLA D0 BLB其中:D7D6D5 =101 為顯示禁止寫入/消隱命令特征位。 IW/A、IW/B(D3、D2)為 A、B 組顯示 RAM 寫入屏蔽位。由于顯示 寄存器分成 A、B 兩組,可以單獨送數(shù)

40、,故用兩位來分別屏蔽。當(dāng) A 組的屏 蔽位 D3=1 時,A 組的顯示 RAM 禁止寫入。因此,從 CPU 寫入顯示器 RAM 數(shù)據(jù)時,不會影響 A 的顯示。這種情況通常在采用雙 4 位顯示器時使用。因 為兩個雙四位顯示器是相互獨立的。為了給其中一個雙四位顯示器輸入數(shù)據(jù) 而又不影響另一個四位顯示器,因此必須對另一組的輸入實行屏蔽。 BL/A、BL/B(D1、D0)為消隱顯示位。用于對兩組顯示輸出消隱。若 BL=1 時,對應(yīng)組的顯示輸出被消隱。當(dāng) BL=0 時,則恢復(fù)顯示。 7、清除命令(表 3.10) 表 3.10 D7 1 D6 1 D5 0 D4 CD 清除命令格式 清除命令格式 D3 C

41、D D2 CD D1 CF D0 CA其中:D7D6D5 =110 清除命令特征位。20周口科技職業(yè)學(xué)院畢業(yè)生論文CDCDCD(D4D3D2)用來設(shè)定清除顯示 RAM 方式,共有四種消除方式 (表 3.11)。 表 3.11 D4 D3 D2 1 1 1 0 0 1 1 X 0 1 清除方式 將顯示 RAM 全部清零 將顯示 RAM 清成 20H(A 組=0010,spanB 組=0000) 將顯示 RAM 全部置 1 不清除(CA =0 D4D3D2 消除方式X XCF(D1)用來置空 FIFO 存儲器,當(dāng)=1 時,執(zhí)行清除命令后,F(xiàn)IFO RAM 被置空,使中斷輸出線復(fù)位。同時,傳感器 R

42、AM 的讀出地址也被置 0。 CA(D0)為總清的特征位。它兼有 CD 和 CF 的聯(lián)合效能。在 CD=1 時, 對顯示的清除方式由 D3、D2 的編碼決定。 清除顯示 RAM 約需 160S。在此期間 FIFO 狀態(tài)時的最高位 DU=1,表 示顯示無效。CPU 不能向顯示 RAM 寫入數(shù)據(jù)。 8、結(jié)束中斷/錯誤方式設(shè)置命令(表 3.12) 表 3.12 D7 1 D6 1 D5 1 結(jié)束中斷/ 結(jié)束中斷/錯誤方式設(shè)置命令格式 D4 E D3 X D2 X D1 X D0 X其中:D7D6D5 =111 為該命令的特征位。此命令有兩種不同的作用。 (1作為結(jié)束中斷命令。在傳感器工作方式中使用。

43、每當(dāng)傳感器狀態(tài)出現(xiàn) 變化時,掃描檢測電路將其狀態(tài)寫入傳感器 RAM,并啟動中斷邏輯,使 IRQ 變高,向 CPU 請求中斷,并且禁止寫入傳感器 RAM。此時,若傳感器 RAM 讀出地址的自動遞增特征沒有置位(AI=0),則中斷請求 IRQ 在 CPU 第一 次從傳感器 RAM 讀出數(shù)據(jù)時就被清除。若自動遞增特征已置位(AI=1), 則 CPU 對傳感器 RAM 的讀出并不能清除 IRQ,而必須通過給 8279 寫入結(jié)21周口科技職業(yè)學(xué)院畢業(yè)生論文束中斷/錯誤方式設(shè)置命令才能使 IRQ 變低。 因此在傳感器工作方式中, 此命 令用來結(jié)束傳感器 RAM 的中斷請求。 (2作為特定錯誤方式設(shè)置命令。

44、在 8279 已被設(shè)定為鍵盤掃描 N 鍵輪回 方式以后,如果 CPU 給 8279 又寫入結(jié)束中斷/錯誤方式設(shè)置命令(E=1), 則 8279 將以一種特定的錯誤方式工作。這種方式的特點是:在 8279 的消顫 周期內(nèi),如果發(fā)現(xiàn)多個按鍵同時按下,則 FIFO 狀態(tài)字中的錯誤特征位 S/E 將置 1,并產(chǎn)生中斷請求信號和阻止寫入 FIFO RAM。 上述八種用于確定 8279 操作方式的命令字皆由 D7D6D5 特征位確定, 輸入 8279 后能自動尋址相應(yīng)的命令寄存器。 因此, 寫入命令字時唯一的要求 是使數(shù)據(jù)選擇信號 A0=1。 8279 只有一位地址線 A0, 那么當(dāng)然只可以尋址兩個寄存器

45、。 實際上也是 如此的,當(dāng) A0=0 時,尋址的為其內(nèi)部的數(shù)據(jù)寄存器;當(dāng) A0=1 時,尋址的為 其內(nèi)部的控制寄存器。那么其控制命令有多種,單一的一個命令寄存器又是 何以分辨如此多的命令呢?如上面所示,命令寄存器的八位中,高三位為命 令的分辨符。故若想輸入不同的命令,只需寫入相應(yīng)的高三位數(shù)據(jù)即可。開始清零寄存器 (命令字0xd1)設(shè)置按鍵方式 (命令字0x03)設(shè)置分頻 (命令字0x2a)圖 3.48279 初始化在本畢設(shè)中,應(yīng)該規(guī)定哪些命令呢?如流程圖 3.4 所示,對 8279 的初始 化供分為三步,即先后輸入三個命令。首先,我們要對芯片內(nèi)部的各寄存器 進(jìn)行類似于復(fù)位的清零操作,方便以后的

46、使用;其次,由于本設(shè)計中 827922周口科技職業(yè)學(xué)院畢業(yè)生論文主管 22 各按鍵, 而按鍵按下時又有多種復(fù)雜的情況, 諸如同時有若干按鍵按 下等,我們要選擇此種情況的處理方式;再者,由于 8279 對按鍵實際上是通 過掃描的方式確定有無按鍵按下,故我們還要設(shè)置好掃描的頻率等,由硬件 電路知道,8279 有一時鐘輸入引腳 CLK 接于單片機(jī)的 ALE 引腳上,在單片 機(jī)正常工作時,ALE 引腳輸出的為晶振頻率六分之一的脈沖,這正是 8279 掃描的時鐘源,當(dāng)然,8279 的掃描頻率不可能達(dá)到單片機(jī)晶振的輸出頻率那 么高,其實際的最大掃描頻率為 100KH 左右,故我們需要一設(shè)置分頻命令。 那么

47、這三個命令的命令字是如何得到的呢?參考上面命令字的格式可以 知道: (1清除寄存器命令的高三位特征位應(yīng)該為 110,又由于我們是將顯示 RAM 全部清零, D4 到 D2 位應(yīng)該選擇為 100, 故 由于對顯示 RAM 的清除方 式選擇由 D3 和 D2 控制,故要求其 D0 位為 1。故最終得到的命令字為 11010001,轉(zhuǎn)換為十六進(jìn)制即為 0xd1。 (2設(shè)置按鍵方式中,其特征位的代碼為 000。由于未用到顯示功能,故 其對應(yīng)控制位 D4 與 D3 可以隨便設(shè)置,在此均設(shè)置為 00。至于按鍵工作方 式的選擇,我們只所以選擇內(nèi)部譯碼掃描鍵盤 N 鍵依次讀出的方式,是結(jié)合 實際情況的結(jié)果。雙

48、鍵互鎖的方法是當(dāng)鍵盤同時有兩個鍵按下時,任何一個 鍵值均不能進(jìn)入 FIFO RAM 中,直至僅剩一個鍵保持閉合時,該鍵值才能進(jìn) 入到 FIFO RAM 中。而 N 鍵依次讀出方式,是 N 個鍵同時按下的保護(hù)方法。 當(dāng)有若干個鍵同時按下時,在鍵盤的掃描過程中根據(jù)發(fā)現(xiàn)它們的先后順序進(jìn) 行識別,并以此將它們的狀態(tài)送入 FIFO RAM 中。對比我們可以發(fā)現(xiàn),現(xiàn)實 中偶爾會發(fā)生不同樓層會有不同人同時按下不同按鍵的情況發(fā)生,這時若選 擇雙鍵互鎖的方式, 則誰的鍵值都不能傳達(dá)給內(nèi)部寄存器, 這是很不方便的, 故在此,我們選擇了 N 鍵依次讀出的方式。對于市內(nèi)部譯碼還是外部編碼的 掃描方式,我們也可以根據(jù)其

49、特點進(jìn)行選擇:編碼方式,也稱為外部譯碼方 式,計數(shù)器以二進(jìn)制方式計數(shù),4 位計數(shù)狀態(tài)從掃描線 SL0SL3 輸出,經(jīng)外 部譯碼器譯出 16 位掃描線,為鍵盤和顯示器提供 16 取 1 的掃描線。而譯碼23周口科技職業(yè)學(xué)院畢業(yè)生論文方式,也稱為內(nèi)部譯碼方式,掃描計數(shù)器的低 2 位經(jīng)內(nèi)部譯碼后從 SL0SL3 輸出,故此時提供了 4 取 1 的掃描譯碼。由電路圖我們可以看出,實際上我 們僅僅用到了 SL0SL3 中的前三根線(因為按鍵不是太多,三乘八的矩陣鍵 盤已足夠使用),故四取一得譯碼方式便成為了我們的首選,其對應(yīng)代碼為 D2D1D0=011。最終我們得到完整的命令符為 0000 0011,也

50、即十六進(jìn)制中的 0x03。 (3設(shè)置分頻命令字。其對應(yīng)特征位為 001.由于電路板上,單片機(jī)的晶振 為 6MHz,ALE 腳輸出的脈沖頻率為晶振的六分之一,即 1MHz,而 8279 的 基本頻率為 100KHz, 故我們設(shè)置的分頻系數(shù)應(yīng)該為 1M/100K=10 (十進(jìn)制) , 對應(yīng)的二進(jìn)制為 01010。最后可得完整二進(jìn)制與十六進(jìn)制命令碼分別為 00101010 和 0x2a。 第四章 4.1 引言 從程序功能上來分, 本設(shè)計的高層軟件程序大概可以分為以下幾類: 一、 運行與決策函數(shù);二、中斷處理函數(shù);三、置位各狀態(tài)變量函數(shù);四、清除 各狀態(tài)變量函數(shù)。 其中,第一類函數(shù)起作用于按鍵按下的時

51、刻,當(dāng)有按鍵按下時,8279 芯 片會采集到鍵盤的鍵值,并以中斷的方式發(fā)送給單片機(jī),此時,單片機(jī)即對 程序中所用到的各個狀態(tài)變量進(jìn)行置位并且通過 82C55 點亮相關(guān)發(fā)光二極 管,如置位按鍵所對應(yīng)的去向變量等,方便決策函數(shù)使用。第二類函數(shù)的功 能恰好與第一類相反,這類函數(shù)起作用于電梯到達(dá)目標(biāo)樓層時,這時函數(shù)負(fù) 責(zé)把相關(guān)發(fā)光二極管熄滅,并且及時清除相關(guān)狀態(tài)位,以免影響判別函數(shù)作 出正確判斷。第三類函數(shù)是程序的核心。它直接負(fù)責(zé)管理電梯下一次所要到 達(dá)的樓層,并且要基于短時間、高效率、人性化等原則。每當(dāng)電梯經(jīng)過一樓 層時,此函數(shù)即會被調(diào)用,然后返回一個變量名為 aim 的值,它即為下一個 系統(tǒng)的高層

52、軟件設(shè)計24周口科技職業(yè)學(xué)院畢業(yè)生論文電梯要停留的目標(biāo)樓層值。 而從程序的層次上來分,又可分為位于最底層的芯片內(nèi)部寄存器操作的 基層程序和位于上層的應(yīng)用程序,故本章以此為順序,先介紹基層函數(shù)的實 現(xiàn),繼而詳細(xì)介紹各高層的應(yīng)用函數(shù)。 4.2 單片機(jī)中斷處理函數(shù) 本設(shè)計主要用到了單片機(jī)的中斷系統(tǒng)。 8279 掃描到有按鍵按下時, 當(dāng) 便 會將鍵值存儲起來,并在 IRQ 引腳輸出高電平發(fā)出中斷,通知單片機(jī)進(jìn)行相 關(guān)處理。在此詳細(xì)介紹下中斷的相關(guān)設(shè)置以及中斷處理中都進(jìn)行了哪些操作 (如圖 4.1 所示)。讀取鍵值分析鍵值來源點亮相應(yīng)發(fā)光 二極管 置位相應(yīng)狀態(tài) 變量中斷處理中的相關(guān)操作電梯所處狀態(tài)的分類

53、與判定 這是整個程序成功運行的核心保證。在電梯經(jīng)過一個樓層時,就會自動調(diào)用該函數(shù),它的作用是基于短時間、高效率、人性化的基礎(chǔ)上,合理智能 的對電梯的運行進(jìn)行調(diào)度,結(jié)合實際情況,最終得出電梯下一個目標(biāo)停留樓 層。其流程如圖 4.2 所示。25周口科技職業(yè)學(xué)院畢業(yè)生論文開始按鍵標(biāo)識 全為0? 否是電梯不 再運行電梯向 上運行電梯向 下運行電梯上 樓接人電梯上 樓送人電梯下 樓接人電梯下 樓送人相關(guān)處理1相關(guān)處理2相關(guān)處理3相關(guān)處理4圖 4.2電梯判決流程圖由圖可知,程序中將實際情況分為四種情況來判斷:電梯上行且是去送 人(即電梯此時位于底層,而高層有人呼叫要上樓)、電梯上行且是去接人 (即電梯此時

54、位于底層, 而高層有人呼叫要下樓) 電梯下行且是去送人 、 (即 電梯此時位于高層,而低層有人呼叫要下樓)、電梯下行且是去接人(即電 梯此時位于高層,而低層有人呼叫要上樓)。 而這四種情況,也就包含了實際電梯中的絕大部分情況。情況不同,分 析的方法也當(dāng)然不一樣。這個稍后會有詳細(xì)介紹,而首先,我們要了解電梯 是如何得知此時它是上面四種的哪一種情況的呢? 這可以分為兩個步驟:第一判斷電梯是上行還是下行;第二,判斷是去 接人還是去送人。當(dāng)然,第一個是最好判斷的,因為電梯在運行時,有兩個 與樓層有關(guān)的變量,一個為當(dāng)前所在樓層值 present,一個為目標(biāo)樓層值 aim, 當(dāng)電梯運行時,會讓這兩個值進(jìn)行

55、比較,若前者大于后者,就為下行,從而26周口科技職業(yè)學(xué)院畢業(yè)生論文27周口科技職業(yè)學(xué)院畢業(yè)生論文簡單地說,若電梯處于上行狀態(tài),則在該過程中響應(yīng)不同顧客的優(yōu)先級 (或者電梯響應(yīng)的先后順序)為:高層呼叫上行顧客高層呼叫下行顧客底 層呼叫下行顧客底層呼叫上行顧客。 那么,當(dāng)電梯通過程序運行得知到相應(yīng)狀態(tài)后,又是如何具體的判斷當(dāng) 天所鎖定的目標(biāo)樓層是否要變更呢?現(xiàn)以上行為例,加以詳細(xì)說明: 若上行,且是送人,比如電梯當(dāng)前在二層,七樓有人呼叫上樓,那么它 就要響應(yīng)這一呼叫,從而把自己的目標(biāo)樓層鎖定為七樓并向上運行,而在七 樓呼叫后不久,六樓也有人呼叫上樓(且電梯此刻還未運行到六樓),那么 在電梯運行中,

56、沒經(jīng)過一個樓層,會做一次判決,因為六樓也有人呼叫,所 以正常情況下,它應(yīng)該在判決后將目標(biāo)樓層定位六樓。而若六樓的顧客按下 的是下行鍵,或者二樓的人按下呼叫鍵,電梯此時都會暫時不予理會。部分 程序代碼見附錄。 由程序可以看出,當(dāng)六樓有上行鍵呼叫時,狀態(tài)變量 f6up 便會被置位, 程序走到判別 if(f6up=0|(present6時,里面的內(nèi)容即為假,則不再繼續(xù)向 下判斷,而轉(zhuǎn)向 else 語句中,里面又有一個判斷,當(dāng)確定此時確實有鍵按下 且電梯當(dāng)前所處樓層小于六樓時,目標(biāo)樓層就會被變更到六樓,程序最終返 回一個 aim 值。由于程序中沒有下行鍵的出現(xiàn),故下行鍵的狀態(tài)是不會影響 到該程序的判決

57、的。 此時程序的檢測依據(jù)兩個標(biāo)準(zhǔn):第一,由低層像高層開始檢查;第二, 對于電梯已經(jīng)過的樓層和按下下行鍵所發(fā)出的請求, 電梯暫時是不予理會的。 這也是很明顯的,因為上行送人狀態(tài)中,低層的優(yōu)先權(quán)大于高層的。程序就 是靠著上面這些 if 語句的嵌套,來完成這種優(yōu)先級設(shè)置的。 至于上行接人狀態(tài)時,所堅持的標(biāo)準(zhǔn)是由高層到底層的順序進(jìn)行排查, 而對于上行鍵的呼叫暫時不予理會。下行的狀態(tài),恰好與上行相反,在此不 再贅述。28周口科技職業(yè)學(xué)院畢業(yè)生論文4.4電梯運行函數(shù) 該函數(shù)直接控制電梯的上行與下行、運行與停止。不過在其中其關(guān)鍵作用的還是判決函數(shù)給它提供的目標(biāo)樓層值。其具體的流程如圖 4.3 所示。它 的功能就是判斷目標(biāo)樓層與當(dāng)前樓層間的關(guān)系:若前者大于后者,則上行; 若前者小于后者,則下行;若相等,則停止片刻把門打開。當(dāng)然,之后它還 要做一次判斷,因為可能還有其他的樓層需要呼叫,此時程序會自動裝入合 適的目標(biāo)樓層值,指揮電梯繼續(xù)運行下去,直到所有的呼叫都完成為止。 在這個程序中,還需注意的是當(dāng)?shù)竭_(dá)某一目標(biāo)樓層后,需要做一些后續(xù) 工作,即清零相應(yīng)的狀態(tài)變量和熄滅相應(yīng)的發(fā)光二極管。前者是為了使該狀 態(tài)變量不會再對判決函數(shù)的結(jié)果產(chǎn)生影響, 因為該響應(yīng)呼叫任務(wù)已經(jīng)完成了, 就應(yīng)該把它從參考參數(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論