微機(jī)原理習(xí)題答案9章.doc_第1頁(yè)
微機(jī)原理習(xí)題答案9章.doc_第2頁(yè)
微機(jī)原理習(xí)題答案9章.doc_第3頁(yè)
微機(jī)原理習(xí)題答案9章.doc_第4頁(yè)
微機(jī)原理習(xí)題答案9章.doc_第5頁(yè)
已閱讀5頁(yè),還剩11頁(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)介

第9章 定時(shí)/計(jì)數(shù)器8253應(yīng)用設(shè)計(jì)1. 下列地址哪些能夠分配給8253/8254的計(jì)數(shù)器0?為什么?(23H、54H、97H、51H、FCH、59H)解:因?yàn)橐呀?jīng)約定采用A2,A1作為8253的內(nèi)部地址線,而且計(jì)數(shù)器0的地址為00,所以在題中所給的地址中只有51H,59H的A2和A1同時(shí)為0,即:A2A1=00.2. 如果計(jì)數(shù)器0設(shè)定為方式0,GATE01,CLK01MHz,時(shí)常數(shù)為N1000,請(qǐng)畫出OUT0的波形。如果計(jì)數(shù)器1設(shè)定為方式1,其它參數(shù)與計(jì)數(shù)器0相同,畫出OUT1的波形。3. 編程實(shí)現(xiàn):將8253計(jì)數(shù)器0設(shè)置成方式4,并置時(shí)常數(shù)10000,然后處于等待狀態(tài),直到CE的內(nèi)容1000后再向下執(zhí)行。解: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的方式控制字 MOV AL,0H 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 4. 利用8253可以實(shí)現(xiàn)確定時(shí)間的延遲,編程實(shí)現(xiàn)延時(shí)10秒的程序段(設(shè)可以使用的基準(zhǔn)時(shí)鐘為1MHz)。解:本題使用計(jì)數(shù)器0和計(jì)數(shù)器1,并且計(jì)數(shù)器0的輸出OUT0作為計(jì)數(shù)器1的時(shí)鐘輸入CLK1.程序如下:MOVDX,COUNTD;寫計(jì)數(shù)器0方式控制字MOVAL,00110100BOUTDX,ALMOVDX,COUNTAMOVAX,10000 ;寫計(jì)數(shù)器0時(shí)常數(shù),分頻得到100Hz時(shí)鐘頻率OUTDX,ALXCHGAL,AHOUTDX,ALMOVDX,COUNTD;寫計(jì)數(shù)器1方式控制字MOVAL,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í).5. 比較8254方式0與方式4、方式1與方式5的區(qū)別?方式0與方式4方式0 OUT端計(jì)數(shù)過(guò)程中為低,計(jì)數(shù)值減為0時(shí),輸出變高方式4 OUT端計(jì)數(shù)過(guò)程中為高,計(jì)數(shù)值減為0時(shí)輸出寬度為1個(gè)CLK的負(fù)脈沖方式1與方式5方式1 OUT端輸出寬度為n個(gè)CLK的低電平,計(jì)數(shù)值減為0時(shí),輸出為高方式5 OUT端計(jì)數(shù)過(guò)程中為高,計(jì)數(shù)值減為0時(shí)輸出寬度為1個(gè)CLK的負(fù)脈沖6. 在8088最小系統(tǒng)中,8253的端口地址為284H287H。系統(tǒng)提供的時(shí)鐘為1MHz,要求在OUT0輸出周期為20微秒的方波,在OUT1輸出周期為200微秒,其中每周期為負(fù)的時(shí)間是180微秒的信號(hào)。請(qǐng)編寫8253的初始化程序。解:OUT0輸出為20微妙方波,可用方式三直接產(chǎn)生,OUT1輸出波形與書中例9.2類似,可用其中思想產(chǎn)生此信號(hào)。如果允許增加外部器件,也可在例9.1的基礎(chǔ)上,將OUT端信號(hào)通過(guò)與非門取反,這樣即可產(chǎn)生題目要求信號(hào)。本例利用例9.1思想解答MOV DX,287H ;寫計(jì)數(shù)器0控制方式字MOV AL,00010110BOUT DX,ALMOV DX,284H ;寫計(jì)數(shù)器0時(shí)常數(shù)MOV AL,20OUR DX,ALMOV DX,287 ;寫計(jì)數(shù)器2控制方式字MOV AL,10010110BOUT DX,ALMOV DX,286H ;寫計(jì)數(shù)器2時(shí)常數(shù)MOV AL,200OUT DX,ALMOV DX,287HMOV AL,01010010B ;寫計(jì)數(shù)器1控制方式字OUT DX,ALMOV DX,285HMOV AL,9 ;寫計(jì)數(shù)器1時(shí)常數(shù)OUT DX,AL7. 通過(guò)8253計(jì)數(shù)器0的方式0產(chǎn)生中斷請(qǐng)求信號(hào),現(xiàn)需要延遲產(chǎn)生中斷的時(shí)刻,可采用:A) 在OUT0變高之前重置初值;B) 在OUT0變高之前在GATE0端加一負(fù)脈沖信號(hào);C) 降低加在CLK0端的信號(hào)頻率;D) 以上全是。解:D A:方式0下,在OUT0變高之前重置初值,將在下一個(gè)CLK的下降沿使時(shí)常數(shù)從CR讀入CE并重新計(jì)數(shù)。B:在OUT0變高之前在GATE0端加一負(fù)脈沖信號(hào)可以延時(shí)一個(gè)時(shí)鐘周期,達(dá)到延時(shí)的目的。C:降低加在CLK0端的信號(hào)頻率,可以增大時(shí)鐘周期,達(dá)到延長(zhǎng)OUT0端低電平的時(shí)間。(注:A中,如果重置的初值為1,則不會(huì)達(dá)到延時(shí)的效果)8. 已知8254計(jì)數(shù)器0的端口地址為40H,控制字寄存器的端口地址為43H,計(jì)數(shù)時(shí)鐘頻率為2MHz,利用這一通道設(shè)計(jì)當(dāng)計(jì)數(shù)到0時(shí)發(fā)出中斷請(qǐng)求信號(hào),其程序段如下,則中斷請(qǐng)求信號(hào)的周期是 32.7675 ms。MOV AL,00110010BOUT 43H, ALMOV AL, 0FFHOUT 40H, ALOUT 40H, AL9. 若8254芯片可使用的8086端口地址為D0D0HD0DFH,試畫出系統(tǒng)設(shè)計(jì)連接圖。設(shè)加到8254上的時(shí)鐘信號(hào)為2MHz,(1)利用計(jì)數(shù)器02分別產(chǎn)生下列三種信號(hào): 周期為10us的對(duì)稱方波 每1s產(chǎn)生一個(gè)負(fù)脈沖 10s后產(chǎn)生一個(gè)負(fù)脈沖每種情況下,說(shuō)明8254如何連接并編寫包括初始化在內(nèi)的程序段。(2) 希望利用8086通過(guò)一專用接口控制8253的GATE端,當(dāng)CPU使GATE有效開(kāi)始,20us后在計(jì)數(shù)器0的OUT端產(chǎn)生一個(gè)正脈沖,試設(shè)計(jì)完成此要求的硬件和軟件。解:(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輸出為每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ù)脈沖。初始代碼:MOV 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,AL1) 選用地址D0D0,DOD2,DOD4,DOD6為8253的端口地址,D0D8為GATE端口地址,該端口采用74LS373,8253用方式4,在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變高有效10. 若加到8254上的時(shí)鐘頻率為0.5MHz,則一個(gè)計(jì)數(shù)器的最長(zhǎng)定時(shí)時(shí)間是多少?若要求10分鐘產(chǎn)生一次定時(shí)中斷, 試提出解決方案。解:一個(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í)中斷來(lái)10分鐘產(chǎn)生一次定時(shí)中斷,此時(shí)時(shí)常數(shù)CR為:10*60*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í)中斷。11. 織布機(jī)控制系統(tǒng)如圖9.26所示,已知織布機(jī)每織1米發(fā)出一個(gè)正脈沖,每織100米要求接收到一脈沖,去觸發(fā)剪裁設(shè)備把布剪開(kāi)。(1)設(shè)8253的端口地址為80H83H,編寫對(duì)8253初始化程序。(2)假定系統(tǒng)提供的信號(hào)頻率為1MHz,希望利用8253的其余通道產(chǎn)生0.1秒的周期信號(hào),編寫初始化程序。 圖9.26 織布機(jī)控制系統(tǒng)解:(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的信號(hào)MOVDX,83HMOVAL,01110100BOUTDX,ALMOVDX,81HMOVAX,1000OUTDX,ALXCHGAL,AHMOVDX,ALMOVDX,83HMOVAL,10010110BOUTDX,ALMOVDX,82HMOVAL,100OUTDX,AL12. 在IBM PC系統(tǒng)中根據(jù)下列不同條件設(shè)計(jì)接口邏輯,利用8253完成對(duì)外部脈沖信號(hào)重復(fù)頻率的測(cè)量。(1) 被測(cè)脈沖信號(hào)的重復(fù)頻率在101000Hz范圍內(nèi)。(2) 被測(cè)脈沖信號(hào)的重復(fù)頻率在0.51.5Hz范圍內(nèi)。(3) 被測(cè)脈沖信號(hào)重復(fù)頻率在10100Hz范圍內(nèi)。(4) 被測(cè)是間歇脈沖信號(hào),每次有信號(hào)時(shí)有100個(gè)脈沖,重復(fù)頻率為0.81.2MHz,間歇頻率大約每秒15次,要求測(cè)有信號(hào)時(shí)的脈沖重復(fù)頻率。解:用兩個(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/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,01110000B OUT DX,AL MOV DX,COUNTB OUT DX,AL MOV DX,COUNTB MOV AL,O OUT DX,ALMOV DX,COUNTD ;計(jì)數(shù)器0初始化MOV AL,00010000BOUT DX,ALMOV DX,COUNTAMOV AL,0OUT DX,ALOUT DX,ALSTI讀兩計(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 CXPOP 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,AHNEG AXINC AXMOV BX,AXMOV DX,000FHMOV AX,4240HDIV BXMOV SFR,AXPOP DXPOP BXPOP AXIRET(4) 如圖設(shè)計(jì)接口,計(jì)數(shù)器1用來(lái)記錄在50個(gè)脈沖所用時(shí)間,50個(gè)信號(hào)脈沖最多用1/0.8*50(約為63us)由于計(jì)數(shù)器1用1MHz CLK,故其計(jì)數(shù)個(gè)數(shù)N即為N u

溫馨提示

  • 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ù)網(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)論