微機(jī)原理課程設(shè)計(jì)---電梯升降設(shè)計(jì)_第1頁
已閱讀1頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  《微型計(jì)算機(jī)原理與接口技術(shù)》</p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  設(shè)計(jì)題目:電梯升降設(shè)計(jì)</p><p>  班 級(jí):通行09-1 </p><p>  姓 名: </p><p>  學(xué) 號(hào):

2、</p><p>  指導(dǎo)老師: </p><p>  2011年12月29日</p><p><b>  摘要</b></p><p>  隨著現(xiàn)代經(jīng)濟(jì)和城市生活的發(fā)展,電梯成為人們?nèi)粘I畋夭豢缮俚拇焦ぞ?,電梯性能的好壞?duì)人們生活的影響越來越顯著。傳統(tǒng)繼電器電梯控制系統(tǒng),由于繼電器本身的機(jī)械和電磁慣性大

3、,大大降低了電梯系統(tǒng)的可靠性和安全性。為了保證電梯運(yùn)行既高效節(jié)能又安全可靠,必須改進(jìn)電梯控制方式。根據(jù)順序邏輯控制的需要發(fā)展起來的可編程控制器,它是專門為工業(yè)環(huán)境應(yīng)用而設(shè)計(jì)的數(shù)字運(yùn)算操作的電子裝置。8088CPU編程可靠性高,能夠保證電梯正常、安全、可靠地運(yùn)行。同時(shí),由于電機(jī)交流變頻調(diào)速技術(shù)的發(fā)展,電梯的拖動(dòng)方式己由原來直流調(diào)速逐漸過渡到了變頻調(diào)速,不僅能滿足乘客的舒適感和保證平穩(wěn)的精度,還可以降低能耗,節(jié)約能源,減小運(yùn)行費(fèi)用。本文將基

4、于8088CPU的變頻調(diào)速方法應(yīng)用到電梯系統(tǒng)中,并對(duì)此方法進(jìn)行研究。</p><p>  交流電梯與交流電機(jī)的發(fā)展緊密相連,至今已有三十多年的發(fā)展歷史,經(jīng)歷了由簡(jiǎn)單到復(fù)雜、由低級(jí)到高級(jí)的發(fā)展歷程,大致可以劃分為三個(gè)階段:</p><p>  第一個(gè)階段是70年代,其主要標(biāo)志是交流雙速電梯,它采用改變牽引電機(jī)極對(duì)數(shù)來實(shí)現(xiàn)調(diào)速。電機(jī)通常采用兩種或兩種以上不同極對(duì)數(shù)的繞組制成,其中極數(shù)少的繞組稱

5、為高速繞組,用于電梯的起動(dòng)及穩(wěn)速運(yùn)行,極數(shù)多的繞組稱為低速繞組,用于電梯的制動(dòng)及維修。</p><p>  第二個(gè)階段是80年代盛行的交流調(diào)壓調(diào)速電梯,其性能優(yōu)越于交流雙速電梯。調(diào)壓調(diào)速的方法是通過改變?nèi)喈惒诫姍C(jī)定子端的供電電壓實(shí)現(xiàn)電機(jī)的調(diào)速,其制動(dòng)多采用能耗制動(dòng)。</p><p>  第三個(gè)階段是90年代,變壓變頻調(diào)速電梯(VVVF電梯)開始占據(jù)了世界電梯的市場(chǎng)。VVVF電梯通過調(diào)節(jié)電

6、機(jī)定子繞組供電電壓的幅值和頻率來實(shí)現(xiàn)轉(zhuǎn)速的調(diào)節(jié)。電梯傳動(dòng)系統(tǒng)中,由于大量采用微機(jī)控制技術(shù)和脈寬調(diào)制技術(shù) (PWM技術(shù)),其運(yùn)行效率得到了大幅度的提高,電梯的體積大為縮小。在我國,電梯工業(yè)起步較晚,改革開放以來,也取得了一定的進(jìn)步。但遺憾的是,這些公司多為合資公司,電梯控制關(guān)鍵部分的變頻器、控制器等重要組成部分很大程度依靠進(jìn)口,其核心技術(shù)牢牢控制在國外大公司手中。</p><p>  本文8255芯片對(duì)電梯驚醒控制

