作業(yè)參考答案_第1頁
作業(yè)參考答案_第2頁
作業(yè)參考答案_第3頁
作業(yè)參考答案_第4頁
作業(yè)參考答案_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第三章MCS-51指令系統(tǒng)5題分析下面程序段的執(zhí)行功能。CLRAR2MOVR2,AR2R0R1MOVR7,#4R0R1LOOP:CLRC00000000RLCAMOVR0,AMOVA,R1RLCAMOVR1,AMOVA,R2RLCAMOVR2,ADJNZR7,LOSJMP$答:將R2:R1:R0所示的24位二進制數左移4位。(相稱×16)6題設系統(tǒng)晶振為12MHZ,閱讀下列程序,分析其功能。START:SETBP1.0NEXT:MOV30H,#10LOOP2:MOV31H,#0FAHLOOP1:NOPNOPDJNZ31H,LOOP1DJNZ30H,LOOP2CPLP1.0AJMPNEXTSJMP$答:((2+1+1)*250+2+2)*10+2=10.042(ms)在P1.0引腳上輸出周期為20ms的方波。7題閱讀下列程序,分析其功能。MOVR7,#10MOVA,#30HMOVDPTR,#HLOOP:MOVX@DPTR,AINCAINCDPLDJNZR7,LOOPSJMP$答:在外部數據存儲器中的如下地址內寄存數據:(H)=30H(H)=31H(H)=32H┇┇(H)=39H8題簡述下列程序段完畢的功能,程序完畢后SP指針應指向哪里?MOVSP,#2FHMOVDPTR,#HMOVR7,#50HNEXT:MOVXA,@DPTRPUSHAINCDPLDJNZR7,NEXTSJMP$答:以內部存儲器地址30H作為棧底,從30H開始一直到7FH依次寄存外部數據存儲器中H一直到204FH地址中的數據。7FH作為棧頂。程序完畢后SP=7FH。9題分析下列程序段執(zhí)行成果,程序執(zhí)行完后,SP指向哪里?MOVSP,#3FHMOVR0,#40HMOVR7,#10HNEXT:POPAMOV@R0,ADECR0DJNZR7,NEXTSJMP$答:將棧中3FH,3EH一直到30H地址中的內容依次放入40H,3FH,…,31H單元中。執(zhí)行完后SP=2FH。10題分析下列程序段執(zhí)行成果。XCHA,30HMOVB,AANLA,#0FH MOV33H,A MOVA,BSWAPA ANLA,#15 MOV34H,ASJMP$答:將30H單元中的數的高四位放入34H中,低四位放入33H中。14題閱讀(1)(2)(3)程序段,分析其功能。運算成果存在哪里?(1)MOVA,R2ADDA,R0 MOV30H,A MOVA,R3ADDCA,R1MOV31H,AMOVA,#0ADDCA,#0MOV32H,ASJMP$(2)CLRCMOVA,R4 SUBBA,R2 MOVR0,AMOVA,R5SUBBA,R3MOVR1,A(3) MOVA,R1MOVB,R0 MULAB MOV30H,AMOV31H,BMOVA,R2 MOVB,R0 MULAB ADDA,31H MOV31H,A MOVA,B ADDCA,#0MOV32H,ASJMP$答:(1)將R3:R2和R1:R0中的兩個16位數相加,成果寄存在32H:31H:30H中。(2)用R5:R4中的16位數減去R3:R2中16位數,成果寄存在R1:R0中。(3)R2:R1中的16位數乘以R0中的數,成果寄存在32H:31H:30H中。23題有四個變量U、V、W、X分別從P1.0~P1.3輸入,閱讀如下程序,寫出邏輯體現(xiàn)式并畫出邏輯電路圖。請使用ORG、END、BIT等偽指令重新編寫該程序段。MOVP1,#0FHMOVC,P1.0ANLC,P1.1CPLCMOVACC.0,CMOVC,P1.2ORLC,/P1.3ORLC,ACC.0MOVF,CSJMP$答:電路圖如下:邏輯體現(xiàn)式:重新整頓編寫程序如下:ORG0000HUBITP1.0VBITP1.1WBITP1.2XBITP1.3MOVC,UANLC,VCPLCMOVACC.0,CMOVC,WORLC,/XORLC,ACC.0MOVF,CSJMP$END24題用布爾指令,求解邏輯方程。(1)PSW.5=P1.3∧ACC.2∨B.5∧P1.1(2)PSW.5=P1.5∧B.4∨ACC.7∧P1.0答:(1)MOVC,P1.3ANLC,ACC.2MOVACC.0,CMOVC,B.5ANLC,P1.1ORLC,ACC.0MOVPSW.5,C(2)MOVC,P1.5ANLC,B.4MOVACC.0,CMOVC,ACC.7ANLC,P1.0ORLC,ACC.0CPLCMOVPSW.5,C第四章匯編語言程序設計1題若晶振為12MHz,試編制延時2ms和1s子程序。答:延時2ms:DELY:MOVR7,#10DLY0:MOVR6,#98NOPDLY1:DJNZR6,DLY1DJNZR7,DLY0RET延時1s:DELY:MOVR0,#50LP11:MOVR1,#100LP22: MOVR2,#100LP33: DJNZR2,LP33 DJNZR1,LP22 DJNZR0,LP11 RET4題試求20H和21H單元中16位帶符號二進制補碼數的絕對值,并送回20H和21H單元,高位在先,低位在后。答:措施一:先判斷符號位,若為0則不作任何處理(由于正數的補碼數與原數相似,而0的補碼數就是0)。若符號位為1,則用0減去該數即可。編程如下:ORG0000HMOVA,20HJNBACC.7,DONECLRCCLRASUBBA,21HMOV21H,ACLRASUBBA,20HMOV20H,ADONE: SJMP$ END措施二:可用變反加“1”來完畢。ORG0000HMOVA,20HJNBACC.7,DONECPLAMOV20H,AMOVA,21HCPLAMOV21H,ACLRCMOVA,21HADDA,#1MOV21H,AMOVA,20HADDCA,#0MOV20H,ADONE:SJMP$END5題試求內部RAM30~37H單元8個無符號數的算術平均值,成果存入38H單元。答:措施一:相加后和放在R3:38H中,然后將成果整體右移3位,得數放在38H單元中。ORG0000HSTART:MOVR7,#07HMOVR3,#00HMOVA,30HMOVR0,#31HLOOP:ADDA,@R0JNCNEXTINCR3NEXT:INCR0DJNZR7,LOOPMOV38H,AMOVR7,#3LOOP1:CLRCMOVA,R3RRCAMOVR3,AMOVA,38HRRCAMOV38H,ADJNZR7,LOOP1SJMP$END措施二:相加后和放在R3:38H中,然后將R3中的數乘以25,將38H中的數除以23,然后將兩個成果相加,放入38H單元中。ORG0000HSTART:MOVR7,#07HMOVR3,#00HMOVA,30HMOVR0,#31HLOOP:ADDA,@R0JNCNEXTINCR3NEXT:INCR0DJNZR7,LOOPMOV38H,APR:MOVA,R3MOVB,#32MULABMOVR3,AMOVA,38HMOVB,#8DIVABADDA,R3MOV38H,A6題試編一數據塊搬遷程序。將外部RAMH~204FH單元中的數,移入內部RAM30H~7FH單元中。編程如下: ORG0000H MOVR0,#50H MOVR1,#30H MOVDPTR,#HLP1: MOVXA,@DPTR MOV@R1,A INCR1INCDPTRDJNZR0,LP1END第五章MCS-51定期/計數器、串行口及中斷系統(tǒng)31題閱讀T0、T1初始化程序,回答右邊幾種問題(設主頻為6MHZ)MOVA,#11HMOVTMOD,AMOVTH0,#9EHMOVTL0,#58HMOVTH1,#0F0HMOVTL1,#60HCLRPT0SETBPT1SETBET0SETBET1SETBEA*MOVA,#50H*MOVTCON,A┇┇T0,T1各用何種方式工作?幾位計數器?T0,T1各自定期時間或計多次數是多少?T0,T1的中斷優(yōu)先級?T0,T1的中斷矢量地址?=5\*GB3⑤最終兩條帶*號的指令功能是什么?μ答:①T0、T1都以方式1工作,16位計數器。②T0的定期時間=2*(M-定期初值)=2*[65536-(9E58)16]=2*[65536-40536]=50000(微秒)=0.05秒T1的定期時間=2*(M-定期初值)=2*[65536-(F060)16]=2*[65536-61536]=8000(微秒)=0.008秒③T0設為低優(yōu)先級,T1設為高優(yōu)先級。④T0的中斷矢量地址:000BHT1的中斷矢量地址:001BH⑤TCON的內容:01010000作用:TR1和TR0被置1,使計數器T0和T1啟動。第六章單片機系統(tǒng)擴展設計13題若用8片6116構成的外部數據存儲器,地址為0000H~3FFFH;試編寫一存儲器診斷程序(診斷到某片)。答:編程如下: MOVDPTR,#0000H MOVR0,#31H;寄存診斷成果LP1: MOVA,#0 MOVX@DPTR,A MOVXA,@DPTR JNZERR MOVA,#0FFH MOVX@DPTR,A MOVXA,@DPTR CPLA JNZERRINC1: INCDPTR MOVA,#3FH CJNEA,DPH,LP1 MOVA,#0FFH CJNEA,DPL,LP1 SJMP$ERR: PUSHDPLPOPACC;寄存出錯點的地址 MOV@R0,AINCR0 PUSHDPH POPACC MOV@R0,A INCR0 SJMPINC1 END11題試設計以8031為主機,用74LS138為譯碼器,采用1片27128作ROM,地址為0000H~3FFFH;采用2片6264作RAM,4000H~7FFFH的擴展系統(tǒng)(加1個與門),地址不容許重疊,畫出電路圖。假如RAM地址為8000H~BFFFH或C0000H~FFFFH,2片6264的片選CE端與譯碼器的輸出應怎樣連接?解:先把所有參與譯碼的地址列出:這些地址是存儲器芯片的地址這三位地址參與片選這些地址是存儲器芯片的地址這三位地址參與片選譯碼(作138的輸入)8031:P27P26P25P24P23P22P21P20P07~P00存儲器地址:A15A14A13A12A11A10A9A8A7~A0每個片每個片選端都是8KB000Y00000H~1FFFH001Y1H~3FFFH010Y24000H~5FFFH011Y36000H~7FFFH100Y48000H~9FFFH101Y5A000H~BFFFH110Y6C000H~DFFFH111Y7E000H~FFFFH

18題

溫馨提示

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

評論

0/150

提交評論