微機(jī)原理課程設(shè)計(jì)--模擬電風(fēng)扇工作_第1頁(yè)
已閱讀1頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  課 程 設(shè) 計(jì) 報(bào) 告</p><p>  課程設(shè)計(jì)名稱:微機(jī)系統(tǒng)綜合課程設(shè)計(jì)</p><p>  課程設(shè)計(jì)題目:模擬電風(fēng)扇工作</p><p>  院(系):計(jì)算機(jī)學(xué)院</p><p>  專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)</p><p><b>  目 錄</b>&l

2、t;/p><p>  第1章 總體設(shè)計(jì)方案1</p><p>  1.1 設(shè)計(jì)原理1</p><p>  1.2 設(shè)計(jì)思路1</p><p>  1.3 實(shí)驗(yàn)環(huán)境2</p><p>  第2章 詳細(xì)設(shè)計(jì)方案3</p><p>  2.1 硬件電路設(shè)計(jì)3</p><

3、p>  2.2主程序設(shè)計(jì)4</p><p>  2.3 功能選擇模塊的設(shè)計(jì)與實(shí)現(xiàn)5</p><p>  2.3.1計(jì)時(shí)模塊流程圖5</p><p>  2.3.2顯示模塊流程圖6</p><p>  2.3.3改變風(fēng)速模塊流程圖6</p><p>  第3章 結(jié)果測(cè)試及分析7</p>

4、<p>  3.1 結(jié)果測(cè)試7</p><p>  3.2結(jié)果分析7</p><p><b>  參考文獻(xiàn)8</b></p><p><b>  附 錄9</b></p><p>  第1章 總體設(shè)計(jì)方案</p><p><b>  1.

5、1 設(shè)計(jì)原理</b></p><p>  利用芯片8259,8255,8253,8279,分別控制中斷,單色發(fā)光二極管,時(shí)鐘,和LED顯示。用受8253控制的8259給8255和8279產(chǎn)生每秒鐘一次的中斷,控制單色發(fā)光二極管和LED的顯示。</p><p><b>  1.2 設(shè)計(jì)思路</b></p><p>  首先需要一個(gè)

6、總開(kāi)關(guān),用來(lái)控制電風(fēng)扇的開(kāi)關(guān),可以用8255的輸入端A接收這一信號(hào),信號(hào)為1時(shí)進(jìn)入循環(huán),此時(shí)單色發(fā)光二極管不亮,當(dāng)不為1時(shí)執(zhí)行下一步。</p><p>  其次需要實(shí)現(xiàn)的功能是三級(jí)風(fēng)速的變換,可以設(shè)計(jì)三個(gè)變換延時(shí)的子程序,并根據(jù)鍵盤輸入的不同來(lái)分別調(diào)用這三個(gè)步驟。</p><p>  再次是要實(shí)現(xiàn)定時(shí)功能,用8253和8259實(shí)現(xiàn)這一功能并不困難,當(dāng)時(shí)間減為零時(shí),向8255的AL中輸入OF

7、FH,使單色發(fā)光二極管不顯示。</p><p>  還有就是單色發(fā)光二極管的顯示問(wèn)題,只需將8255中控制單色發(fā)光二極管顯示的數(shù)據(jù)循環(huán)左移或右移即可。</p><p><b>  提出方案</b></p><p>  總開(kāi)關(guān)是用來(lái)控制風(fēng)扇的啟動(dòng)停止的,所以只需有兩種狀態(tài),即開(kāi)和關(guān),所以,選擇用實(shí)驗(yàn)箱右下角的開(kāi)關(guān)來(lái)實(shí)現(xiàn)這一功能。為了能顯示風(fēng)扇的轉(zhuǎn)

8、動(dòng),選用8255和實(shí)驗(yàn)箱上的8個(gè)單色發(fā)光二極管來(lái)顯示風(fēng)扇的轉(zhuǎn)動(dòng)。為了實(shí)現(xiàn)定時(shí)功能,選用8253定時(shí),8259產(chǎn)生中斷,用中斷程序來(lái)控制定時(shí)。由于定時(shí)時(shí)需要顯示倒計(jì)時(shí),所以還需要8279鍵盤顯示接口芯片。</p><p><b>  方案論證</b></p><p>  用8255和單色發(fā)光二極管模擬風(fēng)扇的轉(zhuǎn)動(dòng),所以,可以將8255的B口設(shè)為工作在方式0,輸出狀態(tài),然后