7、,且應(yīng)用了七段顯示數(shù)碼管對(duì)樓層進(jìn)行顯示。</p><p>  關(guān)鍵詞:電梯,可編程控制器,變頻調(diào)速,旋轉(zhuǎn)編碼器</p><p><b>  目錄</b></p><p>  一、實(shí)習(xí)目的 …………………………………………………………………3</p><p>  二、實(shí)習(xí)內(nèi)容與要求………………………………………………………

8、…3</p><p>  三、實(shí)驗(yàn)報(bào)告要求……………………………………………………………3</p><p>  四、電梯的工作方式…………………………………………………………3</p><p>  五、總體設(shè)計(jì)思路……………………………………………………………4</p><p>  六、系統(tǒng)硬件電路設(shè)計(jì)……………………………………………………

9、…5</p><p>  1、設(shè)計(jì)結(jié)構(gòu)………………………………………………………………………5</p><p>  2、模塊分析………………………………………………………………………5</p><p>  3、畫出響應(yīng)的電路圖……………………………………………………………6</p><p>  七、軟件設(shè)計(jì) ……………………………………………

10、……………………6</p><p>  1.主要設(shè)計(jì)模塊要求……………………………………………………………… 6</p><p>  2.程序流程圖 …………………………………………………………………… 7</p><p>  (1)主程序框圖. .………………………………………………………………… 7</p><p> ?。?)中斷服務(wù)程序

11、框圖…………………………………………………………… 8</p><p> ?。?)電梯算法流程圖……………………………………………………………… 8</p><p>  八、實(shí)現(xiàn)程序………………………………………………………………… 8</p><p>  九、設(shè)計(jì)體會(huì)………………………………………………………………… 16</p><p>

12、  十、參考資料………………………………………………………………… 17</p><p><b>  一、實(shí)習(xí)目的</b></p><p>  1.掌握七段數(shù)碼管工作原理; </p><p>  2.掌握計(jì)算機(jī)對(duì)輸入信號(hào)檢測(cè)和輸出控制的基本方法; </p><p>  3.掌握常用按鈕、發(fā)光二極管的使用方法。 </

13、p><p>  4.提高學(xué)生的動(dòng)手能力,達(dá)到理論和實(shí)踐緊密結(jié)合。</p><p><b>  二、實(shí)習(xí)內(nèi)容與要求</b></p><p><b>  1. 實(shí)習(xí)內(nèi)容 </b></p><p>  首先了解電梯運(yùn)行規(guī)律,我們結(jié)合實(shí)際假設(shè)電梯的幾種運(yùn)行情況: </p><p> ?。?/p>

14、1)若當(dāng)前電梯停在某層(七段碼顯示相應(yīng)樓層,7個(gè)LED 全滅)。鍵入1~9數(shù)字鍵,如鍵入的數(shù)字與當(dāng)前電梯停層同,則不產(chǎn)生動(dòng)作;若不同則相應(yīng)樓層的LED亮;如再按運(yùn)行鍵,則電梯自動(dòng)判別上升或下降(在運(yùn)行過程中七段碼顯示樓層變化)一直到達(dá)希望停的樓層(七段碼顯示該樓層,相應(yīng)LED亮); </p><p>  (2)若當(dāng)前電梯正在上升或下降運(yùn)行中(此時(shí)七段碼顯示樓層變化,LED指示希望抵達(dá)的樓層);若鍵入新的希望停的樓

15、層數(shù)字(相應(yīng)的LED亮),則對(duì)同方向(上升或下降)未到的樓層能停,對(duì)其它情況則先停原來按下的樓層,然后按運(yùn)行鍵后繼續(xù)運(yùn)行)。有如下幾種情況: </p><p>  ?  電梯當(dāng)前在3層,向上運(yùn)行,LED 指示希望在5層停,此時(shí)若鍵入3,則電梯將在5樓停(同方向),若再按運(yùn)行鍵,則繼續(xù)運(yùn)行至7層停; </p><p>  ?  鍵入的不是5而是7,則電梯將先停在7層,再按運(yùn)行鍵,運(yùn)行至7層停

