微機(jī)原理與接口技術(shù)(樓順天第二版)第九章習(xí)題解答_第1頁
微機(jī)原理與接口技術(shù)(樓順天第二版)第九章習(xí)題解答_第2頁
微機(jī)原理與接口技術(shù)(樓順天第二版)第九章習(xí)題解答_第3頁
微機(jī)原理與接口技術(shù)(樓順天第二版)第九章習(xí)題解答_第4頁
微機(jī)原理與接口技術(shù)(樓順天第二版)第九章習(xí)題解答_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、微機(jī)原理與接口技術(shù)(樓順天第二版)習(xí)題解答第9章 定時(shí)/計(jì)數(shù)器8253應(yīng)用設(shè)計(jì)9.1答:假定已經(jīng)約定采用A2,A1作為8253的內(nèi)部地址線,而且計(jì)數(shù)器0的地址為00,所以在題中所給的地址中只有51H,59H的A2和A1同時(shí)為0,即:A2A1=00。9.2 答:9.3 答:MOV DX,COUNTD ;寫入計(jì)數(shù)器0的方式控制字 MOV AL,00111000B OUT DX,AL MOV DX,COUNTA ;設(shè)置計(jì)數(shù)器0的常數(shù) MOV AX,10000 OUT DX,AL XCHG AL,AH OUT DX,AL L1: MOV DX,COUNTD ;向計(jì)數(shù)器0發(fā)鎖存命令 MOV AL,0H

2、OUT DX,AL MOV DX,COUNTA ;讀入CE IN AL,DX MOV AH,AL IN AL,DX XCHG AL,AH CMP AX,1000 ;判別CE當(dāng)前大小 JA L1 9.4 答:本題使用計(jì)數(shù)器0和計(jì)數(shù)器1級(jí)聯(lián),并且計(jì)數(shù)器0的輸出OUT0作為計(jì)數(shù)器1的時(shí)鐘輸入CLK1。程序如下:MOVDX,COUNTD;寫計(jì)數(shù)器0方式控制字MOVAL,00110110BOUTDX,ALMOVDX,COUNTAMOVAX,10000 ;寫計(jì)數(shù)器0時(shí)常數(shù),分頻得到100Hz時(shí)鐘頻率OUTDX,ALXCHGAL,AHOUTDX,ALMOVDX,COUNTD;寫計(jì)數(shù)器1方式控制字MOVAL,

3、01110000BOUTDX,ALMOVDX,COUNTBMOVAX,999;分頻得到0.1Hz時(shí)鐘頻率。(在方式0下,時(shí)常數(shù)為N時(shí), ;OUT輸出的低電平寬度為N+1).OUTDX,ALXCHGAL,AHOUTDX,ALL1: ;延時(shí)MOVDX,COUNTD; 當(dāng)前CE的內(nèi)容鎖存到OLMOVAL,01000000BOUTDX,ALMOVDX,COUNTBINAL,DXMOVAH,ALINAL,DXXCHGAL,AHCMPAX,999JNAL1;延時(shí)結(jié)束,則繼續(xù)執(zhí)行,否則,跳到L1,繼續(xù)延時(shí).9.5 答:8253的方式2與方式3均為一次計(jì)數(shù)完成后自動(dòng)裝入計(jì)數(shù)初值再計(jì)數(shù)的計(jì)數(shù)方式。差別是方式2設(shè)

4、定計(jì)數(shù)N時(shí)N-1時(shí)鐘周期為高電平,1時(shí)鐘周期為低電平;方式3設(shè)定計(jì)數(shù)N時(shí),若N為偶數(shù),則N/2周期為高電平,N/2周期為低電平,若N為奇數(shù),則(N+1)/2周期為高電平,(N-1)/2周期為低電平。9.6 答:CLK為計(jì)數(shù)時(shí)鐘,每個(gè)時(shí)鐘周期計(jì)數(shù)一次,GATE為門控信號(hào),在方式0、方式2、方式3、方式4中,GATE信號(hào)為高電平時(shí)正常計(jì)數(shù),GATE信號(hào)為地點(diǎn)平時(shí)暫停計(jì)數(shù);在方式1和方式5中由GATE信號(hào)觸發(fā)計(jì)數(shù)。9.7 答:方式0與方式4方式0, OUT端計(jì)數(shù)過程中為低,計(jì)數(shù)值減為0時(shí),輸出變高方式4, OUT端計(jì)數(shù)過程中為高,計(jì)數(shù)值減為0時(shí)輸出寬度為1個(gè)CLK的負(fù)脈沖方式1,與方式5方式1, O

