版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計</b></p><p><b> 課程設(shè)計任務(wù)書</b></p><p> 學生姓名: 專業(yè)班級: </p><p> 指導教師: 工作單位: 自動化 </p><p>
2、題 目: 電梯運行程序設(shè)計</p><p><b> 初始條件:</b></p><p> 用匯編語言設(shè)計一個電梯運行程序(至少5層),功能上實現(xiàn)現(xiàn)實生活中的電梯功能。</p><p> 要求完成的主要任務(wù): (包括課程設(shè)計工作量及其技術(shù)要求,以及說明書撰寫等具體要求)</p><p> 1. 在屏幕顯示電梯
3、運行界面,完成電梯運行的算法。</p><p> 2.可以通過鍵盤按下任意樓層的按鈕,測試電梯的正確運行;</p><p> 3. 編制完整的程序并調(diào)試;</p><p> 4.撰寫符合學校要求的課程設(shè)計說明書,內(nèi)容包括:摘要、目錄、正文、參考文獻、附錄(程序清單)。正文部分包括:設(shè)計任務(wù)及要求、方案比較及論證、軟件設(shè)計說明(軟件思想,流程,源程序設(shè)計及說明等
4、)、程序調(diào)試說明和結(jié)果分析、課程設(shè)計收獲及心得體會。</p><p><b> 時間安排:</b></p><p> 1. 1月4日----1月5日 查閱資料及方案設(shè)計</p><p> 1月6日----12月8日 編程</p><p> 1月9日----1月10日 調(diào)試程序</p>
5、<p> 1月11日 ----1月12日 撰寫課程設(shè)計報告</p><p> 1月13日 上午準備答辯,下午正式答辯</p><p> 指導教師簽名: 年 月 日</p><p> 系主任(或責任教師)簽名:
6、 年 月 日</p><p><b> 目錄</b></p><p><b> 摘要3</b></p><p><b> 1方案設(shè)計5</b></p><p><b> 2軟件設(shè)計5</b></p><
7、p><b> 2.1軟件思想5</b></p><p><b> 2.2流程圖6</b></p><p> 2.3源程序設(shè)計及說明7</p><p><b> 3程序調(diào)試14</b></p><p> 3.1程序調(diào)試說明14</p>&l
8、t;p> 3.2程序調(diào)試結(jié)果分析14</p><p> 參考文獻.........................................................................18</p><p><b> 心得體會19</b></p><p><b> 附錄 源程序21</
9、b></p><p><b> 摘要</b></p><p> 此次課程設(shè)計的題目是“電梯運行程序設(shè)計”關(guān)于電梯結(jié)構(gòu)以及如何工作在這里進行以下介紹。</p><p> 簡介:習慣上不論其驅(qū)動方式如何,將電梯作為建筑物內(nèi)垂直交通運輸工具的總稱。近幾年來,隨著國際社會對環(huán)保認識的關(guān)注,各大電梯公司現(xiàn)在在其電梯表面基本都采用了粉末涂料噴涂
10、,這是一種新型環(huán)保無溶劑的涂料,并且各種性能皆優(yōu)于油漆。 </p><p> 歷史:按速度可分低速電梯(1米/秒以下)、快速電梯(1~2米/秒)和高速電梯(2米/秒以上)。19世紀中期開始采用液壓電梯,至今仍在低層建筑物上應(yīng)用。1852年,美國的伊萊莎。格雷夫斯.奧的斯研制出帶有安全制動裝置的升降機。80年代,驅(qū)動裝置有進一步改進,如電動機通過蝸桿傳動帶動纏繞卷筒、采用平衡重等。19世紀末,采用了摩擦輪傳動,大
11、大增加電梯的提升高度。 世界速度最快且運行距離最長的電梯:迪拜哈利法塔電梯,速度最高達每秒17.4米。(1050米/分,63.0公里/39.1英里小時)(該電梯是由蒂森克虜伯電梯公司進行生產(chǎn)安裝的,包括機場用的登機橋)中國速度最快且運行距離最長的電梯:臺北101大樓,速度最高達每秒16.8米。(1010米/分,60.6公里/37.7英里小時)。 </p><p> 結(jié)構(gòu):電梯的結(jié)構(gòu)包括:四大空間,八大系統(tǒng)
12、四大空間機房部分、井道及地坑部分、轎廂部分、層站部分。 八大系統(tǒng)曳引系統(tǒng)、導向系統(tǒng)、轎廂、門系統(tǒng)、重量平衡系統(tǒng)、電力拖動系統(tǒng)、電氣控制系統(tǒng)、安全保護系統(tǒng)</p><p> 功能:現(xiàn)代電梯主要由曳引機(絞車)、導軌、對重裝置、安全裝置(如限速器、安全鉗和緩沖器等)、信號操縱系統(tǒng)、轎廂與廳門等組成。這些部分分別安裝在建筑物的井道和機房中。通常采用鋼絲繩摩擦傳動,鋼絲繩繞過曳引輪,兩端分別連接轎廂和平衡重,電動機驅(qū)動
13、曳引輪使轎廂升降。電梯要求安全可靠、輸送效率高、平層準確和乘坐舒適等。電梯的基本參數(shù)主要有額定載重量、可乘人數(shù)、額定速度、轎廂外廓尺寸和井道型式等。簡單使用方法(緊急情況下面有解決方法)目前載人電梯都是微機控制的智能化、自動化設(shè)備,不需要專門的人員來操作 駕駛,普通乘客只要按下列程序乘坐和操作電梯即可。1.在乘梯樓層電梯入口處,根據(jù)自己上行或下行的需要,按上方向或下方向箭頭按鈕,只要按鈕上的燈亮,就說明你的呼叫已被記錄,只要等待電梯到來
14、即可。2.電梯到達開門后,先讓轎廂內(nèi)人員走出電梯,然后呼梯者再進入電梯轎廂。進入轎廂后,根據(jù)你需要到達的樓層,按下轎廂內(nèi)操縱盤上相應(yīng)的數(shù)字按鈕。同樣,只要該按鈕燈亮,則說明你的選層已被記錄;此時不用進行其他任何操作,只要等電梯到達你的目的層??考纯?。3.電梯行駛到你的目的層后會自動開門,此時按順序走出電梯即結(jié)束了一個</p><p> 工作原理:曳引繩兩端分別連著轎廂和對重,纏繞在曳引輪和導向輪上,曳引電動機通
15、過減速器變速后帶動曳引輪轉(zhuǎn)動,靠曳引繩與曳引輪摩擦產(chǎn)生的牽引力,實現(xiàn)轎廂和對重的升降運動,達到運輸目的。固定在轎廂上的導靴可以沿著安裝在建筑物井道墻體上的固定導軌往復升降運動,防止轎廂在運行中偏斜或擺動。常閉塊式制動器在電動機工作時松閘,使電梯運轉(zhuǎn),在失電情況下制動,使轎廂停止升降,并在指定層站上維持其靜止狀態(tài),供人員和貨物出入。轎廂是運載乘客或其他載荷的箱體部件,對重用來平衡轎廂載荷、減少電動機功率。補償裝置用來補償曳引繩運動中的張力
16、和重量變化,使曳引電動機負載穩(wěn)定,轎廂得以準確停靠。電氣系統(tǒng)實現(xiàn)對電梯運動的控制,同時完成選層、平層、測速、照明工作。指示呼叫系統(tǒng)隨時顯示轎廂的運動方向和所在樓層位置。安全裝置保證電梯運行安全。</p><p> 關(guān)鍵字:電梯 簡介 歷史 結(jié)構(gòu) 工作原理</p><p><b> 1方案設(shè)計</b></p><p> 結(jié)合所學微機原理知識
17、以及生活中的電梯知識及感受,程序設(shè)計主要是利用匯編語言中的各種中斷服務(wù)程序來實現(xiàn)程序的文字和畫圖功能,需運用順序、分支、循環(huán)的結(jié)構(gòu)來具體構(gòu)建程序。例如運用INT 10H 的2號功能可以設(shè)置光標的位置,這使繪圖有了可用的參考點,有了參考點后,將我們要繪制的圖形分解為點,調(diào)用INT 10H的0C號功能就可以畫具有一定顏色的點,通過循環(huán)控制若保持光標的縱軸可以畫出一條水平直線,同理若保持光標的橫軸坐標不變,就可以畫出一條豎直的直線,這樣畫四條
18、首尾相接的四條直線便可以畫出一個矩形。通過光標在豎直方向調(diào)整便可以在豎直方向顯示樓層號。可以通過逐漸增加或減少光標在縱軸方向上的坐標的大?。▽嶋H上是改變相應(yīng)寄存器的值)就并加入延時程序便可以使直線慢慢向上或向下移動。至于移動的規(guī)律由電梯的運行規(guī)律決定并根據(jù)人的請求由程序控制來實現(xiàn)。程序可以通過提示人用鍵盤輸入其想到達的樓層來模擬人在電梯內(nèi)部按下相關(guān)樓層的按鈕。同樣的方法可以控制程序的運行和結(jié)束。</p><p>
19、; 2軟件設(shè)計 </p><p><b> 2.1軟件思想</b></p><p> 根據(jù)設(shè)計的任務(wù)和要求1. 在屏幕顯示電梯運行界面,完成電梯運行的算法。2.可以通過鍵盤按下任意樓層的按鈕,測試電梯的正確運行;3. 編制完整的程序并調(diào)試。畫出流程圖,再根據(jù)流程圖用匯編語言在MF2KP環(huán)境下編寫各程序模
20、塊,并將所有模塊整合在一起,然后在DOS環(huán)境下調(diào)試,得到調(diào)試結(jié)果并進行分析,是否滿足要求的所有功能,若有差錯或遺漏,對源程序進行修改再運行,直到調(diào)試結(jié)果正確。</p><p><b> 2.2流程圖</b></p><p><b> 圖1 流程圖</b></p><p> 2.3源程序設(shè)計及說明</p>
21、<p> ?。庇糜谠谀M樓房方框左邊顯示樓層號碼 </p><p> FNUM MACRO </p><p> LOCAL ML1 </p><p><b> PUSH CX </b></p><p><b> PUSH AX </b></p><p>&
22、lt;b> PUSH DX </b></p><p><b> PUSH SI </b></p><p> MOV CH,13H </p><p> MOV CL,31H </p><p><b> MOV SI,9 </b></p><p>
23、ML1 MOV AH,02H ;2號功能調(diào)用,設(shè)置光標位置</p><p> MOV DH,CH </p><p> MOV DL,1FH </p><p><b> INT 10H </b></p><p> MOV AH,02H </p><p> MOV DL,CL </p&
24、gt;<p><b> INT 21H </b></p><p><b> DEC CH </b></p><p><b> INC CL </b></p><p><b> DEC SI </b></p><p><b>
25、 JNZ ML1 </b></p><p><b> POP SI </b></p><p><b> POP DX </b></p><p><b> POP AX </b></p><p><b> POP CX </b><
26、/p><p><b> 說明:</b></p><p> ?。保┰摮绦蚍譃閮刹糠郑渲杏玫秸{(diào)用INT 21H的2號功能。</p><p> PUSH入棧操作,將CX AX DX SI壓入堆棧,POP出棧操作,將CX AX DX SI送出堆棧。</p><p> JNZ不等于0的時候則跳到ML1處繼續(xù)執(zhí)行程序,JNZ等于
27、0則對CX AX DX SI進行出棧操作。</p><p> 入棧操作時,總是先修改指針(SP-2 ?。樱校?,然后將信息入棧;出棧操作時,總是先將信息出棧,然后修改指針(SP+2 ?。樱校?。</p><p> 2定義程序中要用到的數(shù)據(jù)段 </p><p> DATA SEGMENT </p><p> MSG1 DB 'FLO
28、OR YOU SIT NOW(JUST 1-9F):$' </p><p> MSG2 DB 'FLOOR YOU WANT GO(JUST 1-9F):$' </p><p> MSG3 DB 'INPUT ANY KEY TO START...$' </p><p> MSG4 DB 'WANT EXPERI
29、ENCE AGAIN (Y/N)..$' </p><p> MSGEN DB 0AH,0DH,'$' </p><p> NOWF DW ? ;NOWF變量表示原在樓層號碼 </p><p> LASTF DW ? ;LASTF表示目的樓層號碼 </p><p> FLAG1 DW 1 ;起一定小作用的變量
30、</p><p> DATA ENDS </p><p><b> 說明:</b></p><p> 存儲器的物理地址是由邏輯段基址和邏輯偏移地址組合而成,語句SEGMENT和ENDS把程序分成段即存儲器區(qū)段。</p><p> 定義八位字節(jié)變量MSG1,MSG2,MSG3,MSG4分別表示“所在樓層”,“想去的
31、樓層”,“開始鍵”,“是否重復”。</p><p> 定義十六位字變量NOWF,LASTF,1表示“原在樓層號”,“目的樓層號”,“其一定小作用的變量”。</p><p> 3主代碼段CODE1用于程序的執(zhí)行或結(jié)束 </p><p> CODE1 SEGMENT </p><p> ASSUME CS:CODE1, DS:DATA,
32、SS:STACKS</p><p> START:MAIN PROC</p><p> MOV AX,DATA </p><p> MOV DS,AX </p><p> MOV AX,STACKS</p><p> MOV SS,AX </p><p> MOV AH,0H <
33、;/p><p> MOV AL,04H </p><p><b> INT 10H </b></p><p> REPEAT1: CALL FAR PTR ELEVATOR </p><p> MOV AH,09H </p><p> MOV DX,OFFSET MSGEN </p&g
34、t;<p><b> INT 21H </b></p><p> MOV DX,OFFSET MSG4 </p><p><b> INT 21H </b></p><p> MOV AH,01H </p><p><b> INT 21H </b>&l
35、t;/p><p> CMP AL,'Y' </p><p> JE REPEAT1 </p><p> CMP AL,'y' </p><p> JE REPEAT1 </p><p> MOV AH,4CH </p><p><b> INT
36、21H </b></p><p><b> RET </b></p><p> MAIN ENDP </p><p> CODE1 ENDS </p><p><b> 說明:</b></p><p> PROC和ENDP為“過程名”標識符,是子程序入口
37、的符號地址,偽指令PROC和ENDP必須成對出現(xiàn)。</p><p> 過程的最后一條RET語句,表示從棧頂彈出返回地址,以便返回調(diào)用點。</p><p> 過程中的JE語句,若為0,則返回執(zhí)行REPEAT1,否則,結(jié)束。</p><p> MOV DX,OFFSET MSGEN執(zhí)行后,DX寄存器有變量MSGEN所在段的偏移地址。</p><
38、p> 4用于顯示電梯運動 </p><p> MOVEF MACRO NOWF,LASTF </p><p> LOCAL L1,L2,L3,L4,L5,L6,L7,L8,PASS1 </p><p> MOV BH,1H </p><p> MOV SI,100H </p><p> L1: MOV
39、 AH,0CH </p><p> MOV DX,20H </p><p> MOV CX,SI </p><p> MOV AL,BH </p><p><b> INT 10H </b></p><p> ADD SI,1H ;兩個ASCII碼相加</p>
40、;<p> INC BH ;目的操作數(shù) 目的操作數(shù)+1 </p><p> CMP SI,120H ;比較SI和120H大小</p><p> JNE L1 ;若SI大于120H,則跳到L1</p><p> MOV SI,20H </p><p&
41、gt; MOV BH,1H </p><p> L2: MOV AH,0CH </p><p> MOV DX,SI </p><p> MOV CX,100H </p><p> MOV AL,BH </p><p><b> INT 10H </b></p><
42、p> ADD SI,1H </p><p><b> INC BH </b></p><p> CMP SI,9BH ;比較SI和9BH的大小</p><p> JNE L2 ;若SI大于9BH,則跳到L2</p><p> MOV SI,100H <
43、;/p><p> MOV BH,1H </p><p> L3: MOV AH,0CH </p><p> MOV DX,9BH </p><p> MOV CX,SI </p><p> MOV AL,BH </p><p><b> INT 10H </b>&l
44、t;/p><p><b> INC BH </b></p><p><b> INC SI </b></p><p> CMP SI,120H ;比較SI和120H</p><p> JNE L3 ;若SI大于120H,則跳到L3</p>
45、;<p> MOV SI,20H </p><p> MOV BH,1H </p><p> L4: MOV AH,0CH </p><p> MOV DX,SI </p><p> MOV CX,120H </p><p> MOV AL,BH </p><p>&l
46、t;b> INT 10H </b></p><p> ADD SI,1H </p><p><b> INC BH </b></p><p> CMP SI,9BH </p><p><b> JNE L4 </b></p><p> MOV F
47、LAG1,1 </p><p> MOV DI,NOWF ;NOWFLOOR </p><p> L6: MOV SI,101H </p><p> L5: MOV AH,0CH </p><p> MOV DX,DI </p><p> MOV CX,SI </p><p><
48、b> MOV AL,1 </b></p><p><b> INT 10H </b></p><p><b> INC SI </b></p><p> CMP SI,120H </p><p><b> JNE L5 </b></p>
49、<p> MOV AX,FLAG1 </p><p><b> CMP AX,1 </b></p><p> JNE PASS1 </p><p> XOR AX,AX ;統(tǒng)計計數(shù)清零</p><p> MOV FLAG1,AX </p><p>
50、 MOV AH,09H </p><p> MOV DX,OFFSET MSGEN </p><p><b> INT 21H </b></p><p> MOV DX,OFFSET MSG3 </p><p><b> INT 21H </b></p><p>
51、 MOV AH,01H </p><p><b> INT 21H </b></p><p> PASS1:MOV BX,0FH ;可修改速度 </p><p> MOV CX,0FH </p><p> TIME: LOOP TIME ;延時 </p><p>
52、<b> DEC BX </b></p><p><b> CMP BX,0 </b></p><p><b> JNE TIME </b></p><p> MOV SI,101H </p><p> L7: MOV AH,0CH </p><p
53、> MOV DX,DI </p><p> MOV CX,SI </p><p><b> MOV AL,0 </b></p><p><b> INT 10H </b></p><p><b> INC SI </b></p><p>
54、 CMP SI,120H </p><p><b> JNE L7 </b></p><p> MOV AX,NOWF </p><p> CMP AX,LASTF </p><p><b> JA PASS2 </b></p><p><b> INC
55、 DI </b></p><p> JMP PASS3 </p><p> PASS2: CMP AX,LASTF </p><p> JNE PASS4 </p><p> JMP PASS3 </p><p> PASS4: DEC DI </p><p><b&
56、gt; PASS3: </b></p><p> CMP DI,LASTF ;LASTFLOOR </p><p><b> JNE L6 </b></p><p> MOV SI,101H </p><p> L8: MOV AH,0CH </p><p> MOV DX
57、,DI </p><p> MOV CX,SI </p><p><b> MOV AL,1 </b></p><p><b> INT 10H </b></p><p><b> INC SI </b></p><p> CMP SI,120
58、H </p><p><b> JNE L8 </b></p><p><b> ENDM </b></p><p><b> 3程序調(diào)試</b></p><p><b> 3.1程序調(diào)試說明</b></p><p> 將
59、編譯好生成的可執(zhí)行文件在DOS里進行調(diào)試,根據(jù)調(diào)試界面的提示進行操作,最后按下“q”或者“Q”即可退出界面。</p><p> 3.2程序調(diào)試結(jié)果分析</p><p> 將ASM文件放入DOS BOX中</p><p><b> 現(xiàn)在所在樓層</b></p><p><b> 參考文獻</b>
60、;</p><p> 【1】彭虎,周佩玲,傅忠謙.微機原理與接口技術(shù)(第二版).北京:電子工業(yè)出版社,2005.</p><p> 【2】吳秀清,周荷琴.微型計算機原理與接口技術(shù)(第二版).中國科學技術(shù)大學出版社,2002.</p><p> 【3】沈美明,溫冬禪.IBM-PC匯編語言程序設(shè)計.清華大學出版社,1993.</p><p>
61、; 【4】錢曉捷,陳濤等.16/32位微機原理、匯編語言及接口技術(shù)(第二版). 機械工業(yè)出版社.</p><p> 【5】周艷萍,鄒偉著.匯編語言程序設(shè)計教程. 清華大學出版社.</p><p> 【6】周佩玲,吳耿峰,萬炳奎編.十六位危機計算機原理接口及其應(yīng)用.中國科學技術(shù)大學出版社,1995.</p><p><b> 心得體會</b&g
62、t;</p><p> 對于《微機原理與接口技術(shù)》這門課程而言,初學時,感覺摸不著頭緒。面對著眾多的術(shù)語、概念及原理性的問題不知道該如何下手。在了解課程的特點后,我發(fā)現(xiàn),應(yīng)該以微機的整機概念為突破口,在如何建立整體概念上下功夫?!奥槿鸽m小,五臟俱全”,可以通過學習一個模型機的組成和指令執(zhí)行的過程,了解和熟悉計算機的結(jié)構(gòu)、特點和工作過程?!段C原理與接口技術(shù)》課程有許多新名詞、新專業(yè)術(shù)語。透徹理解這些名詞、術(shù)語
63、的意思,為今后深入學習打下基礎(chǔ)。一個新的名詞從首次接觸到理解和應(yīng)用,需要一個反復的過程。而在眾多概念中,真正關(guān)鍵的并不是很多。比如“中斷”概念,既是重點又是難點,如果不懂中斷技術(shù),就不能算是搞懂了微機原理。在學習中凡是遇到這種情況,絕對不輕易放過,要力求真正弄懂,搞懂一個重點,將使一大串概念迎刃而解。學習過程中,我發(fā)現(xiàn)許多概念很相近,為了更好地掌握,將一些容易混淆的概念集中在一起進行分析,比較它們之間的異同點。比如:微機原理中,引入了
64、計算機由五大部分組成這一概念;從中央處理器引出微處理器的定義;在引出微型計算機定義時,強調(diào)輸入/輸出接口的重要性;在引出微型計算機系統(tǒng)的定義時,強調(diào)計算機軟件與計算機硬件</p><p> 微處理器、微型計算機和微型計算機系統(tǒng)在微機中,最基礎(chǔ)的語言是匯編語言。匯編語言是一個最基礎(chǔ)最古老的計算機語言。語言總是越基礎(chǔ)越重要,在重大的編程項目中應(yīng)用最廣泛。就我的個人理解,匯編是對寄存的地址以及數(shù)據(jù)單元進行最直接的修
65、改。而在某些時候,這種方法是最有效,最可靠的。比如,在當今的戰(zhàn)爭中,首先就是運用這方面的知識來修改地方的系統(tǒng)程序。讓地方的衛(wèi)星偏離軌道,從而不能發(fā)現(xiàn)目標。其威力可見一斑。</p><p> 然而,事物總有兩面性,有優(yōu)點自然缺點也不少。其中,最重要的一點就是,匯編語言很復雜,對某個數(shù)據(jù)進行修改時,本來很簡單的一個操作會用比較煩瑣的語言來解決,而這些語言本身在執(zhí)行和操作的過程中,占有大量的時間和成本。在一些講求效率
66、的場合,并不可取。匯編語言對學習其他計算機起到一個比較、對照、參考的促進作用。學習事物總是從最簡單基礎(chǔ)的開始。那么學習高級語言也當然應(yīng)當從匯編開始。學習匯編語言實際上是培養(yǎng)了學習計算機語言的能力和素養(yǎng)。個人認為,學習匯編語言對學習其他語言很有促進作用。</p><p> 經(jīng)過本次微機課題的設(shè)計與研究,我們深入的學習了除課本以外的很多微機附件的內(nèi)容,掌握了很多實驗室操作技能。我們在實際設(shè)計中遇到很多問題,但結(jié)合所
67、學知識以及參考資料的幫助,不斷地嘗試,設(shè)計了一種能夠解決實際問題的系統(tǒng)。同時也加深了我們對于現(xiàn)實生活中,實際的嵌入式操作系統(tǒng)的原理的理解。</p><p> 在實際設(shè)計過程中,我們遇到了諸多設(shè)計的問題。例仿真系統(tǒng)中某些芯片沒有,這一問題主要是因為我們所設(shè)計的功能諸多,剛開始對于這一設(shè)計在硬件方面設(shè)計不是非常的合理,后來通過使用所用仿真軟件的繪畫功能,新增加了一個芯片便解決了所有的按鍵和現(xiàn)實問題。</p&g
68、t;<p> 在程序設(shè)計中,我們更加深入了解了8086的使用與本質(zhì)。為了能設(shè)計成功,我們查閱了各種關(guān)于其硬件連接和軟件設(shè)計的資料,同時也發(fā)現(xiàn)了理論資料與實踐上的區(qū)別,通過多次嘗試,成功完成了硬件和軟件的設(shè)計。在這次課題設(shè)計過程中,我們合理的分工,適宜的規(guī)劃進度的進展,不僅僅按時完成了預先設(shè)計的內(nèi)容,而且學到了很多書本上沒有的知識。</p><p> 在這一過程中,我們充分發(fā)揮我們的主觀能動性,想
69、象創(chuàng)造性,攻克了很多之前都沒有想過的難關(guān),真的受益匪淺。這次設(shè)計不僅僅耗時耗力,而且還要整天對著電腦進行仿真且不停的調(diào)試、修改,這次課程設(shè)計對我們理論和實驗都有很大的提升,我想這些對于我們今后的學習生活都有很重要的意義,這將是我們在程序設(shè)計以及大學學習過程中的寶貴經(jīng)驗和財富。</p><p><b> 附錄 源程序</b></p><p> ;用于在模擬樓房
70、方框左邊顯示樓層號碼 </p><p> ZHENG MACRO </p><p> LOCAL ML1 </p><p><b> PUSH CX </b></p><p><b> PUSH AX </b></p><p><b> PUSH DX &
71、lt;/b></p><p><b> PUSH SI </b></p><p> MOV CH,13H </p><p> MOV CL,31H </p><p><b> MOV SI,9 </b></p><p> ML1: MOV AH,02H ;2號
72、功能調(diào)用,設(shè)置光標位置</p><p> MOV DH,CH </p><p> MOV DL,1FH </p><p><b> INT 10H </b></p><p> MOV AH,02H </p><p> MOV DL,CL </p><p><
73、b> INT 21H </b></p><p><b> DEC CH </b></p><p><b> INC CL </b></p><p><b> DEC SI </b></p><p><b> JNZ ML1 </b&g
74、t;</p><p><b> POP SI </b></p><p><b> POP DX </b></p><p><b> POP AX </b></p><p><b> POP CX </b></p><p>&
75、lt;b> ENDM </b></p><p> ;用于顯示未上電梯時的模擬狀態(tài)圖形 </p><p> YA MACRO NOWF </p><p> LOCAL L1,L2,L3,L4,L5,L6,L7,L8,PASS1 </p><p> MOV AH,03H </p><p>&l
76、t;b> INT 10H </b></p><p><b> ZHENG</b></p><p> MOV AH,02H </p><p><b> INT 10H </b></p><p> MOV SI,101H </p><p> L0:
77、MOV AH,0CH </p><p> MOV DX,LASTF </p><p> MOV CX,SI </p><p><b> MOV AL,0 </b></p><p><b> INT 10H </b></p><p><b> INC SI
78、</b></p><p> CMP SI,120H </p><p><b> JNE L0 </b></p><p> MOV BH,1H </p><p> MOV SI,100H </p><p> L1: MOV AH,0CH </p><p>
79、; MOV DX,20H </p><p> MOV CX,SI </p><p> MOV AL,BH </p><p><b> INT 10H </b></p><p> ADD SI,1H </p><p><b> INC BH </b></p&g
80、t;<p> CMP SI,120H </p><p><b> JNE L1 </b></p><p> MOV SI,20H </p><p> MOV BH,1H </p><p> L2: MOV AH,0CH </p><p> MOV DX,SI </p
81、><p> MOV CX,100H </p><p> MOV AL,BH </p><p><b> INT 10H </b></p><p> ADD SI,1H </p><p><b> INC BH </b></p><p> CMP
82、 SI,9BH </p><p><b> JNE L2 </b></p><p> MOV SI,100H </p><p> MOV BH,1H </p><p> L3: MOV AH,0CH </p><p> MOV DX,9BH </p><p>
83、MOV CX,SI </p><p> MOV AL,BH </p><p><b> INT 10H </b></p><p><b> INC BH </b></p><p><b> INC SI </b></p><p> CMP SI
84、,120H </p><p><b> JNE L3 </b></p><p> MOV SI,20H </p><p> MOV BH,1H </p><p> L4: MOV AH,0CH </p><p> MOV DX,SI </p><p> MOV
85、CX,120H </p><p> MOV AL,BH </p><p><b> INT 10H </b></p><p> ADD SI,1H </p><p><b> INC BH </b></p><p> CMP SI,9BH </p>&
86、lt;p><b> JNE L4 </b></p><p> MOV FLAG1,1 </p><p> MOV DI,NOWF ;NOWFLOOR </p><p> MOV SI,101H </p><p> L5: MOV AH,0CH </p><p> MOV DX,D
87、I </p><p> MOV CX,SI </p><p><b> MOV AL,1 </b></p><p><b> INT 10H </b></p><p><b> INC SI </b></p><p> CMP SI,120
88、H </p><p><b> JNE L5 </b></p><p><b> ENDM </b></p><p> ;用于顯示電梯運動 </p><p> QIU MACRO NOWF,LASTF </p><p> LOCAL L1,L2,L3,L4,L5,L
89、6,L7,L8,PASS1 </p><p> MOV BH,1H </p><p> MOV SI,100H </p><p> L1: MOV AH,0CH </p><p> MOV DX,20H </p><p> MOV CX,SI </p><p> MOV AL,BH
90、</p><p><b> INT 10H </b></p><p> ADD SI,1H </p><p><b> INC BH </b></p><p> CMP SI,120H </p><p><b> JNE L1 </b><
91、/p><p> MOV SI,20H </p><p> MOV BH,1H </p><p> L2: MOV AH,0CH </p><p> MOV DX,SI </p><p> MOV CX,100H </p><p> MOV AL,BH </p><p&
92、gt;<b> INT 10H </b></p><p> ADD SI,1H </p><p><b> INC BH </b></p><p> CMP SI,9BH </p><p><b> JNE L2 </b></p><p>
93、MOV SI,100H </p><p> MOV BH,1H </p><p> L3: MOV AH,0CH </p><p> MOV DX,9BH </p><p> MOV CX,SI </p><p> MOV AL,BH </p><p><b> INT 1
94、0H </b></p><p><b> INC BH </b></p><p><b> INC SI </b></p><p> CMP SI,120H </p><p><b> JNE L3 </b></p><p> MO
95、V SI,20H </p><p> MOV BH,1H </p><p> L4: MOV AH,0CH </p><p> MOV DX,SI </p><p> MOV CX,120H </p><p> MOV AL,BH </p><p><b> INT 10H
96、 </b></p><p> ADD SI,1H </p><p><b> INC BH </b></p><p> CMP SI,9BH </p><p><b> JNE L4 </b></p><p> MOV FLAG1,1 </p>
97、;<p> MOV DI,NOWF ;NOWFLOOR </p><p> L6: MOV SI,101H </p><p> L5: MOV AH,0CH </p><p> MOV DX,DI </p><p> MOV CX,SI </p><p><b> MOV AL,1
98、</b></p><p><b> INT 10H </b></p><p><b> INC SI </b></p><p> CMP SI,120H </p><p><b> JNE L5 </b></p><p> MOV
99、AX,FLAG1 </p><p><b> CMP AX,1 </b></p><p> JNE PASS1 </p><p> XOR AX,AX </p><p> MOV FLAG1,AX </p><p> MOV AH,09H </p><p> M
100、OV DX,OFFSET MSGEN </p><p><b> INT 21H </b></p><p> MOV DX,OFFSET MSG3 </p><p><b> INT 21H </b></p><p> MOV AH,01H </p><p><
101、b> INT 21H </b></p><p> PASS1:MOV BX,0FH ;可修改速度 </p><p> MOV CX,0FFH </p><p> TIME: LOOP TIME ;延時 </p><p><b> DEC BX </b></p><p>
102、<b> CMP BX,0 </b></p><p><b> JNE TIME </b></p><p> MOV SI,101H </p><p> L7: MOV AH,0CH </p><p> MOV DX,DI </p><p> MOV CX,SI
103、</p><p><b> MOV AL,0 </b></p><p><b> INT 10H </b></p><p><b> INC SI </b></p><p> CMP SI,120H </p><p><b> JNE
104、 L7 </b></p><p> MOV AX,NOWF </p><p> CMP AX,LASTF </p><p><b> JA PASS2 </b></p><p><b> INC DI </b></p><p> JMP PASS3 &l
105、t;/p><p> PASS2: CMP AX,LASTF </p><p> JNE PASS4 </p><p> JMP PASS3 </p><p> PASS4: DEC DI </p><p><b> PASS3: </b></p><p> CMP
106、DI,LASTF ;LASTFLOOR </p><p><b> JNE L6 </b></p><p> MOV SI,101H </p><p> L8: MOV AH,0CH </p><p> MOV DX,DI </p><p> MOV CX,SI </p>
107、<p><b> MOV AL,1 </b></p><p><b> INT 10H </b></p><p><b> INC SI </b></p><p> CMP SI,120H </p><p><b> JNE L8 </b&g
108、t;</p><p><b> ENDM </b></p><p> ;定義程序中要用到的數(shù)據(jù)段 </p><p> DATA SEGMENT </p><p> MSG1 DB ' SIT NOW(1-9F):$' </p><p> MSG2 DB ' WAN
109、T GO(1-9F):$' </p><p> MSG3 DB 'INPUT ANY KEY TO START...$' </p><p> MSG4 DB 'TRY AGAIN (Y/N)..$' </p><p> MSGEN DB 0AH,0DH,'$' </p><p>
110、 NOWF DW ? ;NOWF</p><p> LASTF DW ? ;LASTF</p><p> FLAG1 DW 1 </p><p> DATA ENDS </p><p> ;定義程序中用到的堆棧段 </p><p> STACKS SEGMENT STACK</p><p&
111、gt; BUFS DB 100 DUP(?) </p><p> STACKS ENDS </p><p> ;主代碼段CODE1用于程序的執(zhí)行或結(jié)束 </p><p> CODE1 SEGMENT </p><p> ASSUME CS:CODE1, DS:DATA, SS:STACKS</p><p>
112、 START:MAIN PROC</p><p> MOV AX,DATA </p><p> MOV DS,AX </p><p> MOV AX,STACKS</p><p> MOV SS,AX </p><p> MOV AH,0H </p><p> MOV AL,04H
113、</p><p><b> INT 10H </b></p><p> REPEAT1: CALL FAR PTR ELEVATOR </p><p> MOV AH,09H </p><p> MOV DX,OFFSET MSGEN </p><p><b> INT 21H
114、 </b></p><p> MOV DX,OFFSET MSG4 </p><p><b> INT 21H </b></p><p> MOV AH,01H </p><p><b> INT 21H </b></p><p> CMP AL,
115、9;Y' </p><p> JE REPEAT1 </p><p> CMP AL,'y' </p><p> JE REPEAT1 </p><p> MOV AH,4CH </p><p><b> INT 21H </b></p><p
116、><b> RET </b></p><p> MAIN ENDP </p><p> ELEVATOR PROC NEAR </p><p> REPUT1:MOV AH,09H </p><p> MOV DX,OFFSET MSGEN </p><p><b>
117、INT 21H </b></p><p> MOV DX,OFFSET MSG1 </p><p><b> INT 21H </b></p><p> MOV AH,01H </p><p><b> INT 21H </b></p><p> CMP
118、 AL,'1' </p><p> JB REPUT1 </p><p> CMP AL,'9' </p><p> JA REPUT1 </p><p> SUB AL,30H </p><p> XOR AH,AH </p><p><b>
119、; DEC AX </b></p><p> MOV DX,08H </p><p><b> MUL DX </b></p><p> MOV DX,AX </p><p> MOV AX,9BH </p><p> SUB AX,DX </p><p
120、> MOV NOWF,AX </p><p><b> YA NOWF </b></p><p> REPUT2: MOV AH,09H </p><p> MOV DX,OFFSET MSGEN </p><p><b> INT 21H </b></p><p
121、> MOV DX,OFFSET MSG2 </p><p><b> INT 21H </b></p><p> MOV AH,01H </p><p><b> INT 21H </b></p><p> XOR AH,AH </p><p> CMP A
122、L,'1' </p><p> JB REPUT2 </p><p> CMP AL,'9' </p><p> JG REPUT2 </p><p> SUB AL,30H </p><p> XOR AH,AH </p><p><b>
123、 DEC AX </b></p><p> XOR DX,DX </p><p> MOV DX,AX </p><p> MOV AX,08H </p><p> SUB AX,DX </p><p> MOV DX,AX </p><p> MOV AX,08H &l
124、t;/p><p><b> MUL DX </b></p><p> ADD AX,5BH </p><p> MOV LASTF,AX </p><p> CMP AX,NOWF </p><p> JE REPUT2 </p><p> QIU NOWF,LAS
125、TF </p><p><b> RETF </b></p><p> ELEVATOR ENDP </p><p> CODE1 ENDS </p><p> END START </p><p> 本科生課程設(shè)計成績評定表</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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計--unix程序設(shè)計課程設(shè)計
- 程序設(shè)計課程設(shè)計報告
- 程序設(shè)計課程設(shè)計報告
- matlab程序設(shè)計 課程設(shè)計
- java課程設(shè)計---java程序設(shè)計
- matlab程序設(shè)計 課程設(shè)計 (2)
- 程序設(shè)計課程設(shè)計--鏈表操作
- 《java程序設(shè)計》課程設(shè)計報告
- 【課程設(shè)計】面向?qū)ο蟪绦蛟O(shè)計
- 掃雷課程設(shè)計--掃雷程序設(shè)計
- 課程設(shè)計--linux c 程序設(shè)計
- 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計
- 課程設(shè)計--約瑟夫環(huán)程序設(shè)計
- 程序設(shè)計基礎(chǔ)課程設(shè)計
- c語言程序設(shè)計課程設(shè)計
- web程序設(shè)計課程設(shè)計報告
- 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計
- linux程序設(shè)計課程設(shè)計報告
- java課程設(shè)計--java程序設(shè)計
- 加密解密程序設(shè)計課程設(shè)計
評論
0/150
提交評論