9、通過(guò)輸出不同二進(jìn)制數(shù)來(lái)控制單色發(fā)光二極管的顯示,通過(guò)循環(huán)右移使單色發(fā)光二極管循環(huán)顯示來(lái)實(shí)現(xiàn)風(fēng)扇轉(zhuǎn)動(dòng)的模擬。</p><p>  用右下角的開(kāi)關(guān)控制風(fēng)扇的轉(zhuǎn)動(dòng)與停止,所以,可將8255A口設(shè)為方式0,輸入狀態(tài),來(lái)讀取開(kāi)關(guān)的狀態(tài),然后在程序中判斷輸入的是1還是0,進(jìn)而控制風(fēng)扇的轉(zhuǎn)動(dòng)與停止。</p><p>  為了實(shí)現(xiàn)定時(shí)的功能,可以用8253的分頻功能,將輸入的脈沖信號(hào)分頻,以輸出1HZ的脈

10、沖信號(hào),然后輸入到8259的INT0以產(chǎn)生周期為1s的中斷,即每秒鐘進(jìn)一次中斷,在中斷服務(wù)程序中來(lái)實(shí)現(xiàn)時(shí)間的遞減,當(dāng)減到0時(shí)就將風(fēng)扇停止,這樣就實(shí)現(xiàn)了定時(shí)功能了。</p><p>  為了實(shí)現(xiàn)三級(jí)風(fēng)速的選擇和定時(shí)功能、定時(shí)時(shí)間的變化顯示等功能,需要8279的鍵盤顯示功能,在鍵盤上設(shè)置A,B,C三個(gè)鍵分別控制三級(jí)風(fēng)速,再設(shè)置一個(gè)D按鍵來(lái)控制定時(shí)功能的選擇,當(dāng)按下定時(shí)功能鍵D后,還需要鍵盤的數(shù)字鍵來(lái)實(shí)現(xiàn)定時(shí)時(shí)間的設(shè)定

11、,設(shè)定完成后還需再次按下D鍵來(lái)確認(rèn)。最后就是用數(shù)碼管顯示時(shí)間的變化了。</p><p><b>  1.3 實(shí)驗(yàn)環(huán)境</b></p><p>  ·硬件環(huán)境:AEDK實(shí)驗(yàn)箱,PC機(jī)。</p><p>  ·軟件環(huán)境:LCA88ET應(yīng)用軟件。</p><p>  第2章 詳細(xì)設(shè)計(jì)方案</p&g

12、t;<p>  2.1 硬件電路設(shè)計(jì)</p><p>  硬件電路由鍵盤顯示接口芯片8279構(gòu)成,如圖2.1所示。</p><p>  圖2.1 硬件電路連線圖</p><p>  8279是可編程設(shè)置型鍵盤/顯示芯片,其特點(diǎn)是:(1)可同時(shí)進(jìn)行鍵盤掃描及文字顯示;(2)鍵盤掃描模式;(3)傳感器掃描模式;(4)激發(fā)輸入模式;(5)8乘8鍵盤FIF

13、O;(6)具有接點(diǎn)消除抖動(dòng),2鍵鎖定及N鍵依次讀出模式;(7)雙排8位數(shù)或雙排16位數(shù)顯示器;(8)右邊進(jìn)入或左邊進(jìn)入,16字符或8字符顯示。8255的A口工作在方式0,輸入;B口工作在方式0,輸出;C口工作在方式0,輸出;</p><p>  8253將脈沖源分頻,產(chǎn)生周期為1s的脈沖信號(hào),驅(qū)動(dòng)8259產(chǎn)生周期為1s的中斷。8255、8259、8253、8279的端口地址分別接210H-217H、220H-22