5、UT端輸出寬度為n個(gè)CLK的低電平,計(jì)數(shù)值減為0時(shí),輸出為高方式5, OUT端計(jì)數(shù)過程中為高,計(jì)數(shù)值減為0時(shí)輸出寬度為1個(gè)CLK的負(fù)脈沖9.8 答:OUT0輸出為20微妙方波,可用方式三直接產(chǎn)生;OUT1輸出周期為200微秒,其中每周期為負(fù)的時(shí)間是180微秒的信號(hào),可用OUT0輸出的20微秒方波作為CLK1計(jì)數(shù)時(shí)鐘,使計(jì)數(shù)器1工作在方式2,計(jì)數(shù)初值為200微妙/20微妙=10。硬件上要在OUT1輸出端接一反相器就可實(shí)現(xiàn)題目要求產(chǎn)生的在OUT1輸出周期為200微秒,其中每周期為負(fù)的時(shí)間是180微秒的信號(hào)。8253的初始化程序如下:MOV DX,287H ;寫計(jì)數(shù)器0控制方式字MOV AL,000

6、10110BOUT DX,ALMOV DX,284H ;寫計(jì)數(shù)器0時(shí)常數(shù)MOV AL,20OUT DX,ALMOV DX,287H ;寫計(jì)數(shù)器1控制方式字MOV AL,01010100BOUT DX,ALMOV DX,285H ;寫計(jì)數(shù)器2時(shí)常數(shù)MOV AL,10OUT DX,AL9.9 答:39.10 答:3,5000 9.11 答:0,10000。9.12 答:D9.13 答:B 9.14 答:B 9.15 答:B9.16 答:B,F(xiàn)9.17 答:D9.18 答:根據(jù)程序,使用計(jì)數(shù)器0,工作在方式2,計(jì)數(shù)初值為0FFFFH,所以中斷請(qǐng)求周期為65535/2000000s=32.7675ms

7、。9.19 答:(1)選用D0D0HD0DFH中的偶地址DODO,DOD2,DOD4,DOD6為基本地址作為8254的端口地址,設(shè)8086工作在最小方式下。8254端口地址譯碼電路如下圖: 計(jì)數(shù)器0輸入端加2MHz的時(shí)鐘信號(hào),GATE0加+5V電壓,輸出OUT0信號(hào)為周期為10s的對(duì)稱方波。初始化代碼:MOV DX,0D0D6H ;寫計(jì)數(shù)器0工作方式MOV AL,00010110BOUT DX,ALMOV DX,0D0D0H ;寫計(jì)數(shù)器0時(shí)常數(shù)MOV AL,20OUT DX,ALCLK0加2MHz的始終信號(hào),GATE0,GATE1加+5V電壓,OUT0輸出加到CLK1作時(shí)鐘信號(hào),OUT1輸出為

8、每1s產(chǎn)生一個(gè)負(fù)脈沖。初始代碼:MOV DX,0D0D6H ;寫計(jì)數(shù)器0的工作方式MOV AL,00010110BOUT DX,ALMOV DX,0D0D0H ;寫計(jì)數(shù)器0的時(shí)常數(shù)MOV AL,100OUT DX,ALMOV DX,0D0D6H ;寫計(jì)數(shù)器1的工作方式MOV AL,01110100B OUT DX,ALMOV DX,0D0D2H ;寫計(jì)數(shù)器1的時(shí)常數(shù)MOV AX,20000OUT DX,ALXCHG AL,AHOUT DX,ALCLK0加2MHz的始終信號(hào),GATE0,GATE1加+5V電壓,OUT0輸出加到CLK2做時(shí)鐘信號(hào),OUT2輸出為10s后產(chǎn)生一個(gè)負(fù)脈沖。初始代碼:M