16、; </p><p>  ?  鍵入的不是7(或5),而是1,則電梯先停在7層(先達(dá)同方向樓層)。再按運(yùn)行鍵,運(yùn)行至1層停。 </p><p><b>  2.連接線路 </b></p><p>  并行接口電路選擇8255芯片,七段數(shù)碼管、LED 指示燈連接線路由學(xué)生自己設(shè)計(jì),可 </p><p>  參考實(shí)驗(yàn)指導(dǎo)書的

17、相關(guān)內(nèi)容。樓層數(shù)字鍵和運(yùn)行按鈕都可由PC機(jī)鍵盤代替 </p><p><b>  3.編寫程序 </b></p><p>  4.調(diào)試程序。匯編、連接后執(zhí)行程序,觀察電梯運(yùn)行情況。</p><p><b>  三、實(shí)習(xí)報(bào)告要求</b></p><p><b>  1.設(shè)計(jì)目的和內(nèi)容<

18、/b></p><p><b>  2.總體設(shè)計(jì)</b></p><p> ?。常布O(shè)計(jì):原理圖(接線圖)及簡(jiǎn)要說明</p><p>  4.設(shè)計(jì)結(jié)果和體會(huì)(包括遇到的問題及解決的方法)</p><p><b>  四、電梯的工作方式</b></p><p>  電梯

19、工作按以下方式運(yùn)行: </p><p>  1.假設(shè)當(dāng)前電梯停在某層(LED顯示相應(yīng)樓層, 5個(gè)發(fā)光二極管全滅)。鍵入數(shù)字鍵,如鍵入的數(shù)字與當(dāng)前電梯??繉酉嗤瑒t什么也不做,若不同則相應(yīng)樓層的發(fā)光二極管亮;電梯自動(dòng)判別上升或下降(在運(yùn)行過程中用八段碼來顯示樓層變化)一直到達(dá)希望停的樓層(八段碼顯示該樓層,相應(yīng) LED 滅)。 </p><p>  2.假設(shè)當(dāng)前電梯正在上升或下降運(yùn)行(此時(shí)八

20、段碼顯示樓層變化, LED 指示希望抵達(dá)的樓層),若鍵入新的希望停靠的樓層數(shù)字(相應(yīng)的 LED 亮),則對(duì)同方向(上升或下降)未到的樓層能??浚瑢?duì)其它情況則先??吭认M5臉菍樱缓罄^續(xù)運(yùn)行)。</p><p><b>  如下幾例: </b></p><p>  設(shè)電梯當(dāng)前在 2層,向上運(yùn)行,LED指示希望在4層停,此時(shí)若鍵入3,則電梯將在3樓停,然后繼續(xù)運(yùn)行至4

21、層停; </p><p>  同上情況,若鍵入的不是 3而是5,則電梯將先停在4層,然后運(yùn)行至5層停; </p><p>  同上情況,若鍵入的不是 3(或5),而是1,則電梯先停在4層,然后運(yùn)行至1層停。 </p><p><b>  五、總體設(shè)計(jì)思路</b></p><p>  本設(shè)計(jì)主要是利用微機(jī)應(yīng)用實(shí)驗(yàn)平臺(tái)來模擬

22、電梯的運(yùn)行,用到了平臺(tái)上的一個(gè)非編碼鍵盤、LED顯示器、八段數(shù)碼管等模塊。</p><p>  有5個(gè)樓層,需要用5個(gè)按鍵模擬電梯中的請(qǐng)求按鈕,用5個(gè)按鍵模擬5個(gè)樓層每層向上請(qǐng)求的按鈕,再用5個(gè)模擬5個(gè)樓層每層向下請(qǐng)求的按鈕。非編碼鍵盤有16個(gè)鍵,可以用1-5號(hào)鍵模擬電梯內(nèi)的按鈕,用6-0號(hào)鍵模擬每層向上請(qǐng)求的按紐,A-E模擬每層向下請(qǐng)求的按紐。</p><p>  當(dāng)電梯靜止?fàn)顟B(tài)時(shí),無論