14、7H、200H-207H、228H-22FH。</p><p><b>  主程序設(shè)計(jì)</b></p><p>  下載到實(shí)驗(yàn)箱之后,由主控開(kāi)關(guān)K控制程序運(yùn)行,調(diào)節(jié)風(fēng)速和設(shè)定定時(shí)由中斷程序?qū)崿F(xiàn),電風(fēng)扇模擬轉(zhuǎn)動(dòng)由8個(gè)單色燈實(shí)現(xiàn)。當(dāng)開(kāi)關(guān)K斷開(kāi)或者定時(shí)到達(dá)時(shí),電風(fēng)扇停轉(zhuǎn),程序結(jié)束。</p><p>  圖2.2 主程序流程圖</p>

15、<p>  2.3 功能選擇模塊的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  2.3.1計(jì)時(shí)模塊流程圖</p><p>  計(jì)時(shí)器模塊,主要實(shí)現(xiàn)對(duì)電風(fēng)扇的定時(shí)功能,并在定時(shí)期間支持改變風(fēng)速的功能,對(duì)設(shè)定的時(shí)間進(jìn)行減一操作,當(dāng)剩余時(shí)間為0時(shí),則停止電風(fēng)扇的工作,結(jié)束程序。</p><p>  圖2.3.1 功能選擇模塊流程圖</p><p>

16、  2.3.2顯示模塊流程圖</p><p>  用于模擬電風(fēng)扇的轉(zhuǎn)速和旋轉(zhuǎn)方向,由一個(gè)循環(huán)右移實(shí)現(xiàn),使單色燈循環(huán)點(diǎn)亮。</p><p>  圖2.3.2 顯示模塊流程圖</p><p>  2.3.3改變風(fēng)速模塊流程圖</p><p>  通過(guò)鍵盤的輸入,8259產(chǎn)生中斷,程序讀取輸入內(nèi)容,A,B,C為改變風(fēng)速,當(dāng)讀取到相應(yīng)的內(nèi)容時(shí),改變

17、為相應(yīng)的風(fēng)速。</p><p>  圖2.3.3 改變風(fēng)速模塊流程圖</p><p>  第3章 結(jié)果測(cè)試及分析</p><p>  3.1 結(jié)果測(cè)試 </p><p>  編譯并連接程序,然后全速運(yùn)行,在數(shù)碼管上就顯示計(jì)時(shí)器的時(shí)間,開(kāi)始時(shí)是全0。此時(shí)單色發(fā)光二

18、極管為全滅。將開(kāi)關(guān)K1向上扳去,此時(shí)8255的PA0口輸入高電平,PB口輸出使單色發(fā)光二極管循環(huán)亮燈。即以一定的速度循環(huán)點(diǎn)亮八個(gè)燈,模擬出了電風(fēng)扇的轉(zhuǎn)動(dòng)。當(dāng)需要改變風(fēng)速時(shí),只需按下鍵盤上的A、B、C鍵,便可切換風(fēng)速。當(dāng)需要設(shè)定運(yùn)行時(shí)間時(shí),只需要按下D鍵,則進(jìn)入定時(shí)狀態(tài),接著只需按下鍵盤上的數(shù)字鍵,設(shè)定好定時(shí)的時(shí)間,然后再按下D鍵,風(fēng)扇就將在設(shè)定的時(shí)間內(nèi)轉(zhuǎn)動(dòng),并且在數(shù)碼管上顯示時(shí)間的變化,以一秒為單位逐漸減少,當(dāng)減到0時(shí),風(fēng)扇就將停止轉(zhuǎn)動(dòng)

19、,單色燈全滅,如此便實(shí)現(xiàn)了定時(shí)功能。如要讓單色燈再亮,則需將總開(kāi)關(guān)關(guān)掉再打開(kāi)。</p><p><b>  結(jié)果分析</b></p><p>  開(kāi)始運(yùn)行時(shí),發(fā)現(xiàn)單色發(fā)光二極管并不是按理想順序逐漸點(diǎn)亮紅色,而是與風(fēng)扇轉(zhuǎn)動(dòng)方向相反,檢查硬件連線卻并沒(méi)有發(fā)現(xiàn)錯(cuò)誤,后來(lái),檢查程序時(shí)發(fā)現(xiàn)將循環(huán)右移的代碼寫(xiě)錯(cuò)了,從而導(dǎo)致了與旋轉(zhuǎn)方向相反的循環(huán)點(diǎn)亮順序,改正后完美運(yùn)行。</

