MCS_8086習(xí)題7_第1頁(yè)
MCS_8086習(xí)題7_第2頁(yè)
MCS_8086習(xí)題7_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、習(xí)題 7 1.請(qǐng)編寫完整 8086匯編語言程序統(tǒng)計(jì)08010803班計(jì)算機(jī)原理考試成績(jī):假設(shè)成績(jī)存放在數(shù)據(jù)段0000h 開始的 85 個(gè)字節(jié)單元中;將成績(jī)從高到低進(jìn)行排序;統(tǒng)計(jì)最高成績(jī)和最低成績(jī),分別存放在字節(jié)變量max 和 min 單元中;統(tǒng)計(jì)不及格人數(shù),存放在字節(jié)變量var1中;統(tǒng)計(jì) 9099分人數(shù),存放在字節(jié)變量var2 中;計(jì)算 85 人平均成績(jī),存放在字節(jié)變量avg中;2. 如圖 6-1 所示,以 ibm-pc/xt 計(jì)算機(jī)為核心構(gòu)成的爐溫控制系統(tǒng)。其中 8255的 a 組與 b 組工作在方式 0, 8253 定時(shí)器 0 工作在方式 3 方波發(fā)生器方式,8253輸入計(jì)數(shù)頻率為 100

2、khz。1)試說明 8259、8253、8255 使用的端口地址;(3分)2)芯片初始化( 10 分)單片 8259工作在完全嵌套方式,中斷非自動(dòng)結(jié)束,中斷申請(qǐng)輸入 ir0ir7為邊沿觸發(fā), ir7 對(duì)應(yīng)中斷類型碼為0fh,編寫 8259初始化子程序,命名為 init_8259;8253每定時(shí) 500ms向 8259申請(qǐng)中斷,計(jì)算 8253定時(shí)常數(shù),并編寫 8253初始化子程序,命名為init_8253;8255的 a 口和 c 口上半部作輸出,b 口及 c 口下半部作輸入,編寫 8255初始化子程序,命名為init_8255;3)編寫匯編程序,實(shí)現(xiàn)爐溫的連續(xù)控制,要求包括主程序與中斷服務(wù)程序

3、:主程序完成中斷向量的安裝,8259、8253、8255初始化,以及開中斷,并要求 1 個(gè)小時(shí)后,停止控溫; (假設(shè)系統(tǒng)已經(jīng)提供中斷向量安裝子程序init_int ,初始化時(shí)可直接調(diào)用init_int 、init_8259、init_8253 、init_8255)中斷服務(wù)程序完成保護(hù)現(xiàn)場(chǎng)、中斷處理、發(fā)eoi 命令、恢復(fù)現(xiàn)場(chǎng)、中斷返回等操作; 其中,中斷處理要求每500ms通過 8255的 pa 口讀入一次a/d 數(shù)據(jù),并啟動(dòng)下一次a/d 轉(zhuǎn)換,pc4 平時(shí)為高電平,輸出負(fù)脈沖到start 端,則啟動(dòng) a/d ,轉(zhuǎn)換結(jié)束時(shí) eoc 端由低電平變?yōu)楦唠娖?,要求?3 秒通過 pb 口輸出控制量給

4、 d/a 轉(zhuǎn)換器進(jìn)行一次調(diào)節(jié)。 (假設(shè)系統(tǒng)已提供控制算法子程序proc_ctrl,該子程返回參數(shù)為al,返回參數(shù)即是 d/a 需要輸出的數(shù)字量)參考資料 1:8259 初始化命令字d7d6d5d4d3d2icw41a0000 sfnmbufm/s aeoi upmd0d11ltim adiic4sngld7d6d5d4d3d2d1d0icw1a00d7d6d5d4d3d2icw21a0t6t7t5t4t3d0d1圖 6-1 爐溫控制系統(tǒng)a9a8a7a6a5intrreseta1a0a0out0clk08253d7d0 gate0+5va1rdwrcsa0ir0ir1ir2ir3ir4ir5ir

5、6ir78259intd7d0+5vintardwrcssp/en100khziowa08255d7d0rdwrcsa1resetpc0pa7 pa0pc4a/d 轉(zhuǎn)換器eocstartd7 d0d/a 轉(zhuǎn)換器d7 d0pb7 pb0電爐g1g2acbag2by0y1y2y3y4y5y6y774ls138+5vd7d0iorinta參考資料 2:8259 操作命令字r sl eoi 00l2l0l1d7d6d5d4 d3d2d1d0ocw2a00參考資料 3:8253 控制字sc0 rw1rw0 m2m1bcdm0d7d6d5d4 d3d2d1d0sc1參考資料 4:8255 方式選擇字參考資

6、料 5:8255 c 口按位控制字b2b11/0b0d7d6d5d4 d3d2d1d00d0 = 1 置 1 d0 = 0 復(fù)位0 1 2 3 4 5 6 7 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 3. 如圖6-1所示,adc0809 與ibm-pc/xt 機(jī)相連完成數(shù)據(jù)采集。 adc0809 為8通道的8位逐次比較 adc , d7 d0 為三態(tài)輸出數(shù)據(jù)線,oe 為高電平時(shí)打開三態(tài)門讀取數(shù)據(jù);start 為高電平時(shí)啟動(dòng) adc 開始工作; addc 、addb 、adda 為8路模擬輸入選擇,由ale 鎖存; adc 轉(zhuǎn)換結(jié)束時(shí) eo