9、OV DX,0D0D6H ;寫計(jì)數(shù)器0的工作方式MOV AL,00110110BOUT DX,ALMOV DX,0D0D0H ;寫計(jì)數(shù)器0的時(shí)常數(shù)MOV AX,1000OUT DX,ALXCHG AL,AHOUT DX,ALMOV DX,0D0D6H ;寫計(jì)數(shù)器2的工作方式MOV AL,10111000BOUT DX,ALMOV DX,0D0D4H ;寫計(jì)數(shù)器2的時(shí)常數(shù)MOV AX,20000OUT DX,ALXCHG AL,AHOUT DX,AL(2)選用地址D0D0,DOD2,DOD4,DOD6為8253的端口地址,D0D8為GATE端口地址,該端口采用74LS373,8253用方式4,在

10、OUT輸出端加非門實(shí)現(xiàn)脈沖功能。接口電路如圖:初始代碼為:MOV DX,0D0D8H ;GATE初始化MOV AL,0OUT DX,ALMOV DX,0D0D6H ;寫計(jì)數(shù)器0工作方式MOV AL,00011000BOUT DX,ALMOV DX,0D0D0H ;寫計(jì)數(shù)器0時(shí)常數(shù)MOV AL,40OUT DX,ALMOV DX,0D0D8HMOV AL,1OUT DX,AL ;使GATE變高有效9.20 答:一個(gè)計(jì)數(shù)器的最長(zhǎng)定時(shí)時(shí)間應(yīng)該是置入時(shí)常數(shù)0時(shí),此時(shí)定時(shí)時(shí)間為:65536/0.5*106s=131ms采用方式0即:計(jì)數(shù)達(dá)到終值時(shí)中斷來10分鐘產(chǎn)生一次定時(shí)中斷,此時(shí)時(shí)常數(shù)CR為:10*6

11、0*0.5*106=3*109.由于一個(gè)計(jì)數(shù)器最多分頻65536,所以至少得使用2個(gè)計(jì)數(shù)器。我們采用計(jì)數(shù)器0和計(jì)數(shù)器1.計(jì)數(shù)器0的時(shí)常數(shù)CR0為60000,計(jì)數(shù)器1的時(shí)常數(shù)CR1為50000.連接方式為:把0.5MHz的時(shí)鐘頻率接到計(jì)數(shù)器0的CLK0,然后把計(jì)數(shù)器0的OUT0接到計(jì)數(shù)器1的CLK1。這樣計(jì)數(shù)器1的OUT1端輸出的就是10分鐘產(chǎn)生一次的定時(shí)中斷。9.21答:(1)MOVDX,83HMOVAL,00010100BOUTDX,ALMOVDX,80HMOVAL,100OUTDX,AL(2)將計(jì)數(shù)器1的輸出OUT1信號(hào)作為計(jì)數(shù)器2的時(shí)鐘輸入CLK2,計(jì)數(shù)器1的時(shí)鐘輸入為系統(tǒng)提供1MHZ的

12、信號(hào)。MOVDX,83HMOVAL,01110100BOUTDX,ALMOVDX,81HMOVAX,1000OUTDX,ALXCHGAL,AHMOVDX,ALMOVDX,83HMOVAL,10010110BOUTDX,ALMOVDX,82HMOVAL,100OUTDX,AL9.22 答:用兩個(gè)計(jì)數(shù)器,計(jì)數(shù)器0的CLK接待測(cè)信號(hào),GATE接半周期為10s的高電平信號(hào),OUT接8259,同時(shí)取反接計(jì)數(shù)器1的GATE端。計(jì)數(shù)器1的CLK接系統(tǒng)時(shí)鐘,半周期為T0。在這樣的邏輯電路下,計(jì)數(shù)器0的功能是記錄待測(cè)信號(hào)的脈沖數(shù)N0,計(jì)數(shù)器1的功能是記錄在相同時(shí)間里系統(tǒng)時(shí)鐘信號(hào)的脈沖數(shù)N1。根據(jù)T=N1*T0/

