版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、計算機硬件技術基礎課程設計 電梯監(jiān)控系統(tǒng)設計(硬件實驗系統(tǒng))電梯監(jiān)控系統(tǒng)設計(計算機硬件技術基礎課程設計)專 業(yè):自動化 組 員:賴國強 20085417 李延 20085418 晏艮平 20085420 羅威 20085398重慶大學自動化學院2011年9月人員及任務分配專業(yè)班級學 號姓 名任務分配自動化8班20085417賴國強程序的主體流程邏輯(如自動選擇運行哪部電梯),發(fā)聲程序,回到最佳樓層等等,最后再把組員的各部分子程序融合在一起,主體流程圖的繪制。自動化8班20085418李延PC機鍵盤子程序的實現(xiàn),JK板4*4鍵盤子程序的實現(xiàn),程序的測試,論文的編寫,鍵盤部分流程圖的繪制。自動化
2、8班20085420晏艮平資料查閱,開機文字顯示,已經電梯開關門動畫的實現(xiàn)等拓展程序實現(xiàn),二極管小燈計數(shù)優(yōu)化功能實現(xiàn),論文的編寫及完善。自動化8班20085398羅威負責LED顯示子模塊,用LED顯示電梯當前狀態(tài),論文的校正,LED部分流程圖的繪制。目 錄一、簡介3二、設計內容及要求2.1 設計的主要內容32.2 設計報告要求3三、設計步驟3.1 基本設計目標實現(xiàn)43.2 硬件連接63.3優(yōu)化與拓展功能實現(xiàn) 7四、設計流程圖84.1 主程序流程圖84.2 子程序流程圖9五、編程與調試 11六、心得體會 11七、程序清單 14一、簡介 隨著社會的飛速發(fā)展以及科技水平的不斷提高,城市里超高層建筑如
3、雨后春筍般出現(xiàn)在人們的生活中。為了方便人們的生活水平,電梯普遍應用在各個高層建筑中。當然,科技的進步,使得電梯的設計、工藝不斷得到提高,電梯的品種也逐漸增多。本次計算機硬件課程設計的任務就是模擬設計電梯監(jiān)控系統(tǒng)的功能。我們小組利用所學的計算機硬件基礎知識進行了簡單的設計,在設計實現(xiàn)各個基本功能的基礎上,拓展設計完成了一些相關優(yōu)化功能,進一步加深了對計算機硬件技術的理解和應用。二、設計內容及要求2.1 設計的主要內容 設計一個由兩臺電梯組成的電梯監(jiān)控系統(tǒng),能用計算機硬件實驗系統(tǒng)的輸入輸出設備完成計電梯系統(tǒng)的基本功能,該部分占60分;并在此基礎上自行完善和優(yōu)化系統(tǒng)功能,該部分占40分(若有雷同者,
4、該部分不得分)?;竟δ芫唧w要求如下:1.以計算機硬件實驗系統(tǒng)的輸入輸出設備為基礎,以實驗系統(tǒng)上4*4鍵盤和開關作為輸入設備,以LED顯示器和小燈作為輸出設備,完成設計;(允許使用PC機的揚聲器作為發(fā)聲設備)2.電梯監(jiān)控系統(tǒng)基本功能描述如下: (1)一樓有上行鍵,其他樓層有上行鍵和下行鍵,要求各樓層的電梯上行和下行按鍵為兩個電梯聯(lián)動。 (2)要求電梯內有樓層鍵(=20層)。 (3)按一樓上行鍵后,若電梯停在其它樓層,則離一樓最近的電梯下行到一樓,自動開門;若電梯在一樓,則直接開門。停頓一段時間后,自動關門。根據(jù)電梯內樓層的按鍵情況,選擇上行或停止在一樓。 (4)上行或下行過程中,按順序在每個按
5、下的樓層停頓,每次停頓時,自動開門,一段時間后,自動關門。若電梯內已經沒有按下的樓層鍵,則停止在最佳樓層。 (5)要求顯示電梯當前所在樓層,運行方向(上行,下行或停止)和電梯門狀態(tài)(打開或關閉)。電梯門打開和關閉過程中有相應的聲音提示及圖形顯示提示。2.2 設計報告要求1.明確每位組員的詳細分工。2.在上述設計主要內容的基礎上,本組討論整理出系統(tǒng)的詳細操作 說明。3.詳細描述自行完善和優(yōu)化的系統(tǒng)功能以及設計方案。4.給出系統(tǒng)的設計思路和意見、軟件設計方案。5.畫出各軟件模塊的程序流程圖。6.列出加上必要注釋的程序清單。7.每位組員根據(jù)自己承擔的設計內容和設計過程,寫出心得體會(不少于800字)
6、。三、設計步驟3.1 基本設計目標實現(xiàn)根據(jù)課程設計任務書所提出的要求,我們小組通過討論和分析后首先確定出此次電梯監(jiān)控系統(tǒng)設計中我們需要完成的幾個基本功能以及操作方案:3.1.1 基本設計目標及實現(xiàn)方案(1)一樓有上行鍵,其他樓層有上行鍵和下行鍵,要求各樓層的電梯上行和下行按鍵為兩個電梯聯(lián)動。我們通過PC機鍵盤的1到9鍵分別表示1到9號樓層的上行鍵,通過PC機鍵盤的Q到O鍵分別表示2到10號樓層的下行鍵。每當掃描到PC機鍵盤上有鍵按下時,就表示外部有人需要乘坐電梯。 (2)按一樓上行鍵后,若電梯停在其它樓層,則離一樓最近的電梯下行到一樓,自動開門;若電梯在一樓,則直接開門。停頓一段時間后,自動關
7、門。根據(jù)電梯內樓層的按鍵情況,選擇上行或停止在一樓。我們通過一個做差比較的程序,先分別計算當前電梯所在樓層與外部按鍵所在樓層之差,再將兩臺電梯所計算得到的差值就行比較,選出離按鍵最近的一臺電梯運行到按鍵樓層,并打開電梯門讓人進入,隨后關上電梯門(LED燈對應顯示從1變?yōu)?又重新變?yōu)?)。當兩臺電梯比較發(fā)現(xiàn)離按鍵樓層一樣近時,即兩個的差值相等時,兩臺電梯將同時到達按鍵所在樓層,我們將根據(jù)電梯內的按鍵判斷人進入了哪臺電梯。若JK鍵盤上有E按下,則說明選擇了1電梯,F(xiàn)按下表示說明了2電梯。在整個流程中,改功能通過一個掃描子程序完成,即先掃描是否有E或者F按下,然后根據(jù)所按的值進入相關電梯的運行狀態(tài)。
8、如果E和F均未按下,則系統(tǒng)將一直等待按鍵按下。(3)上行或下行過程中,按順序在每個按下的樓層停頓,每次停頓時,自動開門,一段時間后,自動關門。若電梯內已經沒有按下的樓層鍵,則停止在最佳樓層。當人進入電梯內,同時按下了幾個目標樓層,系統(tǒng)將會把這幾個目標樓層進行比較排序并儲存起來,按照順序在每個按下的樓層停頓。我們同樣通過一個掃描程序完成。先將段選清零,通過行列的方式確定哪個鍵按下,然后根據(jù)對應的碼值選出所對應的按鍵。按下確定后,系統(tǒng)將掉用存儲的目標樓層數(shù)據(jù),并在該層停止后開門關門,繼續(xù)運行。知道再無人按下電梯,兩臺電梯都將經過15秒的等待時間回到最佳樓層。(4)要求顯示電梯當前所在樓層,運行方向
9、(上行,下行或停止)和電梯門狀態(tài)(打開或關閉)。電梯門打開和關閉過程中有相應的聲音提示及圖形顯示提示。在電梯上下行過程中,我們分別用LED上的數(shù)字1到A顯示當前樓層1層到10層,LED上的上行標志F和下行標志倒轉的F分別表示電梯當前上行,下行的狀態(tài)。若此時電梯停止,則此時對應的LED燈將無顯示。同時,LED上的1和0分別表示電梯的開門和關門狀態(tài),在每個樓層到達后,為了讓乘客進出,電梯將從關門到開門再到關門變化,模擬出來就LED對應的首位顯示從1變?yōu)?最后變?yōu)?。同時,電梯門打開和關閉時硬件版會發(fā)出相應的提示音,代表樓層到了,提示乘客注意。3.1.2 按鍵說明進入界面后,按Enter開始運行程序
10、。電梯使用LED燈顯示電梯的狀態(tài),即電梯開關門,上行下行狀態(tài)以及電梯所在樓層的狀態(tài)。將六位LED燈分為兩組,每三位為一組,共同顯示一臺電梯的運行情況。每一組將三個LED燈從左到右設為a,b,c,三位,a位表示電梯的開關門狀態(tài),用1表示電梯關門,用0表示電梯開門。b位用F表示電梯上下行狀態(tài),F(xiàn)正立表示電梯正在向下運行,F(xiàn)旋轉180,即F倒立,表示電梯正在向上運行。c位能夠顯示1到A,分別顯示從1樓到10樓的所在位置。另外一部電梯也是同樣的道理。在初始情況下,電梯A停在四樓,電梯B停在一樓,都是關閉狀態(tài)。在PC鍵盤上,用1到9分別表示在電梯外部上行的按鍵,從1樓到9樓(電梯為10層樓,所以10樓沒
11、有上行鍵),用Q到O(鍵盤上橫排數(shù)字鍵左下所對應的字母)分別表示從2樓到10樓的下行按鍵(1樓不需要下行按鍵)。在按鍵部分,用1到A分別表示電梯里面能按的樓層,使乘客選擇到幾樓,用F,E分別表示選擇電梯A還是電梯B(這兩個鍵只在兩臺電梯同時到達相同樓層并且同時開門時,供乘客選擇A或者B電梯時使用)。按下目標樓層后,同時要按下0鍵表示確認。功能明細表如下:按鍵功能按鍵功能數(shù)字鍵11樓上行字母鍵Q2 樓下行數(shù)字鍵22樓上行字母鍵 W3 樓下行數(shù)字鍵33樓上行字母鍵E4 樓下行數(shù)字鍵44樓上行字母鍵R5樓下行數(shù)字鍵55樓上行字母鍵 T6 樓下行數(shù)字鍵66樓上行字母鍵 Y7樓下行數(shù)字鍵77樓上行字母鍵
12、 U8 樓下行數(shù)字鍵88樓上行字母鍵I9 樓下行數(shù)字鍵99樓上行字母鍵 O10 樓下行表1 鍵盤按鍵功能對照表PC機鍵盤:全部表示電梯外的按鍵JK面板4*4小鍵盤:全部表示電梯內部按鍵:按鍵功能按鍵功能按鍵1到達1 樓按鍵8到達8 樓按鍵2到達2 樓按鍵9到達9 樓按鍵3到達3 樓按鍵A到達10 樓按鍵4到達4 樓按鍵0確認鍵按鍵5到達5 樓按鍵E選擇電梯A按鍵6到達6 樓按鍵F選擇電梯B按鍵7到達7 樓表2:4*4鍵盤功能對照表3.1.3 模擬演示電梯初始時A停在六樓,B停在1樓,此時假定乘客A要從2樓上8樓,按PC鍵盤上2鍵 較近的電梯(B)到達2樓電梯自動開門,乘客進入后一段時間自動關門
13、。按面板鍵盤上8鍵再按0鍵確認 電梯上8樓,后自動開門,乘客離開后,過一段時間自動關門。 若此時有乘客在五樓要下行:按PC鍵盤R鍵 電梯A,B距離5樓位置相同,同時到達5樓。按面板鍵盤F鍵 選擇電梯A。按面板鍵盤1鍵 電梯到1樓。 若此時在8樓有乘客分別要到3樓和1樓:按PC鍵盤U鍵 電梯B到8樓,開門,乘客進,關門。按面板鍵盤3和1鍵,再按0鍵確認 電梯先到3樓停下,開門,一段時間后關門,再到1樓。3.2 硬件連接 確定了基本功能軟件設計方案,我們通過查閱相關資料,綜合討論后設計出了硬件連接方案,下面是我們的硬件連接: A口(J4)位選口及鍵盤行控制信號(J8)(J8-1為第一行); B口(
14、J2)段選口(J7); C口(J3)鍵盤列控制信號(J9)(J9-1為第一行); 8254定時器0與定時器1的GATE門串聯(lián)后接開關;定時器0的OUT口與定時器1的CLK口連接;定時器1的OUT口接8255的PC7;定時器0的CLK口接脈沖源(J10)。硬件連接圖如下所示:圖1: 硬件電路圖3.3 優(yōu)化與拓展功能實現(xiàn) 實現(xiàn)了基本功能之后,我們開始討論設計電梯監(jiān)控系統(tǒng)的擴展功能。在本次設計中,我們實現(xiàn)了以下拓展功能:開機界面我們顯示“電梯監(jiān)控系統(tǒng)設計”,“制作成員:賴國強,李延,晏艮平,羅威”,“時間:2011年9月”,“歡迎乘坐本電梯,按ENTER進入演示”這幾行文字。當電梯里同時按下幾個目標
15、樓層時,我們通過硬件版上的小燈顯示已經按下了多少目標樓層,讓電梯內的乘客明確電梯將會在哪些樓層暫停。(用小燈的二進制方式表示)當電梯同時到達同一樓層的時候,乘客可以自由選擇乘坐自己喜歡的電梯。實現(xiàn)了人性化的設置。四、設計流程圖4.1 主程序流程圖圖2: 主程序流程圖4.2 子程序流程圖圖3:運行子程序流程圖 圖4: 4*4小鍵盤掃描子程序五、編程與調試在明確實現(xiàn)目的與方法后,我們畫出了流程圖,根據(jù)流程圖,我們編制出整個設計的主程序和子程序,并且通過組員的反復調試后,實現(xiàn)了提出的基本功能和拓展功能。六、心得體會賴國強20085417:兩周的計算機硬件課程設計終于要結束了,雖然我們小組做出來的方案
16、以及實施存在著很多不足和缺陷,但總算是實現(xiàn)了所要求的基本功能,所要完善的地方也只能再往后的時間里自己去摸索去改善,但是打從心里覺得這兩周真的受益匪淺。在課程設計剛開始階段,由于組內成員分工不明確,導致了前面階段的進展很慢,大家都按照自己的想法來弄,沒有統(tǒng)一意見,最后發(fā)現(xiàn)比其他課題小組的進度要慢很多,然后大家就坐下來好好的討論一下,最后得出比較可行的方案,接著大家就按照個人所長所專,分配好個人的具體任務,我所負責的是程序的主體流程邏輯以及實現(xiàn)細節(jié)。在剛開始畫流程圖的時候,我沒有按照任務書上面的基本要求來畫,就是按照自己的想法來設計兩部聯(lián)動的電梯,打算一次性把基本功能和擴展功能實現(xiàn)了,結果在思考兩
17、部電梯同時運動時候又有外部按鍵按下時,就難于繼續(xù)下去了,整個邏輯都混亂了,最后思前考后,還是決定先按照任務書把基本功能搞好了再慢慢擴展新的功能,這樣整個人的思路就相對清晰明了很多了,這個教會我做事情很難一蹴而就的,往往需要你腳踏實地,一步一個腳印的走過來。這樣大家分工明確之后,效率就高很多了,很快其他組員就把各自負責的程序部分弄出來了,這又讓我不得不感慨團隊的力量之大了,與人合作,如何與人合作,如何與人合作好,這些果斷還是很有必要在以后的學習工作生涯里都好好鍛煉的啊。而在我接下來的工作里就又出現(xiàn)問題了,我把他們的程序在我的主程序調用時候,程序總是在亂飛的,后面經過很長一段時間的努力,才終于把問
18、題解決了,最后我總結出來幾點原因:1,我們模塊化的思想還不夠,所編程序的獨立性不好;2,我們都沒有養(yǎng)成給程序加注釋的習慣;3,所用跳轉符號沒有很明確的意義,往往就是隨手寫的,其他人看很難讀懂程序。這些在我往后的編程學習里都要多加注意。最后也是最重要的一步,調試程序,就比較費時費力了,因為這個不僅僅要看程序邏輯,因為有時候但看程序很難看出其中的錯誤,需要用到單步調試,這個實在是太考一個人的耐心了,而且有時候程序不一定有錯,而且硬件出問題了,比如接線是斷的,或者按鍵是壞的不靈敏的,我剛開始的時候在抱怨學校為什么不換一些好一點的硬件,但是后來想想以后的工作我們不也是會遇到這樣的情況嗎,難道我們所遇到
19、的硬件機器會一直都是可靠無錯的嗎?現(xiàn)在早點遇到這種情況,學會如何去處理也對我們是一種鍛煉?。±钛?0085418:在這次短暫的兩個星期的學習與設計中,我和我的隊友們一起合作完成了電梯監(jiān)控系統(tǒng)設計的任務。電梯監(jiān)控系統(tǒng)這個任務的難點主要在于其設計過程中邏輯的復雜性。最開始我們考慮到把兩臺電梯的連動功能作為拓展功能加進去,但龐大的工作量和邏輯信息讓我們看不到任何希望,我們最終只好放棄了這一追求。在這次課程設計中,我負責的主要任務是和隊友們一起商量設計思路,同時負責鍵盤模塊的程序編制和程序的檢測。在我的任務執(zhí)行中,我遇到了以下的問題:一:作為單獨的模塊,鍵盤的掃描程序沒有任何問題,但是當子程序加入主程
20、序組合起來時,鍵盤的掃描不是很理想。由于讀鍵盤的程序插在顯示程序中間,所預留給按下鍵盤數(shù)字的時間有限,既不能太長也不能太短,應該剛好落在那個間隙中,否則按下的鍵就讀不進去。二:寫程序的時候過于毛躁,不夠仔細。出錯了之后老是不能沉下心來自己檢查出錯誤,總是覺得自己的設計思路有問題,后來拿給隊友檢查,往往是再最簡單的地方出了錯。因此我感覺到程序寫完了后查錯最好找別人幫忙改,這樣更容易發(fā)現(xiàn)程序中的Bug。三:由于硬件的問題,在JK鍵盤有鍵按下后,有可能會出現(xiàn)按鍵沒有掃描進入程序的狀況,針對這種情況,我們開發(fā)了拓展功能,即通過二極管小燈的二進制計數(shù)方式表示所按下的樓層層數(shù),這樣能讓我們及時發(fā)現(xiàn)按鍵的狀
21、況。四:應該還是很久沒有看過計算機硬件技術的知識了,很多比較基礎的東西都感覺到了生疏,在接到任務的最初幾天根本都無法下手,后來看了幾個例題才慢慢找回感覺。這說明以前學習的時候還是基礎沒有打牢,對于編程自己實際動手比較少。最后,我們明顯感到了時間的不足,有些想出來了的但比較復雜比較花費時間的拓展功能我們都沒有時間去實現(xiàn),這不得不說有些遺憾??傊?,在這次的課程設計中,我還是學習到了很多的東西的。首先,這是第一次合作做出一個比較貼近現(xiàn)實生活和實際的系統(tǒng),感覺自己能夠將所學的理論知識跟實際應用聯(lián)系到了一起,體會到了一些成就感。其次,深刻認識到了自己的動手能力以及創(chuàng)造能力的欠缺。很多的程序只能依照書上的
22、例題依樣畫葫蘆,書上沒有的例子就完全想不出自己的程序。而且往往有時候,自己照著書本例題改動了一部分卻始終調試不出來,自己也弄不清楚問題出在哪個地方。最后在我看來,雖然說匯編語言是機器語言,在執(zhí)行過程中速度遠遠比C等高級語言,但是其過于繁瑣的編寫過程比較耗費體力,對于實現(xiàn)大規(guī)模的項目效率明顯不高。相反,C等語言就比較簡潔,實現(xiàn)功能起來也更加的簡潔。晏艮平20085420:本次課程設計的課題是電梯監(jiān)控系統(tǒng)的模擬設計,在當初選擇課題時我們很快就選定了這一課題,因為它給我們的第一感覺就是用硬件板實現(xiàn)起來比較直觀方便;但是當我們真正進行課題的分析設計時卻不如我們預期的那樣。首先我們要設計的是2臺電梯的聯(lián)
23、動問題,盡管我在網上花了大量的時間查找資料,可惜查到的基本都是單獨的一臺電梯的問題,幾乎沒有任何的參考價值,因此我們的一切過程都得從零開始一步一步的分析設計。為了對我們所設計的模型有一個客觀的認識,我還特地找了一個現(xiàn)實中的2太電梯聯(lián)動的例子進行考察。由于時間較短我們只完成了一些基本要求,且不太完善,需要進一步的改進。此次設計我所負責的雖然只是前面顯示的一小部分,這也算是我們附加功能的一部分吧,這部分看似簡單,不過他所用到的知識都是在我們之前的課程及實驗過程中都沒有涉及的一部分,其中漢字顯示部分只牽涉到文字及其背景顏色的選擇,還有就是文字在屏幕上顯示的位置的調整和設置。這些都可以從書本上找到現(xiàn)成
24、的程序然后稍作修改就可以實現(xiàn)。然而當我們打算進一步美化,通過在屏幕上顯示一個電梯開關門的動畫時就遇到困難,我首先考慮的是在圖形中線2邊分別顯示一個逐漸變小的矩形,但是實現(xiàn)起來比較麻煩,然后后考慮在圖形中級繪制一個向2邊逐漸擴展的矩形,可是在實現(xiàn)的時候顯示單個矩形還比較容易,可要讓他運動起來形成開關門的動畫就沒有那么容易了,經過多次努力我仍然沒能實現(xiàn)還需要進一步的思考和改進。本次設計讓我知道了團隊合作的重要性,很多時候自己編程的時候找了很久都沒能找到錯誤的原因,大多數(shù)情況下只要與隊員商量探討一下便能豁然開朗,找到錯誤的所在。這次試驗還讓我了解到我對硬件技術這門課程知識的掌握程度還差得很多,也讓我
25、了解到硬件知識在我們生活的各個方面都能得到很好的應用。因此,我們應該加強對其知識的學習和鞏固。羅威20085398:通過這兩周的課程設計,自己又重新將計算機硬件基礎的知識溫習了一遍,對計算機硬件基礎有了新的收獲。在設計過程中雖然遇到了一些問題,但經過一次又一次的思考和檢查,終于找出了原因所在,也暴露出了前期我在這方面的知識欠缺和經驗不足。在本次的課程設計中,我主要的任務是使用LED等顯示電梯的狀態(tài),即電梯開關門,上行下行狀態(tài),電梯所在樓層的狀態(tài)。大致的思路是:將LED燈分為兩組,每三位為一組,共同顯示一臺電梯的運行情況。每一組將三個LED燈從左到右設為a,b,c,三位,a位表示電梯的開關門狀態(tài)
26、,用1表示電梯關門,用0表示電梯開門。b位用F表示電梯上下行狀態(tài),F(xiàn)正立表示電梯正在向下運行,F(xiàn)旋轉180,即F倒立,表示電梯正向上運行。c位能夠顯示從1到A,分別顯示從1樓到10樓的所在位置。另外一部電梯也是同樣的道理。在初始情況下,電梯A停在四樓,電梯B停在一樓,都是關閉狀態(tài)。在整個編程過程中,最常見的問題就是經常把程序寫錯,例如把IN寫成INT,DX打成DZ,想想其原因,一是自己對鍵盤輸入?yún)R編語言已經不太熟悉,第二是在寫程序的過程中自己太粗心大意。LED程序在實驗書上曾經做過類似的程序,現(xiàn)在也有參考程序,所以說將書上的程序進行修改便基本可以使用,例如F的字碼是8EH,而倒立的F字碼是87
27、H,這些比較特殊的要加入進去。同時自己也在網上搜尋了一些資料,發(fā)現(xiàn)小小的電梯要求自動化程度很高的,要做出實際中能夠使用的電梯程序,難度是相當大的。這么課程對我來說算是比較難的,在我遇到困難時,小組的隊友幫助我解決困難,使我得到更大的收獲,讓我非常開心,同時也非常感謝他們,對于課程設計,我覺得是非常重要的。首先,課程設計是對我們所學課程的一個非常好的檢驗,看看我們學的知識是否能活學活用,同時也是是一次將理論同實際相結合的大好機會,能讓我們有自己動手的機會,使我們所學的知識能付諸于實踐,使我們所學的知識再也不是紙上談兵同時,小組成員間的各取所長,互相幫助提高了我們的團隊意識和合作能力,這對以后工作
28、是很重要的。我明白了做任何事都要認真鉆研,動腦思考,這次課程設計我也收獲頗豐。七、程序清單.486DATA SEGMENTDT1 DB 3;電梯1當前所在樓層DT2 DB 8;電梯2當前所在樓層CS1 DB 10HCS2 DB 10HCSC1 DB 0;電梯1與按鍵所在樓層差CSC2 DB 0;電梯2與按鍵所在樓層差ZT1 DB 0FFH;電梯1上下行狀態(tài)(初始為停止)ZT2 DB 0FFH;電梯2上下行狀態(tài)(初始為停止)MZT1 DB 0F9H;電梯1門開關狀態(tài)(初始為關門)MZT2 DB 0F9H;電梯2門開關狀態(tài)(初始為關門)DTZT DB ?;電梯狀態(tài)(主要判斷按鍵上行還是下行)NBD
29、T DB ?;兩部電梯同時開門,所選進入電梯SHUMU DB ?;有多少按鍵按下CISHU DW ?;記錄存儲器BAOCUN DB ?BAOCUN1 DB 10HBAOCUN2 DW ?BAOCUN3 DB ?SCZT1 DB ?SCZT2 DB ?BIAOZHI DB 0;輔助判斷標志BIAOZHI1 DB 0F DW 523,523,523,523,523,523,523,523,0T DW 7 DUP(50),100NUM DB 10 DUP(?)KEYTAB DB 0E7H,0D7H,0B7H,077H,0EBH,0DBH DB 0BBH,07BH,0EDH,0DDH,0BDH,07D
30、H DB 0EEH,0DEH,0BEH,07EHKEYTAB1 DB 31H,32H,33H,34H,35H DB 36H,37H,38H,39H,51H DB 57H,45H,52H,54H,59H DB 55H,49H,4FHKEYTAB2 DB 87H,87H,87H,87H,87H DB 87H,87H,87H,87H,8EH DB 8EH,8EH,8EH,8EH,8EH DB 8EH,8EH,8EHKEYTAB3 DB 1H,2H,3H,4H,5H DB 6H,7H,8H,9H,2H DB 3H,4H,5H,6H,7H DB 8H,9H,0AHMESS DB 0C0H,0F9H,0A
31、4H,0B0H,99H,92H,82H,0F8H DB 80H,90H,88HSTRING1 DB 電梯監(jiān)控系統(tǒng)設計 ;初始界面顯示STRING2 DB 制作成員:賴國強,李延,晏艮平,羅威STRING3 DB 時間:年月STRING4 DB 歡迎乘坐本電梯,按ENTER進入演示STRING5 DB ? DATA ENDSCODE SEGMENTMAIN PROC FARASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AL,3 ;初始界面選擇25*80字符顯示模式 MOV AH,0 INT 10H MOV BP,SEG STRING1 M
32、OV ES,BP ;字符串存放位置段基址送ES MOV BP,OFFSET STRING1 MOV CX,STRING2-STRING1 ;字符串長度送CX MOV DX,041DH MOV BL,14H MOV AL,1 MOV AH,13H INT 10H ;STRING1顯示 MOV BP,OFFSET STRING2 MOV CX,STRING3-STRING2 MOV DX,0915H MOV BL,14H MOV AL,1 MOV AH,13H INT 10H ;STRING2顯示 MOV BP,OFFSET STRING3 MOV CX,STRING4-STRING3 MOV D
33、X,0C1CH MOV BL,14H MOV AL,1 MOV AH,13H INT 10H ;STRING3顯示 MOV BP,OFFSET STRING4 MOV CX,STRING5-STRING4 MOV DX,1218H MOV BL,0A8H MOV AL,1 MOV AH,13H INT 10H ;STRING4顯示 PUSH AXXH: MOV AH,1 INT 21H CMP AL,0DH JE START11 ;判斷開始 JMP XH START11:POP AXMOV DX,20BH;8255初始化MOV AL,81HOUT DX,ALMOV DX,209H;關閉LED顯
34、示MOV AL,0FFHOUT DX,ALL1:CALL XIANSHI;調用LED顯示子程序CMP BIAOZHI1,0AHJE L1L1JMP L2L2L1L1: CALL HUIZUIJIAL2L2:MOV AL,CS2CMP AL,CS1JE L1;是否有人按電梯MOV AL,CS2 CMP AL,DT1;有人按鍵所在樓層與電梯所在樓層比較JA L2JB L3JE L4L2: MOV AL,CS2SUB AL,DT1MOV CSC1,ALMOV AL,CS2CMP AL,DT2JA K1JB K2JE K3;-K1: MOV AL,CS2;按鍵所在樓層在兩部電梯上面SUB AL,DT2
35、MOV CSC2,ALMOV AL,CSC1CMP AL,CSC2;判斷那部電梯樓層差小,小的運行JA J1JB J2JE J3J1: INC DT2MOV ZT2,87HCALL XIANSHI MOV AL,CS2 CMP AL,DT2JNE J1JMP OUT2J2: INC DT1MOV ZT1,87HCALL XIANSHI MOV AL,CS2 CMP AL,DT1JNE J2JMP OUT1J3: INC DT1INC DT2MOV ZT1,87HMOV ZT2,87HCALL XIANSHI MOV AL,CS2 CMP AL,DT1JNE J3JMP OUT3;-K2: MO
36、V AL,DT2;按鍵樓層在電梯1上面,在電梯2下面SUB AL,CS2MOV CSC2,ALMOV AL,CSC1CMP AL,CSC2;判斷那部電梯樓層差小,小的運行JA H1JB H2JE H3H1: DEC DT2MOV ZT2,8EHCALL XIANSHI MOV AL,CS2 CMP AL,DT2JNE H1JMP OUT2H2: INC DT1MOV ZT1,87H CALL XIANSHI MOV AL,CS2 CMP AL,DT1JNE H2JMP OUT1H3: INC DT1DEC DT2MOV ZT1,87HMOV ZT2,8EHCALL XIANSHI MOV AL
37、,CS2 CMP AL,DT1 JNE H3JMP OUT3;-K3: JMP OUT2;按鍵樓層在電梯1上面,就在電梯2所在樓層;-L3: MOV AL,DT1SUB AL,CS2MOV CSC1,AL MOV AL,CS2 CMP AL,DT2 JA G1JB G2JE G3 G1: MOV AL,CS2;按鍵樓層在電梯1下面,在電梯2上面SUB AL,DT2MOV CSC2,ALMOV AL,CSC1CMP AL,CSC2;判斷哪部電梯樓層差小,小的運行JA F1JB F2JE F3F1: INC DT2MOV ZT2,87HCALL XIANSHI MOV AL,CS2 CMP AL,
38、DT2JNE F1JMP OUT2F2: DEC DT1MOV ZT1,8EHCALL XIANSHI MOV AL,CS2 CMP AL,DT1 JNE F2JMP OUT1F3: DEC DT1INC DT2MOV ZT1,8EHMOV ZT2,87HCALL XIANSHI MOV AL,CS2 CMP AL,DT1JNE F3JMP OUT3;-G2: MOV AL,DT2;按鍵樓層在電梯1下面,在電梯2下面SUB AL,CS2MOV CSC2,ALMOV AL,CSC1CMP AL,CSC2;判斷哪部電梯樓層差小,小的運行JA D1JB D2JE D3D1: DEC DT2MOV Z
39、T2,8EHCALL XIANSHI MOV AL,CS2 CMP AL,DT2 JNE D1JMP OUT2D2: DEC DT1MOV ZT1,8EHCALL XIANSHI MOV AL,CS2 CMP AL,DT1JNE D2JMP OUT1D3: DEC DT1DEC DT2MOV ZT1,8EHMOV ZT2,8EHCALL XIANSHI MOV AL,CS2 CMP AL,DT1;-G3: JMP OUT2;按鍵樓層在電梯1下面,就在電梯2所在樓層;-L4: MOV AL,CS2;按鍵樓層在電梯1所在樓層 CMP AL,DT2JNE OUT1;電梯2不在同一樓層JMP OUT3
40、;電梯2在同一樓層;-OUT1: MOV ZT1,0FFH;電梯1運行MOV NBDT,1CALL XIANSHIMOV MZT1,0C0H;開門CALL XIANSHIMOV MZT1,0F9H;關門MOV CS2,10HCALL SHAOMIAO2MOV AL,CS2CMP AL,CS1JNE L1MOV AL,SHUMUROL AL,4MOV DX,20AHOUT DX,ALMOV AL,DTZTMOV ZT1,ALCALL YUNXINGMOV AL,0FFHMOV DX,20AHOUT DX,ALMOV CS2,10HMOV BIAOZHI1,0JMP L1OUT2: MOV ZT2
41、,0FFH;電梯2運行MOV NBDT,2CALL XIANSHIMOV MZT2,0C0H;開門CALL XIANSHIMOV MZT2,0F9H;關門MOV CS2,10HCALL SHAOMIAO2MOV AL,CS2CMP AL,CS1JNE L1MOV AL,SHUMUROL AL,4MOV DX,20AHOUT DX,ALMOV AL,DTZTMOV ZT2,ALCALL YUNXINGMOV AL,0FFHMOV DX,20AHOUT DX,ALMOV CS2,10HMOV BIAOZHI1,0JMP L1OUT3: MOV ZT1,0FFH;兩部電梯同時到達(特殊情況),要選擇
42、進入哪部電梯MOV ZT2,0FFHCALL XIANSHIMOV MZT1,0C0H;兩部開門MOV MZT2,0C0HCALL XIANSHIMOV MZT1,0F9H;兩部關門MOV MZT2,0F9HMOV CS2,10HCALL SHAOMIAO1CALL SHAOMIAO2MOV AL,CS2CMP AL,CS1JNE L1MOV AL,SHUMUROL AL,4MOV DX,20AHOUT DX,ALMOV AL,NBDTCMP AL,1JNE FZMOV AL,DTZTMOV ZT1,ALJMP FZ1FZ:MOV AL,DTZTMOV ZT2,ALFZ1:CALL YUNXI
43、NGMOV AL,0FFHMOV DX,20AHOUT DX,ALMOV CS2,10HMOV BIAOZHI1,0JMP L1MAIN ENDP;-延時子程序-DELAY PROC NEARMOV CX,0F000HDELAY_AGN:NOPNOP LOOPD DELAY_AGNRETDELAY ENDP;-運行子程序-YUNXING PROC NEARMOV AL,NBDTCMP AL,1JNE DIANTI2MOV AL,ZT1MOV BAOCUN,ALCMP AL,87HJNE KZ1 MOV AL,SHUMU;選擇了電梯1,上行 MOV CL,ALGG1:MOV DI,0MOV AL
44、,BAOCUN MOV ZT1,ALMOV DH,1INC DT1CALL XIANSHIMOV AL,DT1CMP AL,NUMDIJNE HH1FF1:MOV ZT1,0FFHMOV MZT1,0C0HCALL XIANSHIMOV MZT1,0F9HCALL XIANSHILOOP GG1JMP OUT5HH1: INC DIINC DHCMP AL,NUMDIJE FF1CMP DH,DLJE GG1JMP HH1OUT5:JMP OOUT6;-KZ1: MOV AL,SHUMU;選擇了電梯1,下行 MOV CL,ALGZ1:MOV DI,0MOV AL,BAOCUN MOV ZT1,
45、ALMOV DH,1DEC DT1CALL XIANSHIMOV AL,DT1CMP AL,NUMDIJNE HZ1FZ12:MOV ZT1,0FFHMOV MZT1,0C0HCALL XIANSHIMOV MZT1,0F9HCALL XIANSHILOOP GZ1JMP OUTZ5HZ1: INC DIINC DHCMP AL,NUMDIJE FZ12CMP DH,DLJE GZ1JMP HZ1OUTZ5:JMP OOUT6;-DIANTI2:MOV AL,ZT2MOV BAOCUN,ALCMP AL,87HJNE KKZ1 MOV AL,SHUMU;選擇了電梯2,上行 MOV CL,ALGGG1:MOV DI,0MOV AL,BAOCUNMOV ZT2,ALMOV DH,1INC DT2CALL XIANSHIMOV AL,DT2CMP AL,NUMDIJNE HHH1FFF1: MOV ZT2,0FFHMO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 資料員考試試題(附答案)
- 手衛(wèi)生的考試試題和答案
- 2025年中學教師資格考試《綜合素質》教育理念辨析高頻考點試題(含答案)
- 海洋牧場生態(tài)修復效果評估-洞察及研究
- 混合云備份方案與隱私保護技術的結合研究-洞察及研究
- 酒類生產過程中的碳足跡評估與綠色化改進研究-洞察及研究
- 量子算法應用場景-洞察及研究
- 高性能混凝土應用-洞察及研究
- 高效節(jié)能干燥裝備-洞察及研究
- 2026年語言教育培訓老師招聘題庫
- 種植業(yè)合作社賬務處理
- 【麗江玉龍旅游薪酬制度的創(chuàng)新研究6100字】
- 公司兩權分離管理制度
- 車輛叉車日常檢查記錄表
- 廣東高校畢業(yè)生“三支一扶”計劃招募考試真題2024
- 膠帶機硫化工藝.課件
- 種雞免疫工作總結
- 河南省商丘市柘城縣2024-2025學年八年級上學期期末數(shù)學試題(含答案)
- 河南省信陽市2024-2025學年高二上學期1月期末英語試題(含答案無聽力原文及音頻)
- 給女朋友申請書
- 八下《桃花源記》《小石潭記》全文背誦(原文+譯文)
評論
0/150
提交評論