单片机课后习题答案

上传人:德****1 文档编号:1091482 上传时间:2017-05-27 格式:PPT 页数:37 大小:289.84KB
返回 下载 相关 举报
单片机课后习题答案_第1页
第1页 / 共37页
单片机课后习题答案_第2页
第2页 / 共37页
单片机课后习题答案_第3页
第3页 / 共37页
单片机课后习题答案_第4页
第4页 / 共37页
单片机课后习题答案_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《单片机课后习题答案》由会员分享,可在线阅读,更多相关《单片机课后习题答案(37页珍藏版)》请在金锄头文库上搜索。

1、1、见书P20-表2.2, P21 P22表2.23、 8031片内RAM地址空间低128字节(00H- 7FH)为真正的RAM区,为连续空间,其中(00H-1FH)共32单元是4个通用工作寄存器区,每个区有8个通用寄存器R0-R7,片内RAM的20H-2FH 为位寻址区域,位地址范围为00H-7FH,片内RAM的30H-7FH为数据缓冲区,一般可用来开辟堆栈区。高128字节(80H-FFH)为特殊功能寄存器区SFR, SFR为不连续区,8031有18个SFR,占21个字节。5、见书P32,第三章,解:MCS-51指令系统按功能可分为类: (1)数据传送 (2)算术运算 (3)逻辑运 (4)位

2、操作 (5)控制转移 具有种寻址方式;其对应的寻址范围如下表:,1、MCS-51指令系统按功能可分为几类?具有几种寻址方式?它们的寻址范围如何?,寻址方式及相应的寻址空间,2、设内部RAM中(59H)=50H ,写出当执行下列程序段后寄 存器A ,R0和内部RAM中50H ,51H 单元的内容为何值? MOV A, 59H;(A)50H MOV R0, A;(R0)=50H MOV A,#00; (A)00H MOV R0 , A; 50H=00H MOV A, #25H; (A)25H MOV 51H , A ; (51H)25H MOV 52H , #70H ; (52H)70H 结果为:

3、(A)25H (R0)=50H (50H)00H (51H)25H,3、PSW中 Cy与OV 有何不同?下列程序段执行后Cy=? OV=? MOV A , #56H ADD A ,#74H,Cy:进位标志。如果操作结果在最高位有进位输出(加法), 或借位输入(减法)时,Cy置位,否则清“”该位又 是布尔处理器的累加器C.OV: 溢出标志。用于表示有符号数算术运算的溢出。当次高位 发生向最高位进位而最高位不发生进位或反之时,发生 溢出,OV置位,否则清“”,结果:Cy,OV,6设堆栈指针(SP)=60H ,内部 RAM 中(30H)=24H, (31H)=10H 执行下列程序后,61H ,62H

4、 ,30H ,31H ,DPTR及SP 中 的内容将有何变化? PUSH 30H; (61H)=24HPUSH 31H; (62H)=10HPOP DPL; (DPL )=10HPOP DPH; (DPH )=24HMOV 30H , #00H ; (30H)=00HMOV 31H , #0FFH; (31H)=0FFH,结果为: (61H)=24H (62H)=10H (30H)=00H (31H)=0FFH (DPTR)=2410H (SP)=60H,7、试分析以下程序段,当执行程序后,位地址00H 和01H 中的 内容将为何值?P1 口的8条I/O线为何状态?,ORG 0000H CLR

5、 C MOV A, #66H JC LOOP1 CPL C SETB 01HLOOP1: ORL C, ACC.0 JB ACC.2, LOOP2LOOP2: MOV P1, A SJMP $ END,结果如下:(00H)= 0 ( bit )(01H)= 1 ( bit ) (P1)=66H,8.要完成以下的数据传送,应如何用MCS-51指令实现?(1)R1的内容传送到R0 ; 解: MOV A, R1 MOV R0, A(2)片外RAM 20H单元内容送R0 ; MOV DPTR, #0020H MOVX A, DPTR MOV R0, A(3)片外 RAM 20H单元的内容送片内RAM