20、p><p>  風(fēng)扇正常運(yùn)行了,但是在定時(shí)時(shí)發(fā)現(xiàn)數(shù)碼管上的時(shí)間變化過(guò)于緩慢,于是檢查8253芯片的初始化程序,發(fā)現(xiàn)CLK1的輸入時(shí)倍數(shù)太大,于是將其數(shù)值調(diào)小后運(yùn)行,發(fā)現(xiàn)時(shí)間變化回歸正常。</p><p>  實(shí)驗(yàn)結(jié)果總的來(lái)說(shuō)基本實(shí)現(xiàn)了課設(shè)的要求,雖然有些小問(wèn)題和還會(huì)有些不穩(wěn)定,這些問(wèn)題我會(huì)在以后的不斷學(xué)習(xí)中進(jìn)行完善 。</p><p><b>  參考文獻(xiàn)&l

21、t;/b></p><p>  [1]王愛(ài)英.計(jì)算機(jī)組成與設(shè)計(jì) [M] 北京:教育出版社, 2003</p><p>  [2]楊素行.微型計(jì)算機(jī)系統(tǒng)原理及應(yīng)用 [M] 北京: 清華大學(xué)出版社, 1996</p><p>  [3]張雪蘭.匯編語(yǔ)言程序設(shè)計(jì) [M] 北京: 清華大學(xué)出版社, 2006</p><p>  [4]龔尚

22、福.微機(jī)原理與接口技術(shù) [M] 西安: 西安電子科技大學(xué)出版社, 2003</p><p>  [5]王中民.微型計(jì)算機(jī)原理 [M] 西安: 西安電子科技大學(xué)出版社, 2003</p><p>  [6]沈美明,溫冬嬋.IBM-PC匯編語(yǔ)言程序設(shè)計(jì)[M] 北京: 清華大學(xué)出版社, 2001</p><p><b>  附 錄</b>&

23、lt;/p><p><b>  程序清單:</b></p><p>  data segment</p><p>  isend db 0</p><p><b>  n0 db 0</b></p><p><b>  n1 db 0</b></p&g

24、t;<p><b>  n2 db 0</b></p><p>  isright db 1</p><p>  keykind db 0</p><p>  oldkey db 0</p><p><b>  kind db 0</b></p><p>  i

25、sstop db 0</p><p>  flags db 0</p><p>  numbers db 3fh,6,5bh,0,0,0,0,0,0,0</p><p><b>  data ends</b></p><p>  code segment</p><p>  assume cs:c

26、ode,ds:data</p><p>  main:                ??;主程序</p><p><b>  cli</b></p><p><b>  mov ax,cs</b></p><p><b>  mov ds,ax</b></p>&

27、lt;p>  mov kind,0</p><p>  mov isright,1</p><p>  mov keykind,0ah</p><p>  mov oldkey,0ah</p><p>  mov kind,0</p><p>  mov isstop,0</p><p>

28、  mov flags,0</p><p>  mov isend,0</p><p><b>  mov n0,0</b></p><p><b>  mov n1,0</b></p><p><b>  mov n2,0</b></p><p>  

29、call initnumbers</p><p>  call init8255</p><p>  call init8259</p><p>  call init8253</p><p>  call modifyint</p><p>  mov dx,212h</p><p><

30、b>  mov al,0</b></p><p><b>  out dx,al</b></p><p>  call cleardevice</p><p>  call display</p><p><b>  mov al,0</b></p><p>

31、;  mov dx,22ah</p><p><b>  out dx,al</b></p><p>  mov al,30h</p><p><b>  out dx,al</b></p><p>  mov al,7fh</p><p><b>  sti<

32、;/b></p><p><b>  dowhat:</b></p><p><b>  push ax</b></p><p><b>  dowait:</b></p><p>  mov al,0ffh              ??;單色燈清零</p>

33、<p>  mov dx,211h</p><p><b>  out dx,al</b></p><p>  mov dx,210h</p><p><b>  in al,dx</b></p><p>  test al,1                ;判斷開(kāi)關(guān)</p>

34、;<p><b>  jz dowait</b></p><p><b>  pop ax</b></p><p>  call readakey</p><p>  cmp keykind,0ah</p><p><b>  jnz a1</b></p&g

