版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 電梯監(jiān)控系統(tǒng)設(shè)計</b></p><p> ?。ㄓ嬎銠C硬件技術(shù)基礎(chǔ)課程設(shè)計)</p><p><b> 目錄</b></p><p> 1 設(shè)計內(nèi)容及要求1</p><p> 1.1設(shè)計的主要內(nèi)容1</p><p> 1.2 設(shè)計報告
2、要求1</p><p> 2 設(shè)計方案的確定與實施2</p><p> 2.1 基本設(shè)計目標實現(xiàn)2</p><p> 2.1.1 基本設(shè)計目標及實現(xiàn)方案2</p><p> 2.1.2 按鍵說明2</p><p> 2.2 硬件電路設(shè)計3</p><p> 2.3 軟件程
3、序設(shè)計6</p><p> 2.3.1 主程序流程圖7</p><p> 2.3.2 按鍵掃描子程序流程圖9</p><p> 2.3.3 LED顯示子程序流程圖10</p><p> 2.3.4 開門檢測子程序流程圖12</p><p> 2.3.5 電梯運行子程13</p>&l
4、t;p> 3 系統(tǒng)軟件測試14</p><p> 3.1 程序基本功能測試14</p><p> 3.1.1 一個鍵14</p><p> 3.1.2 兩個鍵14</p><p> 3.1.3 多個鍵14</p><p> 3.2 拓展功能測試15</p><p>
5、 3.2.1 蜂鳴器15</p><p> 3.2.2 門開關(guān)狀態(tài)的動靜態(tài)顯示15</p><p><b> 4 實驗總結(jié)16</b></p><p> 4.1小組總結(jié)16</p><p> 4.2 個人總結(jié)16</p><p><b> 附錄21</b&g
6、t;</p><p><b> 人員及任務(wù)分配</b></p><p><b> 1 設(shè)計內(nèi)容及要求</b></p><p> 1.1設(shè)計的主要內(nèi)容</p><p> 設(shè)計一臺電梯的監(jiān)控系統(tǒng),用計算機硬件實驗系統(tǒng)完成電梯系統(tǒng)的基本功能,該部分占80分;并在此基礎(chǔ)上自行完善和優(yōu)化系統(tǒng)功能,該部
7、分占20分(若有雷同者,該部分不得分)。基本功能具體要求如下:</p><p> 共有6層,一樓有上行鍵,其他樓層有上行鍵和下行鍵,用4*3小鍵盤模擬各個樓層的上下行按鍵。</p><p> 電梯內(nèi)有開門鍵,關(guān)門鍵和6個樓層按鍵,用開關(guān)模擬電梯內(nèi)按鍵。</p><p> 用三色LED顯示電梯所在樓層和電梯門的狀態(tài)。電梯上行時用紅色顯示樓層,下行時用綠色顯示,靜
8、止時用黃色顯示。電梯門分為開門和關(guān)門兩種狀態(tài)。</p><p> 上行和下行過程中,優(yōu)先響應(yīng)行進方向上的樓層。若沒有按下樓層,就停在當前樓層。</p><p> 每次停頓時自動開門,5秒鐘后自動關(guān)門。若按下電梯內(nèi)的關(guān)門鍵,直接關(guān)門。若按下電梯內(nèi)的開門鍵,或該樓層的上行下行鍵時,電梯門一直打開,直到松開按鍵。</p><p> 1.2 設(shè)計報告要求</p&
9、gt;<p> 明確每位組員的詳細分工。</p><p> 在上述設(shè)計的主要內(nèi)容基礎(chǔ)上,本組討論整理出系統(tǒng)的詳細操作說明。</p><p> 詳細描述自行完善和優(yōu)化的系統(tǒng)功能及設(shè)計方案。</p><p> 給出系統(tǒng)的設(shè)計思路和意見,軟件設(shè)計方案。</p><p> 畫個各個軟件模塊的程序流程圖,說明硬件連接。</
10、p><p> 列出加上必要注釋的程序清單。</p><p> 每位組員根據(jù)自己承擔的設(shè)計內(nèi)容和設(shè)計過程,寫出心得體會(不少于800字)。</p><p> 所有組員在任務(wù)書上簽名,將任務(wù)書裝訂在報告首頁。</p><p> 2 設(shè)計方案的確定與實施</p><p> 2.1 基本設(shè)計目標實現(xiàn)</p>
11、<p> 根據(jù)課程設(shè)計任務(wù)書所提出的要求,我們小組通過討論和分析后首先確定出此次電梯監(jiān)控系統(tǒng)設(shè)計中我們需要完成的幾個基本功能以及操作方案:</p><p> 2.1.1 基本設(shè)計目標及實現(xiàn)方案</p><p> 一樓有上行鍵,其他樓層有上行鍵和下行鍵,用4*3小鍵盤模擬出各個按鍵,如果有按鍵按下,說明外部有人乘坐電梯。</p><p> 初始化后
12、電梯停在一樓門關(guān)著,此時一直在進行著按鍵掃描程序,當掃描到外部有人按下按鍵之后,掃描子程序?qū)褣呙璧降臄?shù)據(jù)存儲到預留空間,其中空間分為了上行按鍵存儲空間和下行按鍵存儲空間,那么就將掃描到的數(shù)據(jù)分類存儲。此時主程序?qū)斍皹菍优c存儲空間中的目標樓層做減法運算,計算出運行方向和樓層次數(shù),然后調(diào)用運行子程序,用延時程序來模擬電梯在行進中所需的時間,當每到達一個樓層的時候,將要調(diào)用按鍵掃描,門內(nèi)開關(guān)掃描,和顯示樓層,如果這樓是目標樓層,則需進行
13、開門的操作。當打開門之后,要進行一個判斷,是否有人立即按下關(guān)門鍵,如果有按下則立即關(guān)門,如果沒有則調(diào)用延時5秒子程序后關(guān)門,如果有人按著開門鍵則保持門開狀態(tài),直到松開后,再進行有無按關(guān)門鍵的判斷!</p><p> 在上行或者下行過程中,電梯只響應(yīng)同方向上的樓層,在讀取存儲空間中的目標樓層時也選用同向讀取,循環(huán)讀取的方法。而且每到一層之后將會更新存儲空間中的數(shù)據(jù),從而來確定新的目標樓層。</p>
14、<p> 要求用LED來顯示電梯的的狀態(tài),運行方向和當前所在樓層,以及門的開關(guān)狀態(tài),其中我們用紅色的u來表示電梯上行,綠色的d來表示電梯下行,黃色的h表示電梯處于停止狀態(tài)。而門我們則選用了!--!和-!!-的圖標來表示門的開和關(guān)狀態(tài)。</p><p> 2.1.2 按鍵說明</p><p> 電梯外部按鍵是一樓的上行按鍵,二樓到五樓的上行和下行按鍵以及六樓的下行按鍵一共10
15、個,還有一個復位按鍵和一個報警按鍵,總共12個用4*3小鍵盤來模擬,其具體按鍵對應(yīng)表如下:</p><p> 電梯內(nèi)部由8個開關(guān)構(gòu)成,來模擬電梯內(nèi)部的開關(guān)門鍵和1到6樓層,開關(guān)按下再手動撥起來算一次按下過程,具體對應(yīng)于:</p><p> 2.2 硬件電路設(shè)計</p><p> 運用到的硬件模塊主要有一下模塊:</p><p> 82
16、54主要用作定時功能,在本實驗中,用作5秒延時的實現(xiàn)模塊:</p><p> 圖1:8254原理圖</p><p> 8259在本程序中起到中斷的作用:</p><p> 圖2:8259原理圖</p><p> 8255在實驗中起到輸入輸出的作用,讀入4*3按鍵和按鍵開關(guān)的狀態(tài)讀入:</p><p> 圖3:
17、8255原理圖</p><p> K1--K8分別接PA0—PA7,4*3小鍵盤Q0--Q2接PB0--PB2,P0--P3接PC0--PC3,PB7與8254OUT2相連,PC7接出與蜂鳴器相連,8259中,INQ0接 K8, INT1接INTR, SP/1接 +5V, 8259的 CS-1接 CS2。</p><p> 硬件電路圖的連線如下所示:</p><p&
18、gt;<b> 圖4:硬件連接圖</b></p><p> 2.3 軟件程序設(shè)計</p><p> 2.3.1 主程序流程圖</p><p><b> 圖5:主程序流程圖</b></p><p> 主程序運行之后,就開始調(diào)用初始化程序,將8254,8255和8259都初始化,也將門狀態(tài)和上
19、升下降標志初始,然后調(diào)用led顯示程序,顯示出當前樓層和門狀態(tài),然后調(diào)用鍵盤掃描程序和開關(guān)掃描程序,檢測出是否有人按下,將掃描到的程序分別存在上行空間,下行空間和樓層空間,然后做出判斷,當有人按下的時候就將數(shù)據(jù)存在運行數(shù)據(jù)段中,然后依次調(diào)用與當前樓層做比較,然后運行電梯。在行進過程中,層間運行調(diào)用軟件延時,在延時中加入掃面按鍵和掃描開關(guān)的子程序,然后實時的更新的存儲空間。每到一樓的時候就與目標樓層做比較,如果是目標樓層那么就停止下來,調(diào)
20、用子程序,執(zhí)行停止開門顯示程序,然后對開關(guān)門建是否按下做出判斷,然后按行進方向檢測存儲空間判斷下一次運行是否繼續(xù)按上一次的方向,如果有則繼續(xù)行進,如果沒有則掃描下行樓層空間,當里面有數(shù)據(jù)的時候則下行,沒有則繼續(xù)執(zhí)行掃描程序,直到有按下為止。</p><p> 2.3.2 按鍵掃描子程序流程圖</p><p> 圖6:鍵盤掃描流程圖</p><p> 4*3按鍵
21、掃描功能實現(xiàn)過程:</p><p> 開始時關(guān)閉所有LED,然后使行線為0,讀取行線狀態(tài),然后檢查有無按鍵按下:若無,返回到開始時的關(guān)閉所有LED;所有按鍵按下,那么找到鍵代號,然后判斷按鍵是否為01H至0AH,若是,先將該鍵號加入存儲區(qū)然后返回到開始時關(guān)閉所有LED;如不是,那么判斷鍵代號是否為0,若不是,則返回到開始時,若是,則子程序結(jié)束。</p><p> 2.3.3 LED顯示
22、子程序流程圖 </p><p> 圖7:LED顯示流程圖</p><p> LED顯示功能(同時附加蜂鳴器響應(yīng)及報警功能)實現(xiàn)過程:</p><p> 開始時初始化8255,根據(jù)上下行標志選擇上下行顯示,然后取當前樓層,在代碼表中查表顯示運行狀態(tài)和當前樓層,然后檢測電梯是否停止,若未停止,則返回主程序;若停止,則根據(jù)開關(guān)門標志顯示動態(tài)開
23、關(guān)門狀態(tài)及樓層,同時伴隨蜂鳴器發(fā)聲。</p><p> 2.3.4 開門檢測子程序流程圖</p><p> 圖8:開門檢測流程圖</p><p><b> 開門檢測實現(xiàn)過程:</b></p><p> 開始時檢測開門鍵是否按下,若未按下,則直接關(guān)門;若按下開門鍵,則調(diào)用顯示程序,然后檢測開門鍵是否松開,若未松開,
24、則繼續(xù)調(diào)用顯示程序顯示開門狀態(tài);若松開,則關(guān)門,然后返回到主程序。</p><p> 2.3.5 電梯運行子程</p><p> 圖:9:電梯運行流程圖</p><p> 電梯運行過程是在調(diào)用掃描程序的存儲空間里面的數(shù)據(jù),在初始化時,檢測按鍵有1樓上按下則開門,然后檢測開關(guān)存儲空間,如果是其他樓層按下則會將門打開電梯進入上行狀態(tài),電梯向著目標樓層靠近,層間運行
25、調(diào)用軟件延時程序,延時程序中嵌套按鍵掃描和開關(guān)掃描,以至于可以實時更新存儲空間的數(shù)據(jù),每到一樓的時候就與目標樓層做比較,如果是目標樓層那么就停止下來,調(diào)用子程序,執(zhí)行停止開門顯示程序,然后對開關(guān)門建是否按下做出判斷,然后按行進方向檢測存儲空間判斷下一次運行是否繼續(xù)按上一次的方向,如果有則繼續(xù)行進,如果沒有則掃描下行樓層空間,當里面有數(shù)據(jù)的時候則下行,沒有則繼續(xù)執(zhí)行掃描程序,直到有按下為止,期間根據(jù)門的狀態(tài)調(diào)用顯示程序。 </p&g
26、t;<p><b> 3 系統(tǒng)軟件測試</b></p><p> 3.1 程序基本功能測試</p><p><b> 3.1.1 一個鍵</b></p><p> 初始時候電梯停在一樓,此時按下2樓上行鍵,則電梯向上運行到2樓,門開,沒有其他鍵按下,延時5秒后門關(guān)閉。此功能已經(jīng)實現(xiàn)。</p>
27、;<p><b> 3.1.2 兩個鍵</b></p><p><b> ?。?) 兩個按鍵</b></p><p> 此時電梯停止到了2樓,此時有人按下了1樓的上行鍵和5樓的下行鍵,此時程序按照按下的先后順序響應(yīng),先下降到了1樓,門打開,5秒后關(guān)門,然后再上行到了5樓后門打開,停留了5秒后,門關(guān)閉。此功能已經(jīng)實現(xiàn)。</p
28、><p> ?。?) 一個按鍵和一個開關(guān)</p><p> 此時電梯停止在5樓,這時按鍵有人按下2樓,則電梯向下運行到2樓,然后開門,5秒后門關(guān)閉,乘客進入電梯后按下開關(guān)K3則電梯向上運行到4樓停止,門打開,5秒后門關(guān)閉。此功能以實現(xiàn)。</p><p><b> 3.1.3 多個鍵</b></p><p> ?。?) 一
29、個按鍵和兩個開關(guān)</p><p> 當前電梯停止在5樓,然后六樓有人按向下鍵,電梯上行到6樓停止后門打開,5秒后門關(guān)閉,此時乘客分別按了開關(guān)K2和K3則電梯向下運行到4樓后停止門打開,5秒后關(guān)閉,然后繼續(xù)運行到3樓后停止,門打開,5秒后關(guān)閉。此功能已經(jīng)實現(xiàn)。</p><p> (2) 兩個按鍵和兩個開關(guān)</p><p> 當前電梯在3樓,此時有人按下了按鍵的3
30、樓上和4樓上,此時門打開,5秒后門關(guān)閉,該乘客進入后按了K5,然后運行到4樓時,門打開,發(fā)現(xiàn)外面已經(jīng)沒有乘客了,就立即按了關(guān)門開關(guān),則電梯門直接關(guān)閉,繼續(xù)運行到了6了后停止,門打開,5秒后門關(guān)閉。此功能已經(jīng)實現(xiàn)。</p><p> 3.2 拓展功能測試</p><p><b> 3.2.1 蜂鳴器</b></p><p> 當電梯每停止一
31、次時,伴隨著門的開關(guān),蜂鳴器將會發(fā)出相應(yīng)的聲音,來提示乘客到了目的地,這樣能夠極大的方便乘客,起到提示的作用。在本程序中我們做了門開關(guān)調(diào)用的蜂鳴器發(fā)生程序,也做了當電梯出現(xiàn)故障,乘客報警時發(fā)出的急促的報警蜂鳴聲,這樣極大的保障了運行的安全性。此功能在測試過程中已經(jīng)完全的實現(xiàn)。</p><p> 3.2.2 門開關(guān)狀態(tài)的動靜態(tài)顯示</p><p> 在門的開關(guān)過程中,我們用3色LED燈的
32、顯示,來模擬一個門的開關(guān)過程,我們主要運用到了這樣的圖標:--?。?-(關(guān)門)和!----!(開門)并且在門的開關(guān)閉運動過程中,這個圖標會呈現(xiàn)一個亮滅的變換,以此來模擬門的動態(tài)過程,這個功能在測試的過程中也已經(jīng)完全的實現(xiàn)。</p><p><b> 4 總結(jié)</b></p><p><b> 4.1小組總結(jié)</b></p>&l
33、t;p> 選擇是人生中面對的最大的難題,在課程設(shè)計中我們不僅要選擇合適的隊友也要選擇合適的課題。在這次的課程設(shè)計的選題中,我們小組選到了電梯監(jiān)控系統(tǒng),在聽老師給我們講解每個課題的時候我們就感覺到了這個課題的難度,但是我們也是很相信我們自己隊友的實力的,因此我們還是興致勃勃的按照題目的要求進行了討論。</p><p> 在討論的過程中我們發(fā)現(xiàn)整個程序的思路和延伸方向我們都很拿捏不準,在經(jīng)過了大家的大膽假設(shè)
34、和數(shù)學建模之后,思路逐漸的清晰起來,在確定了主程序的走向之后我們寫出了主程序流程圖,按照流程圖的需要,我們也相應(yīng)的確定了要完成課題的要求需要用到的哪些子功能模塊,然后再依據(jù)每個隊員的長項來選擇自己所做的模塊,這樣就能更快更好的完成設(shè)計。</p><p> 在各自寫子功能模塊的時候大家也遇到了很多的困難,在自己思考無果的情況下,我們就一個組的坐在一起,一起討論一起出主意,按照這樣的方法,我們解決了一個又一個的難題
35、。當程序都寫好之后,調(diào)試過程成了這次試驗的最難點,這個是對基礎(chǔ)知識扎實與否以及對耐心的考驗,在調(diào)試過程中大家有過找不出問題時的失落,也有因為找到一個問題而開懷大笑??傊谡麄€設(shè)計過程中,大家將以前學習的硬件知識再復習了一遍,更多的是學會了怎么進行團隊的合作完成工作,也學會了為人處世,因此,這次的課程設(shè)計給即將畢業(yè)走上社會的我們提供了一次很好的職前培訓機會,也讓我們成長,更好的適應(yīng)社會!</p><p><
36、b> 4.2 個人總結(jié)</b></p><p> 張利娟20095193:</p><p> 計算機硬件技術(shù)基礎(chǔ)是我們自動化主要的專業(yè)課之一,在大三時我們就上過這門課。當時接觸了一些硬件的基礎(chǔ)知識,還通過課程實驗編程過一些小型的程序。由于每次都能通過編程得到相應(yīng)的實驗結(jié)果,就逐漸對硬件產(chǎn)生了興趣。 </p><p> 這次計算機硬件課程設(shè)計
37、我們歷時兩個星期,雖然我們比沒有將實驗課題很好的完成,但經(jīng)過這兩個星期的實踐和體驗下來,我還是學到很多有關(guān)硬件編程方面的知識,特別是各種調(diào)試的技巧。另外本次課程設(shè)計還讓我學到了怎樣進行團隊合作,怎樣和本組的同學一起合作完成一項相對大的任務(wù)。</p><p> 我們班選擇課題的方式是抽簽,在這個很公平的方式中我們這組選到了難度相對較大的電梯監(jiān)控系統(tǒng),看到這個課題的時候我們也只有無奈的選擇了淡淡一笑,既然選擇了,那
38、么不管困難到底有多大,我們都要堅定不移的投身到設(shè)計中。但是隨之而來的問題卻遠比我們想象的要困難的多,沒想到這項看起來簡單的工作卻是非常需要耐心和精力,在兩個星期后的今天我已明白課程設(shè)計對我來說的意義,它不僅僅是讓我們把所學的理論知識與實踐相結(jié)合起來,提高自己的實際動手能力和獨立思考的能力,更重要的是同學間的團結(jié),雖然我們這次花去的時間比別人多,但我相信我們得到的也會更多! </p><p> 我這次擔任的是組長
39、,我不僅要把握整個設(shè)計的方向,更重要的是對組員任務(wù)的合理分配,好在我們這組的隊員對設(shè)計的積極性都非常的高,在大家討論如何進行這次設(shè)計的具體進行的時候,大家都提出了一些很新穎的想法和實現(xiàn)方法,這為整個設(shè)計的實現(xiàn)提供了有力的保證。在分配每個人所負責的模塊的時候大家也是按照自己的長處來挑選的,所以大家對我分配的任務(wù)都感動非常滿意。</p><p> 我選擇了整個程序的按鍵掃描和樓層運行優(yōu)先性的選擇部分。拿到自己的任務(wù)
40、的時候我還是將計算機硬件課本認認真真的再復習了一遍,對我設(shè)計要用到的按鍵掃描的編寫和優(yōu)先性判斷有用的地方更是著重的看了好幾遍。在編寫程序的過程中我也遇到了很多的麻煩,比如拿不準這個流程的方向,和掃描程序掃描結(jié)果的存儲問題,這個時候我們整個組的又坐在一起,大家都提出自己的想法,綜合之后,終于找到了解決的辦法,所以在課程設(shè)計過程中,最讓我印象深刻的是團隊的合作精神。</p><p> 鄭雯20095194:<
41、/p><p> 時間過得很快,兩個星期的課程設(shè)計,在忙忙碌碌中就結(jié)束了,通過這次的課程設(shè)計,我學會了更多的以前沒有掌握的關(guān)于計算機硬件的知識,在設(shè)計過程中雖然也遇到了很多的問題,但是經(jīng)過我一次又一次的思考,一遍又一遍的檢查,終于找出了原因的所在,也暴露了前面我在學習這些知識時候的不足與欠缺。在調(diào)試程序的過程中,很多問題的出現(xiàn),是因為很簡單錯誤,比如,硬件連接出錯了,那個端口寫錯了,控制字寫錯了等等。千里之堤毀于蟻穴
42、說的就是這個道理。不過實踐出真知,通過這次親自動手制作和編寫程序,使我掌握的知識不再是紙上談兵了。</p><p> 過而能改,善莫大焉。在課程設(shè)計中,我不斷的發(fā)現(xiàn)錯誤,不斷的改正,終于順利的完成了組長分配給我的開關(guān)掃描和關(guān)門的中斷子程序,并在總程序調(diào)試的過程中檢測出了各種問題。在整個的設(shè)計過程中,我遇到了很多的問題,首先是開關(guān)的問題,試驗箱提供給我們的4*3按鍵相對應(yīng)需求來說很少,因此我們選用開關(guān)模擬小鍵盤,
43、而接踵而來的問題就有了,怎么用開關(guān)來模擬按鍵的一個按下過程,我把這個問題提出來后,我們組的組員們都提出了自己的意見和想法,經(jīng)過大家的討論終于確定了一個方案,用開關(guān)按下后手動的撥起來模擬一次按鍵過程,在后面的調(diào)試過程中也證實了這方案的可行性。而當我做到門的中斷子程序的時候又發(fā)現(xiàn)我前面學的8259的知識也忘了好多好多,因此我就重新的翻開書本一步一步的重新學起,這樣不但完成了任務(wù)的要求,更加的復習了以前的知識。</p><
44、p> 課程設(shè)計承認是一門專業(yè)類的實踐課程,給了我很多專業(yè)知識以及專業(yè)技能的提升,同時又是一門講道課,說道課,給我了很多思考,讓我明白很多道理,也給了我思維的空間。同時,設(shè)計讓我感觸很深,使我對抽象的理論有了具體的認識,對計算機硬件設(shè)計的核心思想和思路都有了一個深刻的認識,通過這次的課程設(shè)計,我掌握了按鍵的測試盒識別,熟悉了子程序的編寫流程,了解了怎么在主程序中調(diào)用子程序,我認為,在此次課程設(shè)計中,不僅培養(yǎng)了我獨立思考,動手操作的
45、能力,在各種其他的能力方面也有了提高,更重要的是,在實驗中我學會了很多學習的方法,而這個才是真正受用一生的,真的是受益匪淺。</p><p> 陳林20095196:</p><p> 兩周的課程設(shè)計結(jié)束了,在這次的課程設(shè)計中不僅檢驗了我所學習的計算機硬件方面的知識,也培養(yǎng)了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在設(shè)計過程中,與同學們分工設(shè)計,和同學們相互探討,相
46、互學習,相互監(jiān)督。學會了合作,學會了運籌帷幄,學會了寬容,學會了理解,也學會了做人與處世。</p><p> 課程設(shè)計是我們專業(yè)課程知識綜合應(yīng)用的實踐訓練,著是我們邁向社會,從事職業(yè)工作前一個必不少的過程.”千里之行始于足下”,通過這次課程設(shè)計,我深深體會到這句千古名言的真正含義.我今天認真的進行課程設(shè)計,學會腳踏實地邁開這一步,就是為明天能穩(wěn)健地在社會大潮中奔跑打下堅實的基礎(chǔ).</p><
47、p> 由于我們這一組采用了一個比較合理的分配任務(wù)方式,那就是你擅長什么那你就選擇什么任務(wù)來做,所以我就選擇了主程序設(shè)計,定時子程序的編寫,和實驗報告以及流程圖的編寫。在這次的設(shè)計任務(wù)中,開始的時候大家拿到這個課題還是很迷茫,也不知道從哪里下手,我們就坐在一起討論,大家都各抒己見,然后確定了一個設(shè)計的方案。由我畫出了整個主程序的流程圖,然后大家按照這個流程圖來提出自己的觀點和想法,逐步的確定實現(xiàn)這個功能需要哪一些子功能模塊,以及確
48、定這些子功能模塊的流程圖。</p><p> 主程序是整個設(shè)計的靈魂,它起到連接各子功能模塊的作用,它需要一個相當嚴密的思維,也要知道如何的去規(guī)劃程序走向,向組員們提供整體思路,因此在整個設(shè)計過程中,我都要保持一個清晰的頭腦,當大家將自己的子功能模塊做好之后,我需要將它們組裝起來,然后提供給大家一起調(diào)試。</p><p> 我在畫流程圖的時候也遇到了一些困難,以前都沒有用過visio這
49、個軟件,這次畫的時候還得從開始去學習,不懂的地方我也一次又一次的去問同學,幾天下來,自己也對這個軟件很熟悉了。完成這些之后我們就一起的調(diào)試程序,這個是設(shè)計的最后一步也是最關(guān)鍵最難的一步,比較費時費力了,因為這個不僅僅要看程序邏輯,因為有時候單看程序很難看出其中的錯誤,需要用到單步調(diào)試,這個實在是太考一個人的耐心了,而且有時候程序不一定有錯,而且硬件出問題了,比如接線是斷的,或者按鍵是壞的不靈敏的,我剛開始的時候在抱怨學校為什么不換一些好
50、一點的硬件,但是后來想想以后的工作我們不也是會遇到這樣的情況嗎,難道我們所遇到的硬件機器會一直都是可靠無錯的嗎?現(xiàn)在早點遇到這種情況,學會如何去處理也對我們是一種鍛煉??!</p><p> 鄧宇20095199:</p><p> 課程設(shè)計是本科學習階段一次非常難得的理論與實際相結(jié)合的機會,通過這次完整的程序設(shè)計,自己又重新將計算機硬件基礎(chǔ)的知識溫習了一遍,對計算機硬件基礎(chǔ)有了新的收獲
51、。此次設(shè)計中,我擺脫了單純的學習理論知識的狀態(tài),在和實際設(shè)計的結(jié)合中鍛煉了我的綜合運用所學基礎(chǔ)知識、解決實際問題的能力,同時也提高了我查閱文獻資料,對程序整體把握等其他能力水平,而且通過對整體的掌控,對局部的取舍,以及對細節(jié)的斟酌處理,都使得我的能力得到了鍛煉,經(jīng)驗得到了豐富。</p><p> 我這次負責LED顯示子功能模塊和蜂鳴器指示與報警模塊的程序編寫和調(diào)試,雖然設(shè)計的內(nèi)容繁瑣和雜亂,但是我收獲頗豐。隨著
52、設(shè)計的不斷深入,我對各組件的運用及各控件的利用不斷熟悉并逐步掌握。在和我們組員的溝通交流過程中,我對程序整體的規(guī)劃與設(shè)計又不斷的有著新的認識,同時也對自己提出了更多新的要求。</p><p> 在設(shè)計的過程中我也遇到了不少的疑難和困惑。其中較大的問題便出在在蜂鳴器模塊方面,最開始的時候我打算設(shè)計運用頻率的改變,來使蜂鳴器發(fā)出音樂,在多次調(diào)試之后發(fā)現(xiàn)數(shù)據(jù)段和代碼段的位置和程序能否成功實現(xiàn)有著很大的關(guān)系。在利用LE
53、D實現(xiàn)動態(tài)顯示的時候也遇到了一些問題,但是在和組員們討論了之后也得到了完美的解決,對于項目擴展功能的實現(xiàn)還是比較成功的。</p><p> 提高是有限的,不過提高也是全面的,正是這一次設(shè)計讓我積累了許多實際經(jīng)驗,也必然會讓我在未來的工作學習中表現(xiàn)出更高的應(yīng)變能力和理解能力。順利的完成本次課程設(shè)計的大體程序給了我很大的信心,但是也讓我知道了自己許多不足的地方,學習其實就是一個不斷完善的過程,正視自己的不足之處,在
54、以后的工作和學習中不斷彌補這些不足之處,在以后的生活中也要保持同樣的態(tài)度,不斷完善自己。</p><p> 最后我要感謝我們小組成員和試驗老師,我們一起的團結(jié)合作,才能使得設(shè)計得以順利進行。在課程設(shè)計過程中,收獲知識,提高能力的同時,我也學到了很多人生的道理,懂得怎么樣去制定計劃,怎么樣去實現(xiàn)計劃,并且在在執(zhí)行過程中怎么去克服心理上的不良情緒。因此,在以后的生活和學習過程中,我一定會把這次課程設(shè)計中的所學帶到生
55、活中,不畏艱難,勇往直前,不斷進取。</p><p><b> 附錄</b></p><p><b> 程序代碼</b></p><p><b> .486 </b></p><p> CODE SEGMENT USE16</p><p>
56、ASSUME CS:CODE</p><p><b> ORG 1000H</b></p><p> PORTA1EQU200H</p><p> PORTB1EQU204H</p><p> PORTC1EQU208H</p><p> CTRL1EQU20CH&
57、lt;/p><p> PORTA2EQU201H</p><p> PORTB2EQU205H</p><p> PORTC2EQU209H</p><p> CTRL2EQU20DH</p><p> PORTA4EQU203H</p><p> PORTB4EQ
58、U207H</p><p> PORTC4EQU20BH</p><p> CTRL4EQU20FH</p><p> CTRL_8254 EQU 30CH ;8254控制端口</p><p> CUNT0 EQU 300H ;8254
59、計數(shù)器0</p><p> CUNT1 EQU 304H ;8254計數(shù)器1</p><p> CUNT2 EQU 308H ;8254計數(shù)器2</p><p> ADDR0 EQU 320H ;8259偶地址</p><p> A
60、DDR1 EQU 328H ;8259奇地址</p><p> INTQ EQU 40H ;8259中斷類型號</p><p> UP1 EQU 0EEH</p><p> UP2 EQU 0EDH</p><p> UP3 EQU 0EBH</p><
61、p> UP4 EQU 0E7H</p><p> UP5 EQU 0DEH</p><p> DOWN6 EQU 0DDH</p><p> DOWN5 EQU 0DBH</p><p> DOWN4 EQU 0D7H</p><p> DOWN3 EQU 0BEH</p><p&
62、gt; DOWN2 EQU 0BDH</p><p> K10 EQU 0BBH</p><p> K11 EQU 0B7H</p><p> DT1 DB 1 ;當前樓層</p><p> JFLAG DB 1 ;電梯靜止標志
63、,1靜止,0運行</p><p> YFLAG DB 1 ;電梯上升下降標志,1上升,0下降</p><p> LOUCENG DB 00H,00H,00H,00H,00H,00H ;電梯內(nèi)樓層開關(guān)鍵狀態(tài)</p><p> louceng1 db 0f9h,0a4h,0b0h,99h,92h,82h ;1,2,3,4,5,6 &l
64、t;/p><p> KAI DB 00H ;開門鍵狀態(tài),1為按下</p><p> UPLAYER DB 00H,00H,00H,00H,00H ;各樓層上鍵</p><p> DOWNLAYER DB 00H,00H,00H,00H,00H ;各樓層
65、下鍵</p><p> START:CALL CHUSHI ;8255,8254初始化</p><p> CALL ZDCSH ;8259初始化</p><p> mov dx,208h</p><p> mov
66、eax,0f0f0f0fh</p><p> out dx,eax ;關(guān)閉LED顯示</p><p> MOV DX,20BH</p><p> MOV AL,80H</p><p><b> out dx,al</b></p><p>
67、 MOV DT1,01H</p><p> LEA SI,DOWNLAYER</p><p><b> DEC SI</b></p><p> MOV BYTE PTR[SI],00H</p><p> CALL HOLDLED ;初始樓層顯示 <
68、/p><p> QDYX:MOV DX,20BH ;判斷電梯是靜止還是運行</p><p> MOV AL,0F8H</p><p><b> OUT DX,AL</b></p><p> MOV DX,207H</p><p><
69、;b> IN AL,DX</b></p><p><b> CALL DLYS</b></p><p> AND AL,0FH</p><p> CMP AL,0FH</p><p> JZ LCKGZT ;沒有上下行按鍵按下就轉(zhuǎn)到樓層開關(guān)掃描LCKGZT</p>
70、<p> CALL ANJIANSAOMIAO</p><p> LEA SI,UPLAYER</p><p> MOV AL,[SI]</p><p> CMP AL,0FFH ;判斷1樓上行鍵是否按下</p><p><b> JNZ KSYX<
71、;/b></p><p> CALL KAIMEN</p><p> MOV BYTE PTR[SI],00H</p><p><b> JMP QDYX</b></p><p> LCKGZT:CALL KMSM ;樓層開關(guān)掃描,如果有樓層開關(guān)按下就跳
72、轉(zhuǎn)到Y(jié)X(1樓除外),如果沒有就調(diào)用LED顯示程序,電梯靜止不動,顯示開門</p><p> MOV AL,KAI</p><p> CMP AL,01H</p><p><b> JZ Y</b></p><p> CALL LCSM ;樓層開關(guān)掃描程序為
73、LCSM</p><p> LEA SI,LOUCENG</p><p> MOV AL,[SI]</p><p> CMP AL,0FFH</p><p><b> JNZ PDLC</b></p><p> Y:MOV KAI,0</p><p> CALL
74、 KAIMEN</p><p><b> JMP QDYX</b></p><p> PDLC:MOV CL,5</p><p> X1:MOV AL,[SI+1]</p><p> CMP AL,0FFH</p><p><b> JZ KSYX</b></
75、p><p><b> INC SI</b></p><p><b> LOOP X1</b></p><p><b> JMP QDYX</b></p><p><b> ;開始運行 </b></p><p> KSYX:C
76、ALL WUGUAN</p><p> CALL UPLED </p><p> YX:NOP </p><p> YXSHANG:CALL UPLED</p><p> CALL CENGJIANYX</p><p> INC DT1
77、 ;當前樓層數(shù)加1</p><p> CALL UPLED ;上行顯示</p><p> MOV AL,DT1</p><p> CMP AL,06H</p><p><b> JZ SIXUP1</b></p
78、><p> LEA BX,UPLAYER </p><p> MOV AL,DT1</p><p><b> DEC AL</b></p><p><b> XLAT</b></p><p> CMP AL,0FFH</p><p&
79、gt; JZ UPLOUTING ;判斷該層的上行鍵是否按下,按下就在該層停下</p><p> LEA BX,LOUCENG</p><p> MOV AL,DT1</p><p><b> DEC AL</b></p><p><b> XLAT</b></p
80、><p> CMP AL,0FFH</p><p> JZ UPLOUTING ;判斷是否有該層按下,按下就在該層停下</p><p> LEA SI,UPLAYER</p><p> MOV BL,DT1</p><p><b> DEC BL</b><
81、;/p><p> MOV BH,00H</p><p> MOV BYTE PTR[SI+BX],00H ;到達該層后將該層上行鍵按下的信息清零</p><p> LEA DI,LOUCENG </p><p> MOV BYTE PTR[DI+BX],00H ;到達該層后將該樓層鍵按下的信息清零</p><p
82、> JMP YXSHANG</p><p> YXXIA:DEC DT1 ;當前樓層數(shù)減1</p><p> CALL DOWNLED</p><p> CALL CENGJIANYX</p><p> MOV AL,DT1</p><p> CMP AL,01H</p>
83、<p> JZ ONEDOWN1</p><p> LEA BX,DOWNLAYER</p><p> MOV AL,DT1</p><p><b> DEC AL</b></p><p><b> DEC AL </b></p><p><b&g
84、t; XLAT</b></p><p> CMP AL,0FFH</p><p> JZ DOWNLOUTING</p><p> LEA BX,LOUCENG</p><p> MOV AL,DT1</p><p><b> DEC AL</b></p>&
85、lt;p><b> XLAT</b></p><p> CMP AL,0FFH</p><p> JZ DOWNLOUTING</p><p> LEA SI,DOWNLAYER</p><p> LEA DI,LOUCENG </p><p> MOV BL,DT1</p
86、><p><b> DEC BL</b></p><p> MOV BH,00H</p><p> MOV BYTE PTR[DI+BX],00H ;到達該層后將該層上行鍵按下的信息清零</p><p><b> DEC BL</b></p><p> MOV BY
87、TE PTR[SI+BX],00H ;到達該層后將該層上行鍵按下的信息清零</p><p> JMP YXXIA </p><p> JINGZHI:CALL HOLDLED</p><p> CALL CENGJIANYX</p><p> JKAIANXIA1:MOV
88、KAI,00H</p><p> CALL KMSM ;如果開門鍵一直按著就一直開門</p><p> MOV AL,KAI</p><p> CMP AL,01H</p><p> JZ JKAIANXIA1</p><p> JSHANGANXIA:LEA SI,UPLAYER&
89、lt;/p><p> MOV BL,DT1</p><p><b> DEC BL</b></p><p> MOV BH,00H</p><p> MOV BYTE PTR[SI+BX],00H ;當前樓層上行鍵按下信息清零 </p><p> CALL ANJIANSAOMI
90、AO</p><p> MOV CL,DT1 </p><p><b> DEC CL</b></p><p><b> MOV AL,CL</b></p><p> LEA BX,UPLAYER</p><p><b> XLAT</b>
91、;</p><p> CMP AL,0FFH</p><p> JZ JSHANGANXIA ;如果該樓層的上行鍵一直按著就一直開門</p><p> CALL ANJIANSAOMIAO</p><p><b> CALL LCSM</b></p><p> MOV
92、 CL,DT1</p><p> CMP CL,06H</p><p><b> JZ SIXUP2</b></p><p> CMP CL,00H</p><p> JZ ONEDOWN2</p><p> MOV CL,DT1</p><p> JPDSHA
93、NG1:LEA BX,UPLAYER</p><p><b> MOV AL,CL</b></p><p><b> XLAT</b></p><p> CMP AL,0FFH</p><p> JZ JNEXTSHANG</p><p><b> INC
94、 CL</b></p><p> CMP CL,05H</p><p> JNZ JPDSHANG1</p><p> LEA BX,LOUCENG</p><p> MOV CL,DT1</p><p> JM1:MOV AL,CL</p><p><b>
95、XLAT</b></p><p> CMP AL,0FFH</p><p> JZ JNEXTSHANG</p><p><b> INC CL</b></p><p> CMP CL,06H</p><p><b> JNZ JM1</b></p
96、><p> LEA BX,DOWNLAYER</p><p> MOV CH,DT1</p><p> MOV CL,05H</p><p> JPDSHANG2:DEC CL</p><p><b> MOV AL,CL</b></p><p><b>
97、 XLAT </b></p><p> CMP AL,0FFH</p><p> JZ JNEXTSHANG</p><p><b> DEC CH</b></p><p><b> CMP CL,CH</b></p><p> JNZ JPDSHANG
98、2</p><p><b> DEC CL</b></p><p> CMP CL,00H</p><p><b> JZ PP</b></p><p> JPDXIA1:DEC CL</p><p><b> MOV AL,CL</b><
99、;/p><p><b> XLAT</b></p><p> CMP AL,0FFH</p><p> JZ JNEXTXIA</p><p> CMP CL,00H</p><p> JNZ JPDXIA1</p><p> PP:LEA BX,LOUCENG&l
100、t;/p><p> MOV CH,DT1</p><p><b> DEC CH</b></p><p> MOV CL,00H</p><p> JM2:MOV AL,CL</p><p><b> XLAT</b></p><p> CMP
101、 AL,0FFH</p><p> JZ JNEXTXIA</p><p><b> INC CL</b></p><p><b> CMP CL,CH</b></p><p> JNZ JM2 </p><p> LEA BX,UPLAYER</
102、p><p> MOV CL,00H</p><p> JPDXIA2:MOV AL,CL</p><p><b> XLAT</b></p><p> CMP AL,0FFH</p><p> JZ JNEXTXIA</p><p><b> INC CL
103、</b></p><p> MOV CH,DT1</p><p><b> DEC CH</b></p><p><b> CMP CL,CH</b></p><p> JNZ JPDXIA2</p><p> JMP JNEXTJING</p&g
104、t;<p> JNEXTSHANG:JMP YXSHANG</p><p> JNEXTXIA:JMP YXXIA </p><p> JNEXTJING:JMP JINGZHI </p><p> UPLOUTING:CALL
105、KAIMEN</p><p> KAIANXIA1:CALL KMSM ;如果開門鍵一直按著就一直開門</p><p> MOV AL,KAI</p><p> CMP AL,01H</p><p> JZ KAIANXIA1</p><p> SHANGANXIA:LEA
106、 SI,UPLAYER</p><p> MOV BL,DT1</p><p><b> DEC BL</b></p><p> MOV BH,00H</p><p> MOV BYTE PTR[SI+BX],00H ;當前樓層上行鍵按下信息清零 </p><p> CA
107、LL ANJIANSAOMIAO</p><p> MOV CL,DT1 </p><p><b> DEC CL</b></p><p><b> MOV AL,CL</b></p><p> LEA BX,UPLAYER</p><p><b>
108、 XLAT</b></p><p> CMP AL,0FFH</p><p> JZ SHANGANXIA ;如果該樓層的上行鍵一直按著就一直開門</p><p> CALL ANJIANSAOMIAO</p><p><b> CALL LCSM</b></p><
109、p> MOV CL,DT1</p><p> LEA BX,UPLAYER</p><p> PDSHANG1:MOV AL,CL</p><p><b> XLAT</b></p><p> CMP AL,0FFH</p><p> JZ NEXTSHANG</p>
110、<p><b> INC CL</b></p><p> CMP CL,05H</p><p> JNZ PDSHANG1</p><p> LEA BX,LOUCENG</p><p> MOV CL,DT1</p><p> M1:MOV AL,CL</p>
111、;<p><b> XLAT</b></p><p> CMP AL,0FFH</p><p> JZ NEXTSHANG</p><p><b> INC CL</b></p><p> CMP CL,06H</p><p><b> J
112、NZ M1</b></p><p> LEA BX,DOWNLAYER</p><p> MOV CH,DT1</p><p><b> DEC CH</b></p><p> MOV CL,05H</p><p> PDSHANG2:DEC CL</p>&l
113、t;p><b> MOV AL,CL</b></p><p><b> XLAT </b></p><p> CMP AL,0FFH</p><p> JZ NEXTSHANG</p><p><b> CMP CL,CH</b></p><
114、p> JNZ PDSHANG2</p><p><b> DEC CL</b></p><p> CMP CL,01H</p><p><b> JZ PPP </b></p><p> PDXIA1:DEC CL</p><p><b> MO
115、V AL,CL</b></p><p><b> XLAT</b></p><p> CMP AL,0FFH</p><p> JZ NEXTXIA</p><p> CMP CL,0FFH</p><p> JNZ PDXIA1</p><p>
116、PPP:LEA BX,LOUCENG</p><p> MOV CH,DT1</p><p><b> DEC CH</b></p><p> MOV CL,00H</p><p> M2:MOV AL,CL</p><p><b> XLAT</b></p&
117、gt;<p> CMP AL,0FFH</p><p> JZ NEXTXIA</p><p><b> INC CL</b></p><p><b> CMP CL,CH</b></p><p> JNZ M2 </p><p> LE
118、A BX,UPLAYER</p><p> MOV CL,00H</p><p> PDXIA2:MOV AL,CL</p><p><b> XLAT</b></p><p> CMP AL,0FFH</p><p> JZ NEXTXIA</p><p>&l
119、t;b> INC CL</b></p><p> MOV CH,DT1</p><p><b> DEC CH</b></p><p><b> CMP CL,CH</b></p><p> JNZ PDXIA2</p><p> JMP NEX
120、TJING </p><p> NEXTSHANG: CALL WUGUAN</p><p> JMP YXSHANG</p><p> NEXTXIA:CALL WUGUAN</p><p> JMP YXXIA </p><p> NEXTJING:CALL WUGUAN</p>
121、<p> JMP JINGZHI </p><p> DOWNLOUTING:CALL KAIMEN</p><p> KAIANXIA2:CALL KMSM ;如果一直按著就一直開門</p><
122、;p> MOV AL,KAI</p><p> CMP AL,01H</p><p> JZ KAIANXIA2</p><p> XIAANXIA:LEA SI,DOWNLAYER</p><p> MOV BL,DT1</p><p><b> DEC BL</b></
123、p><p><b> DEC BL</b></p><p> MOV BH,00H </p><p> MOV BYTE PTR[SI+BX],00H ;下行鍵信息清零</p><p> CALL ANJIANSAOMIAO</p><p&g
124、t; MOV CL,DT1</p><p><b> DEC CL </b></p><p><b> DEC CL</b></p><p><b> MOV AL,CL</b></p><p> LEA BX,DOWNLAYER</p><p
125、><b> XLAT</b></p><p> CMP AL,0FFH</p><p> JZ XIAANXIA ;如果該樓層的下行鍵一直按著就一直開門</p><p> CALL ANJIANSAOMIAO</p><p><b> CALL LCSM</b>
126、</p><p> PDXIA3: DEC CL</p><p><b> MOV AL,CL</b></p><p><b> XLAT</b></p><p> CMP AL,0FFH</p><p> JZ NEXTXIA1</p><p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機硬件系統(tǒng)設(shè)計課程設(shè)計
- 計算機硬件課程設(shè)計報告---簡單計算機的設(shè)計
- 計算機硬件課程設(shè)計 電子琴
- 計算機硬件課程設(shè)計指導——cpld部分
- 計算機硬件復雜模型機課程設(shè)計
- 計算機硬件課程設(shè)計報告——復雜模型機設(shè)計
- 計算機硬件課程設(shè)計簡單模型機設(shè)計
- 計算機硬件課程設(shè)計--復雜模型機設(shè)計報告
- 計算機硬件
- 計算機控制技術(shù)課程設(shè)計--油庫計算機監(jiān)控系統(tǒng)硬件設(shè)計
- 計算機硬件課程設(shè)計---出租車計價器設(shè)計
- 計算機硬件維護
- 計算機硬件知識
- 《計算機硬件系統(tǒng)》ppt課件
- 認識計算機硬件教學設(shè)計
- 《計算機硬件組成》教學設(shè)計
- 計算機硬件課程設(shè)計報告——拓展接口的復雜模型機設(shè)計
- 計算機硬件課程設(shè)計——基于微程序的復雜模型機設(shè)計
- 計算機硬件系統(tǒng)試題-(有答案)
- 計算機硬件參數(shù)解釋
評論
0/150
提交評論