23、外部哪一層有請(qǐng)求,電梯都由靜止?fàn)顟B(tài)轉(zhuǎn)入向上或向下運(yùn)行的狀態(tài),直到到達(dá)請(qǐng)求的樓層;當(dāng)電梯處于向上運(yùn)行的狀態(tài)時(shí),此時(shí)高于該樓層向上的請(qǐng)求和內(nèi)部請(qǐng)求級(jí)別最高,其次是所有樓層向下的請(qǐng)求,再次是低于該樓層向上的請(qǐng)求;當(dāng)電梯處于向下運(yùn)行的狀態(tài)時(shí)則情況相反。</p><p>  由于中斷級(jí)別在隨著電梯所處樓層的不同而變化,而且中斷源比較多。所以用每一個(gè)中斷源直接和中斷控制器相連,需要用到多個(gè)8259A級(jí)聯(lián),很不方便。為解決這個(gè)

24、問題,首先定義三個(gè)單字節(jié)變量REQ_U、REQ_D和REQ_IN分別存儲(chǔ)電梯每一層向上、向下和內(nèi)部的請(qǐng)求,每一個(gè)變量用低5位,每一位代表一層。例如,REQ_U為 00000110B,這代表在2層和3層有向上的請(qǐng)求。8253定時(shí)器每隔20ms產(chǎn)生一次中斷,中斷程序便去執(zhí)行掃描鍵盤,當(dāng)掃描到有電梯內(nèi)部或者外部按鍵時(shí),將請(qǐng)求存儲(chǔ)到變量中。每到一個(gè)狀態(tài)時(shí)再檢查請(qǐng)求變量REQ_U、REQ_D和REQ_IN的值,根據(jù)電梯的運(yùn)行方向和變量中的請(qǐng)求,來

25、決定電梯下一步的運(yùn)行。</p><p>  設(shè)電梯的當(dāng)前樓層為floor(floor=1~7),運(yùn)行方向?yàn)閐ir(dir=0,向上;dir=1,向下),在電梯運(yùn)行的工程中,用數(shù)碼管輸出floor值顯示當(dāng)前的樓層。LED輸出REQ_IN的值顯示電梯內(nèi)已經(jīng)請(qǐng)求的樓層。</p><p>  六、系統(tǒng)硬件電路設(shè)計(jì)</p><p>  由于采用了PC機(jī)資源和微機(jī)實(shí)驗(yàn)平臺(tái),不需

26、要其他的硬件電路。利用了微機(jī)平臺(tái)上的8253定時(shí)/計(jì)數(shù)器、8255并行接口單元、LED單元、非編碼鍵盤、數(shù)碼管顯示單元等等。</p><p>  系統(tǒng)結(jié)構(gòu)框圖,如圖1所示。</p><p><b>  1、設(shè)計(jì)結(jié)構(gòu):</b></p><p><b>  圖1 系統(tǒng)結(jié)構(gòu)框圖</b></p><p>&

27、lt;b>  2、模塊分析:</b></p><p>  (1)可編程定時(shí)/計(jì)數(shù)器8253</p><p>  定時(shí)/計(jì)數(shù)器8253主要是用于定時(shí)20ms,觸發(fā)中斷進(jìn)行鍵盤掃描。電路連線是CLOCK0接Q6,分頻后頻率為46875Hz,OUT0接中斷IRQ2,每20ms中斷一次,GATE0接5v。計(jì)數(shù)器的初值應(yīng)該是3A9H。</p><p> ?。?/p>

28、2)8255并行接口單元</p><p>  8255主要是用于鍵盤的掃描和發(fā)光二極管的數(shù)據(jù)輸出。所以用8255A口的低7位接7個(gè)發(fā)光二極管,B口低4位接非編碼鍵盤的列線,高4位接鍵盤的行線。</p><p>  (3) LED顯示系統(tǒng)</p><p>  雖然只用了1格LED顯示器,但為了數(shù)字更新更方便,主程序更加簡(jiǎn)單,故此系統(tǒng)選用動(dòng)態(tài)顯示方式。由于系統(tǒng)的軟件部分