35、t;<p>  mov kind,2</p><p>  call gotonext</p><p><b>  jmp aa</b></p><p>  a1:                  ??;判斷風(fēng)速改變</p><p>  cmp keykind,0bh</p><p>

36、<b>  jnz a2</b></p><p>  mov kind,1</p><p>  call gotonext</p><p><b>  jmp aa</b></p><p><b>  a2:</b></p><p>  cmp keyk

37、ind,0ch</p><p><b>  jnz a3</b></p><p>  mov kind,0</p><p>  call gotonext</p><p><b>  jmp aa</b></p><p><b>  a3:</b><

38、;/p><p>  cmp keykind,0dh</p><p><b>  jnz a4</b></p><p><b>  push ax</b></p><p>  mov dx,212h</p><p><b>  mov al,0</b><

39、/p><p><b>  out dx,al</b></p><p><b>  pop ax</b></p><p>  mov isstop,0</p><p><b>  push ax</b></p><p>  mov al,oldkey</

40、p><p>  mov keykind,al</p><p>  call reading</p><p>  mov dx,212h</p><p>  mov al,0ffh</p><p><b>  out dx,al</b></p><p><b>  po

41、p ax</b></p><p><b>  sti</b></p><p><b>  jmp aa</b></p><p><b>  a4:</b></p><p>  cmp keykind,0eh</p><p><b>

42、  jnz aa</b></p><p><b>  not flags</b></p><p><b>  push ax</b></p><p>  mov al,oldkey</p><p>  mov keykind,al</p><p><b>

43、;  pop ax</b></p><p><b>  aa:</b></p><p>  jmp dowhat</p><p>  gotonext:                ?。粏紊珶粞h(huán)亮滅</p><p>  mov dx,211h</p><p><b>  

44、out dx,al</b></p><p>  cmp flags,0</p><p><b>  jnz noror</b></p><p><b>  ror al,1</b></p><p><b>  noror:</b></p><p&

45、gt;  cmp al,0feh</p><p>  jnz continue</p><p>  jmp continue</p><p><b>  continue:</b></p><p>  cmp kind,2</p><p><b>  jnz mm1</b>&

46、lt;/p><p>  call speed2</p><p><b>  jmp mm3</b></p><p>  mm1:                  ;改變風(fēng)速</p><p>  cmp kind,1</p><p><b>  jnz mm2</b></p

47、><p>  call speed1</p><p><b>  jmp mm3</b></p><p><b>  mm2:</b></p><p>  cmp kind,0</p><p><b>  jnz mm3</b></p><

48、;p>  call speed0</p><p><b>  mm3:</b></p><p><b>  push ax</b></p><p><b>  mm33:</b></p><p>  cmp isstop,0</p><p><

49、;b>  jz mm4</b></p><p>  mov dx,211h</p><p>  mov al,0ffh</p><p><b>  out dx,al</b></p><p>  mov dx,210h</p><p><b>  in al,dx<

50、;/b></p><p><b>  test al,1</b></p><p><b>  jnz mm33</b></p><p>  mov isstop,0</p><p><b>  cli</b></p><p><b>  

51、mm4:</b></p><p><b>  pop ax</b></p><p><b>  ret</b></p><p>  readakey:               ;讀取鍵盤輸入</p><p><b>  push ax</b></p>

52、<p>  mov al,keykind</p><p>  mov oldkey,al</p><p>  mov dx,22ah</p><p><b>  in al,dx</b></p><p>  and al,0fh</p><p><b>  cmp al,0

53、</b></p><p>  jz gotoexit</p><p>  mov al,40h</p><p>  mov dx,22ah</p><p><b>  out dx,al</b></p><p>  mov dx,228h</p><p><

54、;b>  in al,dx</b></p><p>  mov keykind,al</p><p><b>  gotoexit:</b></p><p><b>  pop ax</b></p><p><b>  ret</b></p>&

55、lt;p>  speed1:                ??;速度設(shè)置</p><p><b>  push cx</b></p><p>  mov cx,18000</p><p><b>  sp1:</b></p><p><b>  loop sp1</b>&

56、lt;/p><p><b>  pop cx</b></p><p><b>  ret</b></p><p><b>  speed2:</b></p><p><b>  push cx</b></p><p>  mov cx,