7、c 輸出高電平, adc0809 的轉(zhuǎn)換時(shí)間為 100微秒。系統(tǒng)設(shè)計(jì)中, 由8253定時(shí)器0定時(shí),每隔10毫秒啟動(dòng) adc0809 工作,轉(zhuǎn)換結(jié)束后,由 eoc 向8259的發(fā)出中斷請(qǐng)求,在中斷服務(wù)程序中讀取轉(zhuǎn)換結(jié)果。adc0809的addc 、addb 、adda 全部接地,總是選擇第 0通道,其余輸入通道均接地。8259工作在普通全嵌套方式, 中斷申請(qǐng)輸入 ir0ir7為邊沿觸發(fā), ir0的中斷類型碼為08h,中斷為非自動(dòng)結(jié)束。圖中aen為地址允許信號(hào),低電平時(shí)選中端口,地址總線經(jīng)譯碼后,8259占用端口地址 20h和21h,8253占用端口地址 40h43h,adc0809占用端口地址1

8、60h。ir0ir1sp/enir2ir3ir4ir5ir6ir7d7 d0intrda0wr+5v8259gate0gate1gate2+5vout0out1out2clk0clk2clk1時(shí)鐘源1mhzclkdqqd7 d0rdwra1a0cs8253cs500khzd7 d0intrintaa1a0y0y1y2y3y4y5y6y7g1g2ag2bcba74ls138a8a6a5ioriow05vin0in1in2in3in4in5in6in7vr+vr-d7d0adc0809oeeocaddcaddbaddaclkalestart基準(zhǔn)源+5vvia9a7aeninta1)1)8253定時(shí)

9、器 0工作在方式 2,即分頻模式,定時(shí)時(shí)間為 10毫秒,請(qǐng)編寫8253初始化程序段。(4分)2)讀取adc0809轉(zhuǎn)換結(jié)果的中斷服務(wù)程序?yàn)閚ew_int0a,請(qǐng)編寫程序段將new_int0a 的入口地址安裝到中斷向量表中,并且要求在雙字變量oldintvect中保存原來的中斷向量。 (4分)3)請(qǐng)編寫一段程序設(shè)置 if以允許可屏蔽中斷請(qǐng)求,并設(shè)置8259的中斷屏蔽寄存器 imr以允許 ir2引腳上的中斷請(qǐng)求。(2分)4)以下為讀取 adc0809的中斷服務(wù)程序 new_int0a ,請(qǐng)根據(jù)注釋在橫線處補(bǔ)充8086匯編語句,使得程序完整。 (10分)參考資料:圖 6-1 接口電路應(yīng)用d7d6d5

10、d4d3d2d1d0sc0sc1rw1rw0 m2 m1 m0 bcd8253 控制字:d7d6d5d4d3d28259 owc1 :1a0m6m7m5m4m3m2m1m0d0d1dos功能調(diào)用 25h號(hào)子功能為設(shè)置中斷向量入口參數(shù): ah=25h, al= 中斷類型碼ds:dx存放中斷服務(wù)程序的入口地址出口參數(shù):無dos 功能調(diào)用 35h 號(hào)子功能為取中斷向量入口參數(shù): ah=35h, al= 中斷類型碼出口參數(shù): es:bx 為所取的中斷向量,其中bx 存放偏移量, es存放段地址new_int0a proc far push ds ;保護(hù)現(xiàn)場(chǎng)mov ax, dataseg2 mov ds

11、, ax ;使 ds 指向新的數(shù)據(jù)段;讀取 adc0809 轉(zhuǎn)換結(jié)果mov adcdata, al ;將轉(zhuǎn)換結(jié)果保存在內(nèi)存變量adcdata 中;發(fā) eoi 命令;恢復(fù)現(xiàn)場(chǎng)pop ds ;中斷返回new_int0a endp 4. 利用pc 機(jī)現(xiàn)有的硬件和軟件資源設(shè)計(jì)程序,以實(shí)現(xiàn)在顯示器上顯示 (選做題)xx (時(shí)) :xx (分) :xx (秒)(1)設(shè)計(jì)思路pc 機(jī)系統(tǒng)板上使用一片 8253,其地址為 40h 43h ,其通道 0以方式 3工作,每55ms 向中斷控制器 8259a irq0端發(fā)一次中斷請(qǐng)求。本設(shè)計(jì)題要求借用原有電路,重新設(shè)置 8253的計(jì)數(shù)器 0每10ms 產(chǎn)生一次中斷, 100次中斷后加 1秒,然后調(diào)整時(shí)、分、秒并示在屏幕上。(2) 實(shí)時(shí)時(shí)鐘的功能按下任意鍵開始顯示時(shí)間值, 并且每秒更新

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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)論