29、的運(yùn)行時(shí)的核心程序是一直循環(huán)的,因此顯示程序也是在循環(huán)過程中一直被調(diào)用,從而實(shí)時(shí)地被顯示出來。</p><p><b> ?。?)非編碼鍵盤</b></p><p>  本系統(tǒng)采用的是行反轉(zhuǎn)法來掃描鍵盤的,調(diào)用鍵盤掃描的程序TESTKEY后,程序中的變量KEY的值就是按下的鍵的值,如果KEY為0FFH則表示無鍵盤輸入,為0~15 則按照上往下從左往右的順序分別代表每一

30、個(gè)按鍵按下的信息。不過此掃描程序沒有考慮到多個(gè)按鍵同時(shí)按下的情況。又因?yàn)槟M電梯的按鍵一般不會(huì)有兩個(gè)按鍵同時(shí)按下的情況,所以,多個(gè)按鍵的情況可以不予考慮。</p><p>  3、畫出相應(yīng)的電路圖:</p><p><b>  圖2 電路原理圖</b></p><p><b>  七、軟件設(shè)計(jì)</b></p>

31、<p>  本設(shè)計(jì)的軟件設(shè)計(jì)的思路:通過軟件編程使8253輸出定時(shí)信號(hào)申請(qǐng)中斷,在中斷服務(wù)程序中掃描鍵盤,如果有按鍵,修改相應(yīng)的變量位,并輸出內(nèi)部請(qǐng)求變量REQ_IN到發(fā)光二極管顯示當(dāng)前的內(nèi)部請(qǐng)求樓層。在主程序中,查詢變量的值,根據(jù)電梯調(diào)度算法運(yùn)行電梯。</p><p>  1.主要設(shè)計(jì)模塊要求</p><p>  程序主要包括以下主要模塊:鍵盤掃描程序、LED顯示程序、電梯調(diào)

32、度算法。</p><p>  鍵盤掃描程序:采用的是行反轉(zhuǎn)法來掃描鍵盤的,相應(yīng)的程序設(shè)計(jì)請(qǐng)參考實(shí)驗(yàn)指導(dǎo)書上實(shí)驗(yàn)3中的相關(guān)介紹。</p><p>  LED顯示程序:本設(shè)計(jì)只用到了一個(gè)LED,只要將floor轉(zhuǎn)換為相應(yīng)的段碼。先輸出位碼,再輸出段碼,循環(huán)輸出就可以動(dòng)態(tài)顯示。為了循環(huán)的顯示,將LED顯示程序放在中斷服務(wù)程序中。相應(yīng)的程序設(shè)計(jì)請(qǐng)參考實(shí)驗(yàn)指導(dǎo)書上實(shí)驗(yàn)3中的相關(guān)介紹。</p&g

33、t;<p>  電梯調(diào)度算法:在設(shè)計(jì)時(shí)將電梯一次從下到上視為一次運(yùn)行(注意不一定從底層到頂層),同理,電梯一次從上到下也視為一次運(yùn)行(注意不一定從頂層到底層)。             </p><p>  當(dāng)電梯向上運(yùn)行時(shí):   </p><p>  位于當(dāng)前層以下的向上請(qǐng)求都被忽略留

34、到下次向上運(yùn)行時(shí)處理。    </p><p>  位于當(dāng)前層以上的向上請(qǐng)求都被記錄留到此次運(yùn)行處理。 </p><p>  無論哪層的向下請(qǐng)求都被忽略留到下次向下運(yùn)行時(shí)處理。          </p><p>  當(dāng)電梯向下運(yùn)行時(shí):    </p><

35、p>  位于當(dāng)前層以上的向下請(qǐng)求都被忽略留到下次向下運(yùn)行時(shí)處理。          </p><p>  位于當(dāng)前層以下的向下請(qǐng)求都被記錄留到此次運(yùn)行處理。      </p><p>  無論哪層的向上請(qǐng)求都被忽略留到下次向上運(yùn)行時(shí)處理。</p><p>  2.程序流程圖

36、    </p><p><b>  1)主程序框圖:</b></p><p><b>  圖3 主程序框圖</b></p><p>  2)中斷服務(wù)程序框圖:</p><p>  圖4 中斷服務(wù)程序框圖</p><p>  3)電梯算法流程圖:

37、</p><p>  其中,dir代表電梯的運(yùn)行方向,0代表電梯向上運(yùn)行,1代表向下運(yùn)動(dòng)。設(shè)REQ_U(n)代表第n層向上的請(qǐng)求,同樣,REQ_D(n) 代表第n層向下的請(qǐng)求,REQ_IN(n) 代表第n層內(nèi)部的請(qǐng)求。求next的方法為:電梯向上時(shí),next為內(nèi)部請(qǐng)求的最小值和向上請(qǐng)求的大于floor的最小值之間的小者。電梯向下時(shí),next為內(nèi)部請(qǐng)求的最大值和向下請(qǐng)求中小于floor的最大值之間的大者。沒有滿足要

38、求的時(shí)返回0。</p><p><b>  電梯算法流程圖:</b></p><p>  圖5 電梯算法流程圖</p><p><b>  八、實(shí)現(xiàn)程序</b></p><p>  FNUM MACRO </p><p>  LOCAL ML1 </p>&

39、lt;p><b>  PUSH CX </b></p><p><b>  PUSH AX </b></p><p><b>  PUSH DX </b></p><p><b>  PUSH SI </b></p><p>  MOV CH

40、,13H </p><p>  MOV CL,31H </p><p><b>  MOV SI,9 </b></p><p>  ML1: MOV AH,02H ; </p><p>  MOV DH,CH </p><p>  MOV DL,1FH </p><p>

41、<b>  INT 10H </b></p><p>  MOV AH,02H </p><p>  MOV DL,CL </p><p><b>  INT 21H </b></p><p><b>  DEC CH </b></p><p><

42、b>  INC CL </b></p><p><b>  DEC SI </b></p><p><b>  JNZ ML1 </b></p><p><b>  POP SI </b></p><p><b>  POP DX </b>

43、;</p><p><b>  POP AX </b></p><p><b>  POP CX </b></p><p><b>  ENDM </b></p><p>  SITUATION MACRO NOWF </p><p>  LOCAL L

44、1,L2,L3,L4,L5,L6,L7,L8,PASS1 </p><p>  MOV AH,03H </p><p><b>  INT 10H </b></p><p><b>  FNUM </b></p><p>  MOV AH,02H </p><p><b

45、>  INT 10H </b></p><p>  MOV SI,101H </p><p>  L0: MOV AH,0CH </p><p>  MOV DX,LASTF </p><p>  MOV CX,SI </p><p><b>  MOV AL,0 </b><

46、;/p><p><b>  INT 10H </b></p><p><b>  INC SI </b></p><p>  CMP SI,120H </p><p><b>  JNE L0 </b></p><p>  MOV BH,1H </p&

47、gt;<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 </p><p><b>  INT 10H </b><

48、/p><p>  ADD SI,1H </p><p><b>  INC BH </b></p><p>  CMP SI,120H </p><p><b>  JNE L1 </b></p><p>  MOV SI,20H </p><p>  M

49、OV 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><p> 

50、 ADD SI,1H </p><p><b>  INC BH </b></p><p>  CMP SI,9BH </p><p><b>  JNE L2 </b></p><p>  MOV SI,100H </p><p>  MOV BH,1H </p>

51、;<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></p><p><b>  INC BH &l

52、t;/b></p><p><b>  INC SI </b></p><p>  CMP SI,120H </p><p><b>  JNE L3 </b></p><p>  MOV SI,20H </p><p>  MOV BH,1H </p>

53、<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 </b></p><p>  ADD SI,1H </p>

54、<p><b>  INC BH </b></p><p>  CMP SI,9BH </p><p><b>  JNE L4 </b></p><p>  MOV FLAG1,1 </p><p>  MOV DI,NOWF ;NOWFLOOR </p><p&

55、gt;  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 </b></p><p><b>  INT 10H </b

56、></p><p><b>  INC SI </b></p><p>  CMP SI,120H </p><p><b>  JNE L5 </b></p><p><b>  ENDM </b></p><p>  MOVEF MACRO N

57、OWF,LASTF </p><p>  LOCAL L1,L2,L3,L4,L5,L6,L7,PASS1 </p><p>  MOV BH,1H </p><p>  MOV SI,100H </p><p>  L1: MOV AH,0CH </p><p>  MOV DX,20H </p>&l