57、50000</p><p><b>  sp2:</b></p><p><b>  loop sp2</b></p><p><b>  pop cx</b></p><p><b>  ret</b></p><p><b

58、>  speed0:</b></p><p><b>  push cx</b></p><p>  mov cx,8000</p><p><b>  sp0:</b></p><p><b>  loop sp0</b></p><p&

59、gt;<b>  pop cx</b></p><p><b>  ret</b></p><p><b>  readisd:</b></p><p><b>  key:</b></p><p>  mov dx,22ah</p><

60、;p><b>  in al,dx</b></p><p>  and al,0fh</p><p><b>  cmp al,0</b></p><p><b>  jz key</b></p><p>  mov al,40h</p><p>

61、<b>  out dx,al</b></p><p>  mov dx,228h</p><p><b>  in al,dx</b></p><p>  cmp al,0dh</p><p><b>  jnz key</b></p><p><

62、;b>  ret</b></p><p>  reading:                  ;輸入時(shí)間</p><p><b>  push ax</b></p><p><b>  mov n0,0</b></p><p><b>  mov n1,0</b

63、></p><p><b>  mov n2,0</b></p><p>  call readanumber</p><p><b>  mov n0,al</b></p><p>  call display</p><p>  call readanumber&l

64、t;/p><p>  cmp al,0dh</p><p>  jz readexit</p><p><b>  mov ah,n0</b></p><p><b>  mov n0,al</b></p><p><b>  mov n1,ah</b>&l

65、t;/p><p>  call display</p><p>  call readanumber</p><p>  cmp al,0dh</p><p>  jz readexit</p><p><b>  mov ah,n0</b></p><p><b>

66、  mov n0,al</b></p><p><b>  mov al,n1</b></p><p><b>  mov n1,ah</b></p><p><b>  mov n2,al</b></p><p>  call display</p>

67、<p>  call readisd</p><p><b>  readexit:</b></p><p><b>  pop ax</b></p><p><b>  ret</b></p><p>  readanumber:</p><p

68、><b>  key2:</b></p><p>  mov dx,22ah</p><p><b>  in al,dx</b></p><p>  and al,0fh</p><p><b>  cmp al,0</b></p><p>&l

69、t;b>  jz key2</b></p><p>  mov al,40h</p><p><b>  out dx,al</b></p><p>  mov dx,228h</p><p><b>  in al,dx</b></p><p><b

70、>  ret</b></p><p>  initnumbers:</p><p><b>  push bx</b></p><p>  mov bx,offset numbers</p><p>  mov byte ptr[bx],3fh</p><p>  mov byt

71、e ptr[bx+1],6</p><p>  mov byte ptr[bx+2],5bh</p><p>  mov byte ptr[bx+3],4fh</p><p>  mov byte ptr[bx+4],66h</p><p>  mov byte ptr[bx+5],6dh</p><p>  mov

72、byte ptr[bx+6],7dh</p><p>  mov byte ptr[bx+7],7</p><p>  mov byte ptr[bx+8],7fh</p><p>  mov byte ptr[bx+9],6fh</p><p><b>  pop bx</b></p><p>

73、<b>  ret</b></p><p>  display:               ;時(shí)間顯示</p><p>  call cleardevice</p><p>  mov bx,offset numbers</p><p>  mov al,80h</p><p>  mov dx

74、,22ah</p><p><b>  out dx,al</b></p><p><b>  mov al,n0</b></p><p><b>  xor ah,ah</b></p><p><b>  add bx,ax</b></p>

75、<p>  mov al,[bx]</p><p>  mov dx,228h</p><p><b>  out dx,al</b></p><p>  mov bx,offset numbers</p><p>  mov al,81h</p><p>  mov dx,22ah&

76、lt;/p><p><b>  out dx,al</b></p><p>  mov dx,228h</p><p><b>  mov al,n1</b></p><p><b>  xor ah,ah</b></p><p><b>  ad

77、d bx,ax</b></p><p>  mov al,[bx]</p><p><b>  out dx,al</b></p><p>  mov bx,offset numbers</p><p>  mov al,82h</p><p>  mov dx,22ah</p&

