欢迎来到天天文库
浏览记录
ID:16470567
大小:3.00 MB
页数:14页
时间:2018-08-10
《单片机原理与应用 习题答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、习题解答第三章3-1已知A=7AH,R0=30H(30H=A5H),PSW=80H,SP=65H,试分析下面每条指令的执行结果及对标志位的影响。(1)ADDA,@R0;01111010+10100101=1,00011111,(A)=1FH,Cy=1,AC=0,OV=0,P=1(2)ADDA,#30H;01111010+00110000=10101010,(A)=AAH,Cy=0,AC=0,OV=1,P=0(3)ADDCA,30H;01111010+10100101+1=1,00100000,(A)=20H,Cy=1,AC
2、=1,OV=0,P=1(4)SUBBA,@R0;01111010-10100101-1=1,11010100,(A)=D4H,Cy=1,AC=0,OV=1,P=0(5)DAA;01111010+00000110=10000000,(A)=80H,Cy=0,其他无变化(6)RLCA;(A)=11110101B=F5H,Cy=0,AC=0,OV=0,P=0(7)RRA;(A)=00111101B=3DH,Cy=1,AC=0,OV=0,P=1(8)PUSH30H;SP=66H,(66H)=A5H(9)POPB;SP=64H,(B
3、)=(65H)(10)XCHA,@R0;(A)=A5H,(30H)=7AH,Cy=1,OV=0,AC=0,P=03-4试分析在执行完下面的程序段后,A,R0,R1,R7,SP以及片内RAM的一些单元中内容各是什么?MOVSP,#65HMOVR7,#5MOVR0,#30HMOVR1,#40HLOOP:MOVA,@R1PUSHACCMOVA,@R0MOV@R1,AINCR0INCR1DJNZR7,LOOP结果:(A)=(34H),(R0)=34H,(R1)=44H,(R7)=0,SP=70H,(70H)=(44H),(30H)
4、=(40H),…(34H)=(44H)。3-5已知SP=62H,(62H)=50H,(61H)=30H,问执行指令RET后,PC=?,SP=?并解释。答:执行指令RET,从堆栈中弹出地址值给PC,栈指针减2,(62H),(61H)中的内容分别弹出PC=5030H,SP=60H3-7试编程求出片外RAM从2000H开始的连续20个单元的平均值,并将结果存入内部RAM20H单元。MOVDPTR,#2000HACALLAVG子程序名:AVG子程序功能:求20个无符号数平均值子程序子程序入口:(DPTR)=数据区首地址指针子程序出
5、口:(R3)(R4)=均值AVG:MOVR2,#20MOVR3,#00H;部分和高位字节单元清零MOVR4,#00H;部分和低位字节单元清零ACALLD-ADD;调用累加和子程序ACALLD-DIV;调用除以20的子程序求多字节累加和子程序子程序名:D-ADD子程序功能:多字节累加和子程序子程序入口:(DPTR)=数据区首地址指针子程序出口:(R3)(R4)=累加和,R3中内容为和高字节,R4中内容为和低字节D-ADD:CLRCLOOP:MOVXA,@DPTRADDA,R4MOVR4,ACLRAADDCA,R3MOVR3,
6、AINCDPTRDJNZR2,LOOPRET双字节除以20的子程序子程序名:D-DIV子程序功能:除以20的子程序子程序入口:(R3)(R4)=被除数子程序出口:(R3)(R4)=商D-DIV:MOVR7,#08H;置计数初值DV1:CLRCMOVA,R4;将(R3)(R4)左移1位RLCAMOVR4,AMOVA,R3RLCAMOV00H,C;将移出的标志位送00HCLRCSUBBA,R2;余数高位减除数JB00H,GOU;标志位为1够减JNCGOU;无借位,也说明够减ADDA,R2,不够减,恢复余数AJMPDV2GOU:
7、INCR4;够减,商上1DV2:MOVR3,ADJNZR7,DV1;减完?没完继续MOV20H,R3;转存20HMOV21H,R4;转存21HRET3-9在外部数据存储区首地址为TABLE的数据表中存有10B的数据,编程将每个字节的最高位置1,并送回原来的单元。ORG0030HMOVDPTR,#TABLEMOVR2,#10LOOP:MOVXA,@DPTRSETBACC.7MOVX@DPTR,AINCDPTRDJNZR2,LOOPEND3-10编写能延时1s的子程序,设晶振频率为12MHz。DELAY1S:MOVR6,#4;
8、1TDL1:MOVR5,#251;1TDL2:MOVR4,#248;1TDL3:NOP;1TNOP;1TDJNZR4,DL3;2TDJNZR5,DL2;2TDJNZR6,DL1;2TRET;2T延时时间:((248×4+1+2)×251+1+2)×4+1+2=998995㎲3-12编程实现:将30H,3
此文档下载收益归作者所有