《单片机原理及接口技术》梅丽凤第五版_习题解答(课后答桉)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

3-11解答:(1)由于在工作寄存器与工作寄存器之间不能直接传送数据,所以需要借助累加器A。MOVA,R1MOVR0,A(2)片外RAM向片内RAM传送数据,不能直接进行,需要借助累加器A。由于片外RAM是60H单元,地址小于FFH,所以间址寄存器使用Ri即可。MOVR1,#60HMOVXA,@R1MOVR0,A(3)MOVR1,#60HMOVXA,@R1MOV40H,A(4)片外数据不能直接送入片外单元,需要先将片外数据读入累加器,然后再送到片外。MOVDPTR,#1000HMOVXA,@DPTRMOVR1,#40HMOVX@R1,A(5)ROM中的数据需要使用查表指令才能读出来,所以此题不能使用一般的传送指令从ROM中读数据。MOVDPTR,#2000HMOVA,#00HMOVCA,@A+DPTRMOVR2,A(6)MOVDPTR,#2000HMOVA,#00HMOVCA,@A+DPTRMOV40H,A(7)MOVDPTR,#2000HMOVA,#00HMOVCA,@A+DPTRMOVDPTR,#0200HMOVX@DPTR,A3-12解答:片外RAM与片内RAM之间的数据传送不能直接进行,需要借助累加器A。数据交换需要使用数据交换指令XCH。MOVDPTR,#1000HMOVXA,@DPTRXCHA,60HMOVX@DPTR,A3-13解答:本题需要采用查表指令。ORG0200HMOVDPTR,#TABMOVA,R7MOVCA,@A+DPTRORG0300HTAB:DB0,1,4,9,16,25,36,49,64,813-16解答:本题涉及的是16位数的减法运算,首先应让低8位相减,然后让高8位带着借位相减。注意:应在低8位相减前将进位位CY清空0。CLRCMOVA,#56HSUBBA,#78HMOVR0,AMOVA,#23HSUBBA,#45HMOVR1,A3-17解答:A←(A)∧23H,(A)=03H42H←(42H)∨(A),(42H)=37HA←(A)((R0)),(A)=34HA←(A),(A)=CBH结果:(A)=CBH3-18解答:(1)MOVDPTR,#1000HMOVXA,@DPTRCPLAMOVX@DPTR,A(2)MOVR0,#60HMOVXA,@R0ANLA,#3FHXRLA,#03HMOVX@R0,A3-20解答:MOVDPTR,#1000HMOVXA,@DPTRMOVB,#10MULABMOV30H,AMOV31H,BMOVDPTR,#2000HMOVXA,@DPTRMOVB,#32MULABADDA,30HMOV30H,AMOVA,BADDCA,31HMOV31H,A3-21解答:MOVR7,#10MOVDPTR,#block1MOVR0,#block2LOOP:MOVXA,@DPTRMOV@R0,AINCDPTRINCR0DJNZR7,LOOP3-22解答:MOVA,#01HLOOP:MOVP0,ARLALCALLDELAYSJMPLOOPDELAY:MOVR7,#00HDELAY1:MOVR6,#00HDJNZR6,$DJNZR7,DELAY1RET3-23解答:ORLC,11HMOV11H,CMOVC,P1.0ORLC,10HANLC,11HMOVP1.0,C3-24解答:(1)正确。(2)错误。原因:清零指令只能用于累加器ACC和位操作,而本题中E0H只能是字节地址(位地址的范围是00H~7FH),所以该条指令错误。(3)错误。原因:ACC是直接字节地址,不能用于清零指令。(4)正确。ACC.0是一个位,可以应用到清零指令中。(5)正确。(6)错误。原因:取反指令只能用于累加器ACC和位操作,而本题中E0H只能是字节地址(位地址的范围是00H~7FH),所以该条指令错误。(7)错误。原因:ACC是直接字节地址,不能用于取反指令。(8)正确。ACC.0是一个位,可以应用到取反指令中。3-25解答:ANLA,BORLA,CMOVF,C3-27解答:(1)MOVP1,#0CAH;P1←CAH,P1=CAH=11001010BMOVA,#56H;A←56H,A=56H=01010110BJBP1.2,L1;若P1.2=1,则转移至L1JNBACC.3,L2;若ACC.3=0,则转移至L2…L1:…L2:…执行完本段程序后将转移至L2,因为P1.2=0,ACC.3=0,所以转至L2。(2)MOVA,#43H;A←43H,A=43H=01000011BJBACC.2,L1;若ACC.2=1,则转移至L1JBCACC.6,L2;若ACC.6=1,则转移至L2,同时将ACC.6清零…L1:…L2:…执行完本段程序后将转移至L2,因为ACC.2=0,ACC.6=1,所以转至L2,并且将ACC.6清零。3-28解答:(1)MOVA,P1CPLAANLA,#0F0HSWAPAMOVP1,A(2):LOOP:JNBP1.4,L1;JNBP1.5,L2;JNBP1.6,L3;JNBP1.7,L4;LJMPLOOP;L1:MOVP1,#01H;LJMPLOOP;L2:MOVP1,#02H;LJMPLOOP;L3:MOVP1,#03H;LJMPLOOP;L4:MOVP1,#04H;LJMPLOOP;第4章汇编语言程序设计4-1解答:ORG0100HMOVA,21HADDA,23HMOV25H,AMOVA,20HADDCA,22HMOV24H,ARET4-2解答:ORG0200HMOVA,51HMOVB,#20MULABMOV53H,AMOV52H,BMOVA,50HMOVB,#3MULABADDA,53HMOV53H,AMOVA,BADDCA,52HMOV52H,ARET4-3解答:ORG0300HMOVA,DATACJNEA,#20,LOP1LOP1:JCLOP3CJNEA,#50,LOP2LOP2:JCLOP4MOVB,#1LJMPLOP5LOP3:MOVB,#2LJMPLOP5LOP4:MOVB,#5LOP5:MULABMOVFUNC,ARET4-4解答:ORG0400HMOVA,mun+1JNBACC.7,LOOPCLRCMOVA,numX→A暂存A20?A50?2→B5→B1→BA×B→AA→FUNC保存结果开始返回YNYN题图4-1习题4-3流程图SUBBA,#01HCPLAMOVnum,AMOVA,#num+1SUBBA,#00HCPLAMOVnum+1,ALOOP:RET4-5解答:ORG0500HMOVDPTR,#JPTABMOVA,R2RLAJMP@A+DPTRJPTAB:AJMPKEY0AJMPKEY1AJMPKEY2……AJMPKEY15KEY0:…KEY1:…KEY2:………KEY15:…4-6解答:ORG0600HMOVR0,#40HMOVDPTR,#2000HMOVR7,#21HLOOP:MOVA,@R0MOVX@DPTR,AINCR0INCDPTRDJNZR7,LOOPRET4-7解答:ORG0700HMOVDPTR,#DATAMOVR7,#10LOOP:MOVXA,@DPTRORLA,#80HMOVX@DPTR,AINCDPTRDJNZR7,LOOPRET4-8解答:ORG0800HMOVDPTR,#3000HMOVR0,#30HMOVR7,#7LOOP:MOVXA,@DPTRMOV@R0,AINCDPTRINCDPTRINCR0DJNZR7,LOOPRET4-9解答:ORG0900HMOVDPTR,#1000HMOVR1,#30HMOVR7,#31HLOOP:MOVXA,@DPTRMOV@R1,ACLRAMOVX@DPTR,AINCDPTRINCR1DJNZR7,LOOPRET4-10解答:ORG0A00HMOVR1,#DAT1MOVDPTR,#DAT2MOVR6,#10HLOOP1:MOVA,@R1CJNEA,#0DH,LOOP2LJMPLOOP3LOOP2:MOVX@DPTR,AINCR1INCDPTRDJNZR6,LOOP1LOOP3:RET4-11解答:ORG0B00HMOVDPTR,#3000HMOVR7,#100MOVone,#00HMOVtwo,#00HMOVthree,#00HLOP1:MOVXA,@DPTRJZLOP2JNBACC.7,LOP3INCthreeLJMPLOP4LOP2:INCtwoLJMPLOP4LOP3:INConeLOP4:INCDPTRDJNZR7,LOP1RET4-12解答:ORG0C00HMOVR0,#50HMOVA,#00HMOVR7,#10LOP:ADDA,@R0INCR0DJNZR7,LOPMOVB,#10DIVABMOV5AH,ARET4-13解答:ORG0D00HMOVR0,#40HMOVA,@R0MOVR7,#47LOOP:INCR0MOV30H,@R0CJNEA,30H,CHKCHK:JCLOOP1MOVA,@R0LOOP1:DJNZR7,LOOPMOVMIN,ARET4-14解答:ORG0E00HSTART:MOVR0,#40HMOVR7,#19CLR00HLOOP:MOVA,@R0MOV30H,AINCR0MOV31H,@R0CLRCSUBBA,@R0JNCNEXTMOV@R0,30HDECR0MOV@R0,31HINCR0SETB00HNEXT:DJNZR7,LOOPJB00H,STARTMOVR0,#40HMOVDPTR,#2000HMOVR7,#20LOP1:MOVA,@R0MOVX@DPTR,AINCR0INCDPTRDJNZR7,LOP1RET4-15解答:ORG0F00HMOVDPTR,#2000HMOVR7,#100LOOP1:MOVXA,@DPTRCJNEA,#44H,LOOP2MOV30H,DPLMOV31H,DPHMOVDPTR,#20A0HMOVA,30HMOVX@DPTR,AINCDPTRMOVA,31HMOVX@DPTR,ALJMPLOOP3LOOP2:INCDPTRDJNZR7,LOOP1LOOP3:RET4-16解答:ORG1000HMOVR0,#30HMOVR1,#50HMOVR7,#20LOP1:MOVA,@R0CJNEA,#0AH,LOP2LOP2:JNCLOP3ADDA,#30HLJMPLOP4LOP3:ADDA,#37HLOP4:MOV@R1,AINCR0INCR1DJNZR7,LOP1RET4-17解答:ORG1100HMOVR0,#40HMOVR1,#60HMOVR7,#NLOP1:MOVA,@R0CJNEA,#41H,LOP2LOP2:JNCLOP3CLRCSUBBA,#30HLJMPLOP4LOP3:CLRCSUBBA,#37HLOP4:MOV@R1,AINCR0INCR1DJNZR7,LOP1RET4-18解答:ORG1200HMOVDPTR,#2000HMOVR0,#30HMOVR7,#5LOP1:MOVXA,@DPTRANLA,#0FHADDA,#30HMOV@R0,AINCR0MOVXA,@DPTRANLA,#0F0HSWAPAADDA,#30HMOV@R0,AINCR0INCDPTRDJNZR7,LOP1MOVDPTR,#2005HMOVR0,#30HMOVR7,#10LOP2:MOVA,@R0MOVX@DPTR,AINCR0INCDPTRDJNZR7,LOP2RET4-19解答:ORG1300HMOVDPTR,#2000HMOVR0,#30HMOVR7,#10LOP1:MOVXA,@DPTRCLRCSUBBA,#30HMOV@R0,AINCDPTRMOVXA,@DPTRCLRCSUBBA,#30HSWAPAORLA,@R0MOV@R0,AINCDPTRINCR0DJNZR7,LOP1MOVDPTR,#3000HMOVR0,#30HMOVR7,#10LOP2:MOVA,@R0MOVX@DPTR,AINCR0INCDPTRDJNZR7,

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功