78、gt;<p><b>  out dx,al</b></p><p>  mov dx,228h</p><p><b>  mov al,n2</b></p><p><b>  xor ah,ah</b></p><p><b>  add bx,a

79、x</b></p><p>  mov al,[bx]</p><p><b>  out dx,al</b></p><p><b>  ret</b></p><p><b>  intcount:</b></p><p><b&g

80、t;  push ax</b></p><p><b>  push bx</b></p><p><b>  push dx</b></p><p><b>  cmp n0,0</b></p><p><b>  jz next1</b>&

81、lt;/p><p><b>  dec n0</b></p><p><b>  jmp next4</b></p><p><b>  next1:</b></p><p><b>  mov n0,9</b></p><p><

82、;b>  cmp n1,0</b></p><p><b>  jz next2</b></p><p><b>  dec n1</b></p><p><b>  jmp next4</b></p><p><b>  next2:</b&

83、gt;</p><p><b>  mov n1,9</b></p><p><b>  cmp n2,0</b></p><p><b>  jz next3</b></p><p><b>  dec n2</b></p><p&g

84、t;<b>  jmp next4</b></p><p><b>  next3:</b></p><p><b>  mov n2,9</b></p><p><b>  next4:</b></p><p><b>  cmp n0,0&l

85、t;/b></p><p><b>  jnz next5</b></p><p><b>  cmp n1,0</b></p><p><b>  jnz next5</b></p><p><b>  cmp n2,0</b></p>

86、<p><b>  jnz next5</b></p><p>  mov isstop,1</p><p>  mov dx,212h</p><p><b>  mov al,0</b></p><p><b>  out dx,al</b></p>

87、;<p><b>  next5:</b></p><p>  call display</p><p><b>  pop dx</b></p><p><b>  pop bx</b></p><p><b>  pop ax</b>&l

88、t;/p><p><b>  iret</b></p><p><b>  init8255:</b></p><p>  mov al,90h</p><p>  mov dx,213h</p><p><b>  out dx,al</b></p&

89、gt;<p><b>  ret</b></p><p><b>  init8259:</b></p><p>  mov al,13h</p><p>  mov dx,220h</p><p><b>  out dx,al</b></p>&

90、lt;p>  mov dx,221h</p><p>  mov al,30h</p><p><b>  out dx,al</b></p><p><b>  mov al,3</b></p><p><b>  out dx,al</b></p>&l

91、t;p>  mov al,0feh</p><p><b>  out dx,al</b></p><p><b>  ret</b></p><p>  modifyint:</p><p><b>  push ds</b></p><p>&

92、lt;b>  push bx</b></p><p><b>  push ax</b></p><p><b>  xor ax,ax</b></p><p><b>  mov ds,ax</b></p><p>  mov bx,30h*4</p&

93、gt;<p>  mov ax,offset intcount</p><p>  mov [bx],ax</p><p>  mov ax,8100h</p><p>  mov [bx+2],ax</p><p><b>  pop ax</b></p><p><b>

94、;  pop bx</b></p><p><b>  pop ds</b></p><p><b>  ret</b></p><p><b>  init8253:</b></p><p><b>  push ax</b></p&g

95、t;<p>  mov al,35h</p><p>  mov dx,203h</p><p><b>  out dx,al</b></p><p>  mov ax,0ffffh</p><p>  mov dx,200h</p><p><b>  out dx,a

96、l</b></p><p><b>  mov al,ah</b></p><p><b>  out dx,al</b></p><p>  mov al,75h</p><p>  mov dx,203h</p><p><b>  out dx,a

97、l</b></p><p><b>  mov ax,27</b></p><p>  mov dx,201h</p><p><b>  out dx,al</b></p><p><b>  mov al,ah</b></p><p>&

98、lt;b>  out dx,al</b></p><p><b>  pop ax</b></p><p><b>  ret</b></p><p>  cleardevice:</p><p><b>  push ax</b></p>&l

99、t;p><b>  push dx</b></p><p>  mov al,0c1h</p><p>  mov dx,22ah</p><p><b>  out dx,al</b></p><p><b>  wait1:</b></p><p&

100、gt;  mov dx,22ah</p><p><b>  in al,dx</b></p><p>  test al,80h</p><p><b>  jnz wait1</b></p><p><b>  pop dx</b></p><p>

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論