6、20H单元; MOV DPTR, #0020H MOVX A, DPTR MOV 20H, A,(4)片外RAM 1000H单元的内容送片内 RAM 20H 单元; MOV DPTR, #1000H MOVX A, DPTR MOV 20H, A(5)ROM 2000H单元的内容送R0单元; MOV A, #00H MOV DPTR, #2000H MOVC A, A+DPTR MOV R0, A(6)ROM 2000H 单元的内容送片内RAM 20H单元; MOV 20H, A(7)ROM 2000H单元的内容送片外RAM 20H单元。 MOV A, #00H MOV DPTR, #2000

7、H MOVC A, A+DPTR MOV DPTR, #0020H MOVX DPTR,A,9.分析以下程序每一条指令执行结果:MOV A , #25H;(A)=25HMOV R1 , #33H ;(R1)=33HMOV 40H , #1AH ;(40H)=1AHMOV R3 , #40H;(R3)=40HADD A , R1 ;(A)=58HADDC A , R3;(A)=72HADDC A , 40H;(A)=8CH,10、设 A=83H , R0=17H , (17h)=34H,执行下面程序段后, (A)=?解: ANL A , #17H;(A )= 03HORL 17H , A;( 1

8、7H ) = 37HXRL A ,R0; (A )= 34HCPL A; (A )= CBH结果:( A ) = 0CBH,11、两个4位BCD码数相加,被加数和加数分别存于(次序为 千 位,百位在低地址中,十位,个位在高地址中),和数 放在50H, 51H ,52H中( 52H用于存放最高位的进位), 试 编写加法程序。 解:(30H)(31H)+(40H)(41H)=(52H)( 51H)(50H),MOVA, 31HCLRA ;不影响Cy AC OVADDA, 41HADDC A,#00HDAA MOV 52H, A ;存最高位的进位MOV50H, A ;存低位和MOVA, 30HADD

9、C A,40HDAA MOV 51H,A ;存高位和,ORG 0000H MOV R0,#1FH MOV R2,#49(31H);单元长度 LOOP: INCR0 ;起始单元MOV A,R0CJNE A,#0AA, NEXT0MOV 51H,#01HSJMP ENDD NEXT0: DJNZ R2, LOOP MOV 51H, #00H ENDD: SJMP $END,12、试编写一程序, 查找内部RAM 单元的20H50H 中是否有0AAH 这一数据,若 有,则将51H单 元置为01H ,若 没有, 则使51H 单元置0,13、用布尔指令,求解逻方程: PSW.5=P1.3*ACC.2+B.

10、5*P1.1 PSW.5=P1.5*B.4+ACC.7*P1.0 ORG 0000HMOVC, ACC.2ANLC, P1.3MOV00H,C ;( 00H ) = P1.3*ACC.2MOVC,B.5ANLC,P1.1;C=B.5*P1.1ORL C,00HMOV PSW.5, CEND,第四章,4.1 伪指令( 1、 汇编起始指令 ORG 2、等值指令EQU 3、 定义字节指令DB 4、 定义字指令DW 5、 汇编结束指令END ),4.2 汇编语言程序设计4.2.1 简单程序设计 4.2.2 分支程序设计 4.2.3 循环程序设计 (概念;单、多重循环 )4.2.4 散转程序设计(属分支

11、程序的一种) 4.2.5 子程序和参数传递( 子程序的概念、调用)4.2.6 查表程序设计4.2.7 数制转换 4.2.8 运算程序(加、 减、乘、 除),小结,Ch4 作业:,P73,5试编写程序,将内部 RAM中DATA1单元 开始的20个单字节数 据依次与DATA2单元 为起始地址的20个单 字节数据进行交换 换。,ORG 0000H DATA1 EQU 20H DATA2 EQU 40H MOV R0, #DATA1 MOV R1, #DATA2 MOV R2, #20LP: MOV A, R0 XCH A, R1 MOV R0, A INC R0 INC R1 DJNZ R2, LP SJMP $ END,5,7编写将一个单字 节十六进制数转换 为十进制数的子程序。,解法 ORG 0000H ; HEX1 EQU 30H ; DD1 EQU 40H ; DD2 EQU 41HMOV A, 30H MOV B, #100 DIV AB MOV 40H, A MOV A, #10 XCH A, B DIV AB SWAP A ORL A, B MOV 41H, A SJMP $ END,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号