微机原理与接口技术课后答案兰州交通大学.doc_第1页
微机原理与接口技术课后答案兰州交通大学.doc_第2页
微机原理与接口技术课后答案兰州交通大学.doc_第3页
微机原理与接口技术课后答案兰州交通大学.doc_第4页
微机原理与接口技术课后答案兰州交通大学.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学习资料收集于网络,仅供参考3-4. 下列指令执行后,求(A)=?PSW中Y、OV、AC为何值? (1)当(A)=6BHADDA,#81H(2)当(A)=6BHADDA,#8CH(3)当(A)=6BH,CY=0,ADDCA,#72H(4)当(A)=6BH,CY=1,ADDCA,#79H(5)当(A)=6BH,CY=1,SUBBA,#0F9H(6)当(A)=6BH,CY=0,SUBBA,#0FCH(7)当(A)=6BH,CY=1,SUBBA,#7AH(8)当(A)=6BH,CY=0,SUBBA,#8CH(1)011010116BH+)1000000181H111011000ECHA=0ECH,CY=0,AC=0,由竖式可以看出,C7=0,C6=0,所以OV=0。(2)011010116BH+)100011008CH111101110F7HA=0F7H,CY=0,AC=1,由竖式可以看出,C7=0,C6=0,所以OV=0。(3)011010116BH+)0111001072H0CY110111010DDHA=0DDH,CY=0,AC=0,由竖式可以看出,C7=0,C6=1,所以OV=1。(4)011010116BH+)0111100179H1CY111001010E5HA=0E5H,CY=0,AC=1,由竖式可以看出,C7=0,C6=1,所以OV=1。注:对于加法,溢出只能发生在两个加数符号位相同时,而且当位6和位7不同时有进位时,溢出标志OV将置位。(5)011010116BH-)111110010F9H1CY0111000171HA=71H,CY=1,AC=0,由竖式可以看出,C7=1,C6=1,所以OV=0。(6)011010116BH-)111111000FCH0CY011011116FHA=6FH,CY=1,AC=1,由竖式可以看出,C7=1,C6=1,所以OV=0。(7)011010116BH-)011110107A1CY111100000F0HA=0F0H,CY=1,AC=0,由竖式可以看出,C7=1,C6=1,所以OV=0。(8)011010116BH-)100011008C0CY110111110DFHA=0DFH,CY=1,AC=1,由竖式可以看出,C7=1,C6=0,所以OV=1。 注:对于减法,当位7和位6不同时发生借位时,OV=1,否则OV=0。在做带符号数减法时,只有当两个操作数符号位不同时,才有可能产生溢出。(1)若一个正数减一个负数,差为负数,则一定有溢出OV=1。(2)若一个负数减一个正数,差为正数,则一定有溢出OV=1。7.分析下列程序的执行功能CLR A MOV R2, A MOV R7, #4 LOOP: CLR C MOV A, R0 RLC A MOV R0, A MOV A, R1 RLC A MOV R1, A MOV A, R2 RLC A MOV R2, A DJNZ R7, LOOP SJMP $答:将R2:R1:R0所表示的24位二进制数左移4位。(相当16)8. 设系统晶振为12MHz,阅读下列程序,分析其功能,并人工汇编成机器代码。 START:SETBP1.0NEXT:MOV30H,#10LOOP2:MOV31H,#0FAHLOOP1:NOPDJNZ31H,LOOP1DJNZ30H,LOOP2CPLP1.0AJMPNEXTSJMP$答:因为AJMP指令必须有PC指针地址,所以本题解题时设程序开始地址为1000H。ORG1000H1000HSTART:SETBP1.0;1周期D2901002HNEXT:MOV30H,#10;2周期75300A1005HLOOP2:MOV31H,#0FAH;2周期7531FA1008HLOOP1:NOP;1周期001009HDJNZ31H,LOOP1;2周期D531FC100CHDJNZ30H,LOOP2;2周期D530F6100FHCPLP1.0;1周期B2901011HAJMPNEXT;2周期01021013HSJMP$;2周期80FE本程序完成功能是使P1.0口输出方波:T=2*(3*250+2+2)*10+1+2+2)=15090us=15.09ms翻译成机器语言的难点在于AJMP一句,根据AJMP指令代码可知,该指令为2个字节,高8为字节构成为“A10A9A800001”,低8位字节构成为“A7-A0”。又有设置了程序起始地址为1000H,很容易可以写出各指令的地址,AJMP的绝对转移目标地址为1002H,A10=0、A9=0、A8=0,所以机器代码为“01 02”,目标地址在2区,因为A15-A11为“00010”。9阅读下列程序,分析其功能。 MOV R7, #10 MOV A, #30H MOV DPTR, #2000H LOOP: MOVX DPTR, A INC A INC DPL DJNZ R7, LOOP SJMP $答:在外部数据存储器中的以下地址内存放数据: (2000H)=30H (2001H)=31H (2002H)=32H (2009H)=39H3-10. 简述下列程序段完成的功能,程序完成后SP指针应指向哪里?MOVSP,#2FHMOVDPTR,#2000HMOVR7#50HNEXT:MOVXA,DPTRPUSHADJNZR7,NEXTSJMP$答:本题完成功能将外部RAM的2000H单元数据连续入栈80(50H)次,最后SP指针指向7FH。11 题 分析下列程序段执行结果,程序执行完后,SP指向哪里? MOV SP, #3FH MOV R0, #40H MOV R7, #10H NEXT: POP A MOV R0, A DEC R0 DJNZ R7, NEXT SJMP $ 答:将栈中3FH,3EH一直到30H地址中的内容依次放入40H,3FH,31H单元中。执行完后SP=2FH。12分析下列程序段执行结果。 XCH A, 30H MOV B, A ANL A, #0FH MOV 33H, A MOV A, B SWAP A ANL A, #15 MOV 34H, A SJMP $ 答:将30H单元中的数的高四位放入34H中,低四位放入33H中。14 题 阅读(1)(2)(3)程序段,分析其功能。运算结果存在哪里? (1) MOV A, R2 ADD A, R0 MOV 30H, A MOV A, R3 ADDC A, R1 MOV 31H, A MOV A, #0 ADDC A, #0 MOV 32H, A SJMP $ (2)CLR C MOV A, R4 SUBB A, R2 MOV R0, A MOV A, R5 SUBB A, R3 MOV R1, A (3) MOV A, R1 MOV B, R0 MUL AB MOV 30H, A MOV 31H, B MOV A, R2 MOV B, R0 MUL AB ADD A, 31H MOV 31H, A MOV A, B ADDC A, #0 MOV 32H, A SJMP $ 答:(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中17用布尔指令 ,求解逻辑方程。 (1) PSW.5=P1.3ACC.2B.5P1.1 (2) PSW.5=P1.5B.4ACC.7P1.0 答:(1) MOV C, P1.3 ANL C, ACC.2 MOV ACC.0, C MOV C, B.5 ANL C, P1.1 ORL C, ACC.0 MOV PSW.5, C (2) MOV C, P1.5 ANL C, B.4MOV ACC.0, C MOV C, ACC.7 ANL C, P1.0ORL C, ACC.0CPL C MOV PSW.5, C5题阅读T0、T1初始化程序,回答右边几个问题(设主频为6MHZ) MOV A, #11H MOV TMOD, A MOV TH0, #9EH MOV TL0, #58H MOV TH1, #0F0H MOV TL1, #60H CLR PT0 SETB PT1 SETB ET0 SETB ET1 SETB EA *MOV A, #50H *MOV TCON, A T0, T1各用何种方式工作? 几位计数器? T0, T1各自定时时间或计数次数是多少? T0, T1的中断优先级? T0, T1的中断矢量地址? 最后两条带*号的指令功能是什么? 答: 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设为低优先级,T1设为高优先级。 T0的中断矢量地址:000BH T1的中断矢量地址:001BH TCON的内容:01010000 作用:TR1和TR0被置1,使计数器T0和T1启动。6单片机内部定时方式产生频率为100KHZ等宽矩形波,假定单片机的晶振频率为12MHZ,请编程实现。 答:T0低5位:1BH T0高8位:FFH MOV TMOD,#00H ;设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论