58、t;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><p>  CMP SI,120H &

59、lt;/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><p>  MOV CX,100H

60、 </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><p>

61、;<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>  MOV CX,SI </p><p&

62、gt;  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,120H </p><p>&

63、lt;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 CX,120H </p><p>

64、;  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><p><b>  JNE L4 &l

65、t;/b></p><p>  MOV FLAG1,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> 

66、 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,120H </p><p><

67、;b>  JNE L5 </b></p><p>  MOV AX,FLAG1 </p><p><b>  CMP AX,1 </b></p><p>  JNE PASS1 </p><p>  XOR AX,AX </p><p>  MOV FLAG1,AX </p

68、><p>  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&

69、gt;<p>  MOV AH,01H </p><p><b>  INT 21H </b></p><p>  PASS1:MOV BX,06FFH </p><p>  MOV CX,0FFFFH </p><p>  TIME: LOOP TIME </p><p><

70、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>

71、  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>  CM

72、P 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 DI

73、</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> 

74、 PASS3: </b></p><p>  CMP DI,LASTF ;LASTFLOOR </p><p><b>  JNE L6 </b></p><p>  MOV SI,101H </p><p><b>  ENDM </b></p><p>  D

75、ATA SEGMENT </p><p>  MSG1 DB 'FLOOR 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...$&#

76、39; </p><p>  MSG4 DB 'WANT EXPERIENCE AGAIN (Y/N)..$' </p><p>  MSGEN DB 0AH,0DH,'$' </p><p><b>  NOWF DW ?</b></p><p>  LASTF DW ?</p&g

77、t;<p>  FLAG1 DW 1 </p><p>  DATA ENDS </p><p>  STACK SEGMENT </p><p>  BUFS DB 100 DUP(?) </p><p>  TOPS LABEL WORD </p><p>  STACK ENDS </p>

78、;<p>  CODE1 SEGMENT </p><p>  ASSUME CS:CODE1, DS:DATA, SS:STACK </p><p>  MAIN PROC </p><p>  DSEG SEGMENT</p><p>  TABLE DB 40H,06H,5BH,4FH,66H,6DH,7DH,07H

79、</p><p>  DSEG ENDS</p><p>  CSEG SEGMENT</p><p>  ASSUME CS:CSEG,DS:DSEG</p><p>  START: MOV AX,DSEG</p><p>  MOV DS,AX</p><p> 

80、 MOV AL,82H</p><p>  MOV DX,9003H</p><p>  LEA BX,TABLE</p><p>  OUT DX,AL</p><p>  MOV DX,8004H </p><p>  MOV AX,0000H</p>

81、<p>  MOV SI,AX</p><p>  MOV AL,[BX+SI]</p><p>  OUT DX,AL</p><p>  MOV AL,02H</p><p>  MOV DX,8002H</p><p>  OUT DX,AL</p>

82、<p>  MOV AL,0FFH</p><p>  MOV DX,9003H</p><p>  OUT DX,AL</p><p>  MOV AL,00H</p><p>  MOV DX,9003H</p><p>  OUT DX,AL</p>

83、<p>  ;---------------------------- </p><p>  MOV CX, 500 </p><p>  L1: MOV DX,8004H</p><p>  MOV AX,0005H</p><p>  MOV SI,AX</p>

84、;<p>  MOV AL,[BX+SI]</p><p>  OUT DX,AL</p><p>  MOV AL,01H</p><p>  MOV DX,8002H</p><p>  OUT DX,AL</p><p>  CALL DELAY</p>

85、<p>  MOV DX,8004H</p><p>  MOV AX,0000H</p><p>  MOV SI,AX</p><p>  MOV AL,[BX+SI]</p><p>  OUT DX,AL</p><p>  MOV AL,02H</p&g

86、t;<p>  MOV DX,8002H</p><p>  OUT DX,AL</p><p>  CALL DELAY</p><p><b>  LOOP L1</b></p><p>  MOV DX,8004H</p><p>  MOV A

87、L,00H</p><p>  OUT DX,AL</p><p>  MOV AL,00H</p><p>  MOV DX,8002H</p><p>  OUT DX,AL </p><p>  DELAY PROC</p><p>  PUSH B