13、N0可計(jì)算出待測(cè)信號(hào)的周期。S(t)是待測(cè)信號(hào),S(t)為給定的周期大于10s的高電平信號(hào)。端口聲明:COUNTA為計(jì)數(shù)器0的地址,COUNTB為計(jì)數(shù)器2的地址,COUNTD為控制器地址,COUNT為373地址程序如下:MOV DX,COUNTD ;計(jì)數(shù)器1初始化MOV AL,01110000BOUT DX,ALMOV DX,COUNTBOUT DX,ALMOV DX,COUNTBMOV AL,OOUT DX,ALMOV DX,COUNTD ;計(jì)數(shù)器0初始化MOV AL,00010000BOUT DX,ALMOV DX,COUNTAMOV AL,0OUT DX,ALOUT DX,ALSTI讀兩

14、計(jì)數(shù)器的計(jì)數(shù),并進(jìn)行計(jì)算的中斷服務(wù)子程序:PUSH AXPUSH BXPUSH CXPUSH DXMOV DX,COUNTDMOV AL,00000000BOUT DX,ALMOV DX,COUNTAIN AL,DXXCHG AL,AHIN AL,DXXCHG AL,AHNEG AXINC AXMOV BX,AXMOV DX,COUNTDMOV AL,00010000BOUT DX,ALMOV DX,COUNTBIN AL,DXXCHG AL,AHIN AL,DXXCHG AL,AHNEG AXINC AXMOV CX,T0MUL CXDIV BXMOV SFR,AXPOP DXPOP CXP

15、OP BXPOP AXIRETSFR中保存結(jié)果即為待測(cè)信號(hào)的周期。對(duì)于(1)題,10*10不小于100,10*1000不大于65535,可以用計(jì)數(shù)法。同理(3)也可用此方法。對(duì)于(2)題,可用周期法。邏輯電路圖如下:程序如下:MOV DX,COUNTDMOV AL,0011 0100BOUT DX,ALMOV DX,COUNTAMOV AL,0OUT DX,ALOUT DX,ALSTIPUSH AXPUSH BXPUSH DXMOV DX,COUNTDMOV AL,0000 0000BOUT DX,ALMOV DX,COUNTAIN AL,DXXCHG AL,AHIN AL,DXXCHG AL

16、,AHNEG AXINC AXMOV BX,AXMOV DX,000FHMOV AX,4240HDIV BXMOV SFR,AXPOP DXPOP BXPOP AXIRET(4) 如圖設(shè)計(jì)接口,計(jì)數(shù)器1用來記錄在50個(gè)脈沖所用時(shí)間,50個(gè)信號(hào)脈沖最多用1/0.8*50(約為63us)由于計(jì)數(shù)器1用1MHz CLK,故其計(jì)數(shù)個(gè)數(shù)N即為N us,所以當(dāng)N63時(shí),則有低電平間隔計(jì)入,須重新計(jì)數(shù)。當(dāng)N63時(shí),則計(jì)算得待測(cè)頻率。程序如下:MOV DX,COUNTDMOV AL,00HOUT DX,ALMOV DX,COUNTDMOV AL,0001 0000BOUT DX,ALMOV DX,COUNTA

17、MOV AL,50OUT DX,ALMOV DX,COUNTDMOV AL,0111 0000BOUT DX,ALMOV COUNTBMOV AL,0OUT DX,ALOUT DX,ALL2: MOV DX,COUNT ;給GATE0和GATE1高電平,開始計(jì)數(shù)MOV AL,81HOUT DX,ALL1: NOP MOV DX,COUNTDMOV AL,00000000BOUT DX,ALMOV DX,COUNTAIN AL,DXMOV DX,COUNTAIN AL,DXAND AL,AL ;判斷是否計(jì)完50個(gè)脈沖,若未計(jì)完繼續(xù)等待JNZ L1MOV DX,COUNTMOV AL,00H ;若

18、計(jì)完則暫停計(jì)數(shù)OUT DX,ALMOV DX,COUNTD ;讀計(jì)數(shù)器1結(jié)果MOV AL,01000000BOUT DX,ALMOV DX,COUNTBIN AL,DXXCHG AL,AHIN AL,DXXCHG AL,AHNEG AXINC AXCMP AX,70H ;當(dāng)AL大于70,則有間歇計(jì)入,重新測(cè)試JA L2MOV BL,ALMOV AL,50 ;計(jì)算頻率DIV BLMOV FREC,AL9.23 答:程序如下:;計(jì)數(shù)器0,方式0,當(dāng)計(jì)數(shù)滿后為高電平,引發(fā)中斷 MOV DX,33H MOV AL,00110000B ;計(jì)數(shù)器0,方式0 OUT DX,AL MOV DX,30H MOV