88、X</p><p>  PUSH CX</p><p>  MOV BL,1</p><p>  NEXT: MOV CX,1167</p><p>  W10MS: LOOP W10MS</p><p>  DEC BL</p><p>  JNZ

89、 NEXT</p><p>  MOV DX,8004H</p><p>  MOV AL,00H</p><p>  OUT DX,AL</p><p>  MOV AL,00H</p><p>  MOV DX,8002H</p><p>  OUT

90、DX,AL</p><p><b>  POP CX</b></p><p>  POP BX </p><p><b>  RET</b></p><p>  DELAY ENDP</p><p>  CSEG ENDS</p>

91、<p>  END START</p><p><b>  九、設(shè)計(jì)體會(huì)</b></p><p>  在以前沒有這方面鍛煉的我,當(dāng)知道要做課程設(shè)計(jì)的時(shí)候心里面感覺有些害怕和擔(dān)心, 擔(dān)心自己不會(huì)或者做不好。但是當(dāng)真的要做的時(shí)候也只好進(jìn)自己作大的努力去做, 做到自己最好的。</p><p>  我們接到的題目是電梯升降控制設(shè)計(jì)時(shí)

92、,我們的主要任務(wù)就是要在上面加上自己的附加功能。開始想加什么功能便是我們最先需要思考的,總是不能很好的將其短線是數(shù)碼管很好的轉(zhuǎn)換和應(yīng)用。我們?cè)傧爰悠渌δ芰耍?我們首先想到的是加時(shí)間和日期, 但是得知很多同學(xué)都加這個(gè)功能,但是對(duì)于我來說,這門課程學(xué)的不是很好,而能力有限,也就不能達(dá)到要求了。</p><p>  接我們就要進(jìn)行我們的設(shè)計(jì),如何在這上面架這個(gè)功能是我們需要研究和學(xué)習(xí)的,我們?cè)谶@個(gè)過程中參閱資料,請(qǐng)教

93、同學(xué),終于做成了這個(gè)顯示時(shí)間和日期的附加功能。但是我們又遇到了一問題,在這個(gè)過程中,我們發(fā)現(xiàn)是調(diào)用過程中出現(xiàn)順序錯(cuò)誤,經(jīng)過這個(gè)我們不僅改正錯(cuò)誤,而且使自己的有關(guān)調(diào)用的知識(shí)也得到了加深和鞏固。</p><p>  我們?cè)谶@個(gè)過程中有很多自己的感受,我想很多同學(xué)都會(huì)和我有一樣的感受,那就是感覺匯編語言真的是很神奇,很有意思。但是我們的時(shí)間很緊迫,面臨期末考試,也沒有更多的時(shí)間去研究這些有趣的設(shè)計(jì)。我們從開始的擔(dān)心和害

94、怕漸漸變成了享受,享受著匯編帶給我們的快樂??粗约鹤龀鰜淼臇|西,心里面的感覺真的很好。雖然我們做的東西在別人看來很簡(jiǎn)單都還很簡(jiǎn)單,但是畢竟是我們自己親手,我們的能力有限,做起來也就不是那么得心應(yīng)手了。雖然借助了很多網(wǎng)絡(luò)資料,但是能對(duì)這些東西有一些了解,我也很高興了。我想微機(jī)原理課程設(shè)計(jì)和其他課程設(shè)計(jì)有共同的地方,那就是不僅加深和鞏固了我們的課本知識(shí),而且增強(qiáng)了我們自己動(dòng)腦,自己動(dòng)手的能力。但是我想他也有它的獨(dú)特指出,那就是讓我們進(jìn)入一

95、個(gè)神奇的世界,那就是編程。對(duì)于很多學(xué)過匯編或者其他的類似程序的同學(xué)來說,這不算新奇,但是對(duì)于我來說真的新奇,很有趣,也是我有更多的興趣學(xué)習(xí)微機(jī)原理和其他的匯編。</p><p>  在此感謝老師每天不辭勞苦的對(duì)我們指導(dǎo),也感謝同學(xué)們的幫助。</p><p><b>  十、參考資料</b></p><p>  1、《微型計(jì)算機(jī)原理與接口技術(shù)》

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論