19、 AX,23000 OUT DX,AL ;寫低位計(jì)數(shù)值 XCHG AH,AL OUT DX,AL ;寫高位計(jì)數(shù)值 ;計(jì)數(shù)器1,計(jì)數(shù)值為10000/20=500,方式3 MOV DX,33H MOV AL,01110110B OUT DX,AL MOV DX,31H MOV AX,500 OUT DX,AL XCHG AH,AL OUT DX,AL 9.24 答:;若計(jì)數(shù)器02的端口地址為1AB0H,1AB2H, 1AB4H,控制字口為1AB6H;計(jì)數(shù)器0,方式1,BCD計(jì)數(shù),計(jì)數(shù)值4650 MOV DX,1AB6H MOV AL,00110011B ;計(jì)數(shù)器0,方式1,十進(jìn)制計(jì)數(shù) OUT DX

20、,AL MOV DX,1AB0H MOV AX,4650H OUT DX,AL ;寫低位計(jì)數(shù)值 XCHG AH,AL OUT DX,AL ;寫高位計(jì)數(shù)值 ;計(jì)數(shù)器1,計(jì)數(shù)值3420,方式2,二進(jìn)制計(jì)數(shù) MOV DX,1AB6H MOV AL,01110100B OUT DX,AL MOV DX,1AB2H MOV AX,3420 OUT DX,AL XCHG AH,AL OUT DX,AL;計(jì)數(shù)器2,方式4,二進(jìn)制計(jì)數(shù),計(jì)數(shù)初值120 MOV DX,1AB6H MOV AL,10011000B ;由于計(jì)數(shù)初值為120,可以只寫低位 OUT DX,AL MOV DX,1AB4H MOV AX,1

21、20 OUT DX,AL9.25 答:;若計(jì)數(shù)器02的端口地址為0FA0H,0FA2H, 0FA4H,控制字口為0FA6H;準(zhǔn)備中斷向量表 MOV AX,0 MOV DS,AX MOV SI,42H ;中斷類型號(hào)42H SHL SI,1 SHL SI,1 ;SI4 MOV SI,OFFSET INT_SERVICE ;中斷服務(wù)程序的偏移地址存入向量表 MOV AX,CS ADD SI,2 MOV SI,AX ;中斷服務(wù)程序的段地址存入向量表 ;如果用8259,則對(duì)8259初始化;計(jì)數(shù)器2,二次讀寫計(jì)數(shù)值,方式0,二進(jìn)制計(jì)數(shù) MOV DX,0FA6H MOV AL,10110000B ;計(jì)數(shù)器0

22、,方式1,十進(jìn)制計(jì)數(shù) OUT DX,AL MOV DX,0FA4H MOV AX,1000 OUT DX,AL XCHG AH,AL OUT DX,AL ;其他程序;中斷服務(wù)程序INT_SERVICE:STI ;開中斷 MOV DX,0FA6H MOV AL,10110000B ;計(jì)數(shù)器2,二次讀寫計(jì)數(shù)值,方式0,二進(jìn)制計(jì)數(shù) OUT DX,AL MOV DX,0FA4H MOV AX,1000 OUT DX,AL XCHG AH,AL OUT DX,AL IRET 9.26 答:首先更正8259A的IR2的中斷類型碼為42H。;根據(jù)題圖的硬件電路,8253的四個(gè)端口地址應(yīng)該連續(xù),100H為計(jì)數(shù)器0;101H為計(jì)數(shù)器1,102H為計(jì)數(shù)器2,103H為控制字寄存器端口;準(zhǔn)備中斷向量表 MOV AX,0 MOV DS,AX MOV SI,42H ;中斷類型號(hào)42H SHL SI,1 SHL SI,1 ;SI4 MOV SI,WORD PTR INT_POINT ;中斷服務(wù)程序的偏移地址存入向量表 ADD SI,2 MOV SI,WORD PTR INT_POINT+2 ;中斷服務(wù)程序的段地址存入向量表

溫馨提示

  • 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. 人人文庫網(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)論