首页 单片机_课后答案(赵晓安主编)

单片机_课后答案(赵晓安主编)

举报
开通vip

单片机_课后答案(赵晓安主编)1-1 请写出下列各十进制数在八位微型机中的原码、反码和补码形式: (1)X=十48 (2)X=+123 (3)X=-34 (4)X=-115 真值 X 原码 反码 补码 +48 30H 30H 30H +123 7BH 7BH 7BH -34 10100010B=0A2H 0DDH 0DEH -115 11110011B=0F3H 8CH 8DH 1-2 将下列数看作八位微型机中带符号数的原...

单片机_课后答案(赵晓安主编)
1-1 请写出下列各十进制数在八位微型机中的原码、反码和补码形式: (1)X=十48 (2)X=+123 (3)X=-34 (4)X=-115 真值 X 原码 反码 补码 +48 30H 30H 30H +123 7BH 7BH 7BH -34 10100010B=0A2H 0DDH 0DEH -115 11110011B=0F3H 8CH 8DH 1-2 将下列数看作八位微型机中带符号数的原码、反码和补码时,写出相应的真值: (1)10110110B (2)01000101B (3)11110010B (4)10101101B 原码 10110110B 01000101B 11110010B 10101101B 真值 X -36H=-54 +45H=+69 -72H=-114 -2DH=-45 反码 10110110B 01000101B 11110010B 10101101B 真值 X -49H=-73 +45H=+69 -0DH=-13 -52H=-82 补码 10110110B 01000101B 11110010B 10101101B 真值 X -4AH=-74 +45H=+69 -0EH=-14 -53H=-83 1-3 写出下列各数的BCD码: (1)47 ---47H 0100 0111B (2)78 --78H 0111 1000B (3)1996 --1996H 0001 1001 1001 0110B (4)115 --115H 0001 0001 0101B 1-4 用十六进制形式写出下列字符的ASCll码: 字符串 无校验ASCll码 奇校验ASCll码 偶校验ASCll码 (1)ESC 1BH 9BH 1BH (2)STUDENT 53H 54H 55H 44H 45H 4EH 54H 0D3H 54H 0D5H 0C4H 45H 0CEH 54H 53H 0D4H 55H 44H 0C5H 4EH 0D4H (3)X1AB96 58H 31H 41H 42H 39H 36H 58H 31H 0C1H 0C2H 0B9H 0B6H 0D8H 0B1H 41H 42H 39H 36H (4)COMPUTER 43H 4FH 4DH 50H 55H 54H 45H 52H 43H 4FH 0CDH 0D0H 0D5H 54H 45H 52H 0C3H 0CFH 4DH 50H 55H 0D4H 0C5H 0D2H 1-5 将下列数据进行加法和减法运算,写在前面的数为被加数或被减数(写出竖式)。 (1)97H和OFH (2)0A6H和33H (3)0F3H和0F4H (4)0B6H和0EDH 一、加法 (1)97H和OFH 被加数 1 0 0 1 0 1 1 1 B =97H 加数 0 0 0 0 1 1 1 1 B =0FH + 和 1 0 1 0 0 1 1 0 B =A6H C8=0 ,C7=0 0V =0 ,CY =0 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 : 无符号数: CY=0, 97H+0FH=0A6H=166 ∵151+15=166 带符号数: OV=0, 97H+0FH=0A6H 真值=-5AH=-90 ∵-69H+15=-105+15=-90 (2)0A6H和33H 被加数 1 0 1 0 0 1 1 0 B =A6H 加数 0 0 1 1 0 0 1 1 B =33H + 和 1 1 0 1 1 0 0 1 B =F9H C8=0 ,C7=0 0V =0 ,CY =0 分析: 无符号数: CY=0, A6H+33H=0D9H=217 ∵166+51=217 带符号数: OV=0, A6H+33H=0D9H 真值=-27H=-39 ∵-5AH+51=-90+51=-39 (3)0F3H和0F4H 被加数 1 1 1 1 0 0 1 1 B =F3H 加数 1 1 1 1 0 1 0 0 B =F4H + 和 1 1 1 1 0 0 1 1 1 B =E7H C8=1 ,C7=1 0V =0 ,CY =1 分析: 无符号数: CY=1, F3H+F4H=100H+0E7H=1E7H=487 ∵243+244=487 带符号数: OV=0, F3H+F4H=0E7H 真值=-19H=-25 ∵-13+(-12)= -25 (4)0B6H和0EDH 被加数 1 0 1 1 0 1 1 0 B =B6H 加数 1 1 1 0 1 1 0 1 B =EDH + 和 1 1 0 1 0 0 0 1 1 B =A3H C8=1,C7=1 0V =0 ,CY =1 分析: 无符号数: CY=1,B6H+EDH=100H+0A3H=1A3H ∵182+237=419 带符号数: OV=0, B6H+EDH=0A3H 真值=-5DH=-93 ∵-4AH-13H=-74-19=-93 二、减法: (1)97H和OFH 被减数 10010111B - 减数 00001111B 求补 11110000B 取反 + 1 加1 + 11110001B 进 位 111110111  差 10001000B 分析: 无:CY=/C8=/1=0,∵97H-0FH=88H, 151-15=136 带:C8=1,C7=1 OV=0, ∵97H-0FH=88H, 真值=-78H=-120 ∴ -105-15=-120 (2)0A6H和33H 被减数 10100110B - 减数 00110011B 求补 11001100B 取反 + 1 加1 + 11001101B 差 101100011B 分析: 无:CY=/C8=/1=0,∵0A6H-33H=73H, 166-51=115 带:C8=1,C7=0,OV=1, ∵0A6H-33H=63H, OVER ∴ -90-51=-141<-128 (3)0F3H和0F4H 被减数 11110011B - 减数 11110100B 求补 00001011B 取反 + 1 加1 + 00001100B 差 11111111B 分析: 无:CY=/C8=/0=1,∵0F3H-0F4H=-100H+0FFH=-1 带:C8=0,C7=0,OV=0, ∵0F3H-0F4H=0FFH, 真值=-(00H-0FFH)=-1 (4)0B6H和0EDH 被减数 10110110B - 减数 11101101B 求补 00010010B 取反 + 1 加1 + 00010011B 差 11001001B 分析: 无:CY=/C8=/0=1,∵0B6H-0EDH=-100H+0C9H=-37H=-55 带:C8=0,C7=0,OV=0, ∵0B6H-0EDH=0C9H, 真值=-(00H-0C9H)=-37H=-55 1-6 完成下列数据的乘除运算,写在前面的数为被乘数或被除数(写出竖式)。 (1)1100B和1101B 被乘数 1 1 0 0 B 乘数 × 1 1 0 1 B 1 1 0 0 0 0 0 0 1 1 0 0 + 1 1 0 0 乘积 1 0 0 1 1 1 0 0 B (2)ll0ll0llB和10010101B 被乘数 1 1 0 1 1 0 1 1 B 乘数 × 1 0 0 1 0 1 0 1 B 1 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 1 1 0 1 1 0 1 1 乘积 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 B (1)1100B和1101B 0 .1 0 1 1101 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 0 0 (2)ll0ll0llB和10010101B 1 .0 1 1 1 1 10010101 1 1 0 1 1 0 1 1 1 0 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 0 0 1 0 1 0 1 1 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1-7 将下列数据分别进行逻辑乘、逻辑加和逻辑异或运算(写出竖式)。 (1)33H和0BBH 0 0 1 1 0 0 1 1 B =33H 1 0 1 1 1 0 1 1 B =BBH ∧ 0 0 1 1 0 0 1 1 B =33H 0 0 1 1 0 0 1 1 B =33H 1 0 1 1 1 0 1 1 B =BBH ∨ 1 0 1 1 1 0 1 1 B =BBH 0 0 1 1 0 0 1 1 B =33H 1 0 1 1 1 0 1 1 B =BBH ∨ 1 0 0 0 1 0 0 0 B =88H (2)0ABH和7FH 1 0 1 0 1 0 1 1 B =ABH 0 1 1 1 1 1 1 1 B =7FH ∧ 0 0 1 0 1 0 1 1 B =2BH 1 0 1 0 1 0 1 1 B =ABH 0 1 1 1 1 1 1 1 B =7FH ∨ 1 1 1 1 1 1 1 1 B =FFH 1 0 1 0 1 0 1 1 B =ABH 0 1 1 1 1 1 1 1 B =7FH ∨ 1 1 0 1 0 1 0 0 B =D4H (3)0CDH和80H 1 1 0 0 1 1 0 1 B =CDH 1 0 0 0 0 0 0 0 B =80H ∧ 1 0 0 0 0 0 0 0 B =80H 1 1 0 0 1 1 0 1 B =CDH 1 0 0 0 0 0 0 0 B =80H ∨ 1 1 0 0 1 1 0 1 B =CDH 1 1 0 0 1 1 0 1 B =CDH ∨ 1 0 0 0 0 0 0 0 B =80H 0 1 0 0 1 1 0 1 B =4DH (4)78H和OFH 0 1 1 1 1 0 0 0 B =78H 0 0 0 0 1 1 1 1 B =0FH ∧ 0 0 0 0 1 0 0 0 B =08H 0 1 1 1 1 0 0 0 B =78H 0 0 0 0 1 1 1 1 B =0FH ∨ 0 1 1 1 1 1 1 1 B =7FH 0 1 1 1 1 0 0 0 B =78H 0 0 0 0 1 1 1 1 B =0FH ∨ 0 1 1 1 0 1 1 1 B =77H 1-8 把下列各数按补码运算规则求出X+Y的补码及其真值: (1)X=十48 Y=十38 被加数 0 0 1 1 0 0 0 0 B [X]补=30H 加数 0 0 1 0 0 1 1 0 B [Y]补=26H + 和 0 1 0 1 0 1 1 0 B =56H C8=0,C7=0 0V =0 ∵[X]补+[Y]补=[X+Y]补=56 H 真值=+56H=+86 (2)X=+123 Y=—49 被加数 0 1 1 1 1 0 1 1 B [X]补=7DH 加数 1 1 0 0 1 1 1 1 B [Y]补=CFH + 和 1 0 1 0 0 1 0 1 0 B =4AH C8=1,C7=1,0V=0 ∵[X]补+[Y]补=[X+Y]补=4A H 真值=+4AH=+74 (3)X=-34 Y=+87 被加数 1 1 0 1 1 1 1 0 B [X]补=DEH 加数 0 1 0 1 0 1 1 1 B [Y]补=57H + 和 1 0 0 1 1 0 1 0 1 B =35H C8=1,C7=1 0V =0 ∵[X]补+[Y]补=[X+Y]补=35 H 真值=+35H=+53 (4)X=-115 Y=-15 被加数 1 0 0 0 1 1 0 1 B [X]补=8DH 加数 1 1 1 1 0 0 0 1 B [Y]补=F1H + 和 1 0 1 1 1 1 1 1 0 B =7EH C8=1,C7=0 0V =1 ∵[X]补+[Y]补=7EH≠[X+Y]补 负溢出 第二章 习题答案 工程经济学课后答案小学生必背古诗文7综合教程3课后答案高中数学必修2答案高等数学同济课后答案 2-2 8051单片机内部包含哪些主要逻辑部件?各自的功能是什么? 答:8051单片机内部包含: 1、 中央处理器CPU:它是单片机内部的核心部件,决定了单片机的主要功能特性,由运算器和控制器两大部分组成。 2、 存储器:8051单片机在系统结构上采用了哈佛型,将程序和数据分别存放在两个存储器内,一个称为程序存储器,另一个为数据存储器。在物理结构上分程序存储器和数据存储器,有四个物理上相互独立的存储空间,即片内ROM和片外ROM,片内RAM和片外RAM。 3、 定时器/计数器(T/C):8051单片机内有两个16位的定时器/计数器,每个T/C既可以设置成计数方式,也可以设置成定时方式,并以其定时计数结果对计算机进行控制。 4、 并行I/O口:8051有四个8位并行I/O接口(P0~P3),以实现数据的并行输入输出。 5、 串行口:8051单片机有一个全双工的串行口,可实现单片机和单片机或其他设备间的串行通信。 6、 中断控制系统:8051共有5个中断源,非为高级和低级两个级别。它可以接收外部中断申请、定时器/计数器申请和串行口申请,常用于实时控制、故障自动处理、计算机与外设间传送数据及人机对话等。 2-3 8051单片机的存储器分哪几个空间?通过什么信号来区别不同空间的寻址? 答:有四个物理上相互独立的存储空间:片内ROM地址为0000H-0FFFH此时/EA=1;片外ROM地址为0000H-0FFFFH此时/EA=0。片内数据存储器地址为00H-0FFH;片外数据存储器地址为0000H-0FFFFH;区分片内片外数据存储器通过指令MOV与MOVX。 2-6 内部RAM低128单元划分为哪三个主要部分?各部分主要功能是什么? 答:分为三部分:工作寄存器去,位寻址区,用户RAM区(堆栈、数据缓冲)。 工作寄存器区(00H-1FH):32个RAM单元共分四组,每组8个寄存单元(R0-R7)。寄存器常用于存放操作数及中间结果等。位寻址区(20H-2FH):此部分16个单元的每一位都有一个8位表示的位地址,位寻址取得每一个单元既可作为一般RAM单元使用,进行字节操作,也可以对单元中的每一位进行位操作。用户RAM区:也是数据缓冲区,一般用于存放用户数据及作堆栈区使用。 第三章习题答案 3-1 MCS-51的寻址方式及特点 MCS-51的寻址方式有七种: 1.直接寻址:指令中直接给出操作数所在的单元地址或位地址 P68 2.立即寻址:在指令中紧跟在操作码之后的字节是操作数 P69 3.寄存器寻址:操作数在指令中给出的寄存器内 P69 4.寄存器间接寻址:指令中指定的寄存器内存的是操作数的地址 P70 5.变址寻址:指令中给出由基址加变址形成的16位地址作为操作数的地址 P71 6.相对寻址:指令中给出相对偏移量,该相对偏移量与PC当前值求和得到转移地址 P72 7.位寻址:指令中给出的位地址或位寄存器里存是所寻的位操作数 P71 3-2 MCS-51的指令按功能分类及各类的作用 MCS-51的指令按功能分5类: 1.数据传送指令:主要用于数据的传送与交换和栈操作。 P74 2.算术运算指令:主要用来作算术四则运算、增量、减量及二—十进制调整。 P81 3.逻辑运算指令:主要用来作“与”、“或”、“异或”、“清除” “求反”及“左右移位”等逻辑运算。 P88 4.位操作指令:主要用来作 “与”、“或”、 “清除”、“置位” “求反”等布尔操作及“位传送” 操作。 P90 5.控制转移指令:主要用于改变程序计数器PC的值, 以控制程序执行的走向,有转移、调用及返回操作.P91 3-3 变址寻址和相对寻址中偏移量的异同点 变址寻址 :@A+DPTR ;基址:DPTR, 变址:A @A+PC ;基址:PC当前值, 变址:A 变址:A 中为8位二进制无符号数偏移量(A)∈[0,255] 即[00H,0FFH] 相对寻址: 相对偏移量为8位二进制带符号数的补码 rel ∈[-128,+127] [rel]补码∈[00H,0FFH] 相同点:偏移量∈[00H,0FFH] 不同点:变址寻址 中偏移量为8位二进制无符号数; 相对寻址中偏移量为8位二进制带符号数的补码 3-4 指出下面每条指令的寻址方式: MOV A,#30H –寄存器、立即–30H 立即数 MOV C,30H –寄存器、位 –30H 位地址 MOVX A,@DPTR –寄存器、间接 jC LAB1 –相对 MOV 30H,@R1 –直接、间接 –30H 字节地址 MOV 30H,R5 –直接、寄存器 –30H 字节地址 MOVC A,@A+PC –寄存器、变址 sjmp LAB2 –相对 3-5 运行下列程序后各单元及A、PSW的 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 (1) 1. MOV A,#2 ;(A)=02 H 0000 0001(psw) MOV R1,#30H ;(R1)=30H 0000 0001 MOV @R1,A ;((R1))=(30H)=02 H 0000 0001 MOV 35H,R1 ;(35H)=30H 0000 0001 XCH A,R1 ;(A)=30H, (R1)= 02 H 0000 0000 2. MOV A,#0F5H ;(A)=0F5H 00000000 MOV 30H,#9BH ;(30H)=9BH MOV R0,#30H ;(R0)=30H ADD A,#28H ;(A)=1D H 10000000 ADDC A, @R0 ;(A)=0B9H 01000001 3. CLR C ;(CY)=0 MOV 40H,#7AH ;(40H)=7AH MOV A,#92H ;(A)=92H 00000001 MOV R0,#40H ;(R0)=40H SUBB A,@R0 ;(A)=92H-7AH-0=18H,(PSW)=44H 4. MOV A,#79H ;(A)=79H 00000001 MOV 30H,#89H ;(30H)=89H ADD A,30H ;(A)=02H 11000001 DA A ;(A)=68H 10000001 SWAP A ;(A)=86H 10000001 3-6 写出能完成下列数据传送的指令 ⑴ R1内容传送到R0 MOV A,R1; MOV R0,A (2)内部RAM25H单元内容送到 35H单元 MOV 35H,25H或MOV A,25H ; MOV 35H,A ;MOV 35H,25H (3)内部RAM25H单元内容送到 P1口 ① MOV A,25H ; MOV P1,A ; ② MOV P1,25H ; ③ MOV 90H,25H (4)内部RAM40H单元内容送外部RAM 2005H单元 MOV A,40H;MOV DPTR,#2005H;MOVX @DPTR,A (5)外部RAM3000H单元内容送内部RAM 25H单元 MOV DPTR,#3000H; MOVX A,@DPTR;MOV 25H,A (6)外部ROM1000H单元内容送内部RAM 35H单元 MOV DPTR,#1000H; CLR A ;MOVC A,@A+DPTR;MOV 35H,A (7)外部ROM4000H单元内容送外部RAM4000H单元 MOV DPTR,#4000H; CLR A;MOVC A,@A+DPTR;MOVX @DPTR,A (8)外部RAM 1000H单元内容送SP堆栈指针 MOV DPTR,#1000H;MOVX A,@DPTR; MOV SP,A 3-7 BCD码减法,求7954H-4157H=3797H。 算法1:  999AH-4157H=5843H  5843H+7954H并调整 ORG 0000H BCDS: MOV A,#9AH CLR C SUBB A,#57H MOV 30H,A MOV A,#99H SUBB A,#41H MOV 31H,A MOV A,#54H ADD A,30H DA A MOV 20H,A MOV A,#79H ADDC A,31H DA A MOV 21H,A CPL C MOV 2FH,C SJMP $ END 循环程序 ORG 0000H BCDS1: MOV 20H,#54H MOV 21H,#79H MOV 30H,#57H MOV 31H,#41H MOV R0,#30H CLR C MOV A,#9AH SUBB A,@R0 MOV 40H,A INC R0 MOV A,#99H SUBB A,@R0 MOV 41H,A CLR C MOV R0,#40H MOV R1,#20H MOV R2,#2 LOOP: MOV A,@ R0 ADDC A,@R1 DA A MOV @R0,A INC R0 INC R1 DJNZ R2,LOOP CPL C MOV 7FH,C SJMP $ END 3-7 顺序程序 算法2 ORG 0000H BCDS1: MOV 20H,#54H MOV 21H,#79H MOV 30H,#57H MOV 31H,#41H MOV R0,#30H CLR C MOV A,#9AH SUBB A,@R0 ; ADD A,20H ; DA A ; CY)=0 MOV 40H,A CPL C ; ( CY)=1 INC R0 MOV A,#9AH SUBB A,@R0 ;(CY)=0 ADD A,21H DA A MOV 41H,A CPL C MOV 7FH,C SJMP $ END 3-8写出下段程序中每一步A、B中的结果 MOV A,#22H ;(A)=22H MOV B,#05H ; (B)=05H MOV R0,#08H MUL AB ; (A)=0AAH,(B)=0   00000000 MOV B,R0 DIV AB ;(A)=15H,(B)=02H 00000001 3-9 试写出完成如下操作的程序 (1) ORG 0000H   MOV DPTR,#1000H  MOVX A,@DPTR  ANL A,#11110000B   MOVX @DPTR,A   SJMP $ (2) ORL 50H,#00001111B (3) XRL 50H,#11100000B (4) MOV 50H,#11110000B (5) XRL 50H,#0FFH 3-10 30H开始的20个单元数据传送到外部3000H ORG 0000H MOV R0,#30H MOV DPTR,#3000H MOV R7,#20 Loop1: MOV A,@R0 MOVX @DPTR,A INC R0 INC DPTR DJNZ R7,Loop1 SJMP $ END 3-11 根据R3条件转移 1 ORG 0000H Cjne R3,#15,NEQ sjmp L1 ;=15 NEQ: jnC L1 ;>15 sjmp $ ;<15 L1: nop ;≥15 . ORG 0000H Cjne R3,#15,NEQ sjmp Halt NEQ: jC L1 ;<15 sjmp Halt L1: nop ;<15 Halt: sjmp $ ; ≥15 ORG 0000H Cjne R3,#15,NEQ sjmp L1 NEQ: jC L1 sjmp $ L1: nop ;≤15 ORG 0000H Cjne R3,#15,NEQ sjmp Halt NEQ: jnC L1 sjmp Halt L1: nop ;>15 Halt: sjmp $ 3-11 根据R3条件转移 2 ORG 0000H CLR C MOV A,R3 SUBB A,#15 JNC GE15 ;≥15 …. (R3)-15 ORG 0100H CLR C MOV A,R3 SUBB A,#15 JC GE15 ;<15 …. (R3)-15 ORG 0000H CLR C MOV A,#15 SUBB A,R3 JNC GE15 ;≤15 …. 15-(R3) ORG 0000H CLR C MOV A,#15 SUBB A,R3 JC GE15 ;>15 …. 15-(R3) 3-12 已知(SP)=53H,(PC)=37FEH 执行: ACALL 3A00H 后: (SP)=(SP)+2=55H (PC)=3A00H ((SP-1))=(54H)=00H ;PCL ((SP))=(55H)=38H ;PCH 37FEH: ACALL 3A00H 3800H: 第四章汇编语言程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 考题 安全员b证考试题库金融学机考题库消防安全技术实务思考题答案朝花夕拾考题答案excel基本考题 与习题4及答案 4-13 试编程实现将20H单元的两位BCD数相乘,结果以BCD码的形式存于21H单元当中。 4-13-1 ORG 0000H MOV 20H,#56H MOV A,20H ANL A,#0FH MOV B,A MOV A,20H ANL A,#0F0H SWAP A MOV R2,A DEC B LOOP: ADD A,R2 DA A DJNZ B,LOOP MOV 21H,A SJMP $ END 4-13-2 ORG 0000H MOV 20H,#56H MOV A,20H MOV R0,#21H MOV 21H,#0 XCHD A,@R0 MOV B,@R0 SWAP A MOV R2,A DEC B LOOP: ADD A,R2 DA A DJNZ B,LOOP MOV 21H,A SJMP $ END 4-7 设一个加数在50H~52H单元中,另一个加数在53H~55H中,进位存放在位地址00中,试编程实现两数求和。 ORG 000H ONE DATA 50H TWO DATA 53H WEI BIT 00H MOV R0,#ONE MOV R1,#TWO ; MOV C,WEI CLR C MOV R2,#3 LOOP: MOV A,@R0 ADDC A,@R1 MOV @R0,A INC R0 INC R1 DJNZ R2,LOOP MOV WEI,C SJMP $ END 4-7-2 ORG 0000H ONE DATA 50H TWO DATA 53H WEI BIT 00H MOV R0,#ONE MOV R1,#TWO CLR C MOV R2,#3 SETB RS0 MOV R0,#58H CLR RS0 LOOP: MOV A,@R0 ADDC A,@R1 INC R0 INC R1 SETB RS0 MOV @R0,A INC R0 CLR RS0 DJNZ R2,LOOP MOV WEI,C SJMP $ END 4-11试用除法指令将20H单元的两位BCD码变成ASCII码后存入21H和22H单元。 ORG 0000H MOV 20H,#67H MOV A,20H MOV B,#10H DIV AB ADD A,#30H MOV 21H,A ORL B,#30H MOV 22H,B SJMP $ END 4-1从20H单元开始存放一组带符号数,其数目已存在1FH单元。要求统计出大于0、小于0和等于0的个数并存于ONE、TWO、THREE 三个单元。 ORG 0000H ONE EQU 30H TWO EQU 31H THREE EQU 32H NUM EQU 1FH MOV NUM,#0FH MOV R0,#20H;-1,2,34,0A0H,0.... MOV R1,#ONE LOOP: MOV @R1,#0 INC R1 CJNE R1,#34H,LOOP LOOP1: MOV A,@R0 JZ MTHREE JB ACC.7,MTWO INC ONE SJMP DJNZZ MTHREE: INC THREE SJMP DJNZZ MTWO: INC TWO DJNZZ: INC R0 DJNZ NUM,LOOP1;NUM=0FH SJMP $ END 4-5在用JMP指令实现128分支的程序中,试用LJMP代替AJMP指令。修改后的程序有何特点?最多能实现多少分支? 4-5 AJMP指令表 128分支占128*2=256 字节MEMORY LJMP指令表 可以实现256/3=85 个分支 特点:各分支可在64KB存储器中转移。 4-2设自变量X为一无符号数,存放在内部RAM的VAX单元,函数Y存放在FUNC单元,请编出满足如下关系的程序: X X≥50 Y= 5X 50>X≥20 2X X<20 ORG 0000H VAX EQU 30H FUNC EQU 31H MOV VAX,#55;15;20;25;50;55 MOV A,VAX CJNE A,#20,DO1 DO1: JNC DO2 MOV B,#2 MUL AB SJMP MEM DO2: CJNE A,#50,DO3 DO3: JNC MEM MOV B,#5 MUL AB MEM: MOV FUNC,A SJMP $ END X Y X Y 15 2X=30=14H 50 X=50=32H 20 5X=100=64H 55 X=55=37H 25 5X=125=7DH 4-3外部RAM从2000H到2100H有一数据块,请编出将它们传送到外部RAM3000H到3100H区域的程序。 4-7 ORG 0000H MOV DPTR,#2000H MOV P2,#30H MOV R0,#00H MOV R2,#0 LOOP:MOVX A,@DPTR MOVX @R0,A INC DPTR INC R0 DJNZ R2,LOOP ;0—FF--0 MOVX A,@DPTR ;(DPTR)=2100H INC P2 ;31H MOVX @R0,A SJMP $ END 4-4在内部RAM中,有一个以BLOCK为始址的数据块,块长在LEN单元。请用查表指令编一程序,先检查它们若是16进制中的A~F,则把它们变为ASCⅡ码;若不是,则把它们变为00H。 4-4 BLOCK EQU 31H LEN EQU 30H N EQU 30 ORG 0000H MOV R0,#BLOCK MOV LEN,#N MOV R2,LEN LOOP: MOV A,@R0 CJNE A,#0AH,DO1 DO1: JNC DO2 SJMP DO5 DO2: CJNE A,#0FH,DO3 SJMP DO4 DO3: JC DO4 DO5: MOV A,#0 SJMP NEXT DO4: MOV DPTR,#TAB CLR C SUBB A,#0AH MOVC A,@A+DPTR NEXT: MOV @R0,A INC R0 DJNZ R2,LOOP SJMP $ TAB: DB 'A','B','C','D','E','F' END 4-6试编写一个子程序将字符串:“MCS-51 Microcntrol”装入外部RAM 8000H开始的显示缓冲区。 4-9ORG 0000H MOV DPTR,#TAB MOV P2,#80H MOV R0,#00H MOV R2,#19 LOOP: MOV A,#0 MOVC A,@A+DPTR MOVX @R0,A INC R0 INC DPTR DJNZ R2,LOOP SJMP $ tab: DB 'MCS-51 Microcontrol' END 4-10将内部RAM的AAA单元中8位无符号二进制数转换成用BCD码表示的十进制数。(要求用连续除10的方法实现) 4-10 ORG 0000H ORG 1000H AAA DATA 0FFH AAA EQU 0FFH MOV A,#AAA MOV A,#AAA MOV B,#0AH MOV R0,#30H DIV AB MOV B,#0AH MOV 30H,B DIV AB MOV B,#0AH MOV @R0,B DIV AB INC R0 MOV 31H,B JNZ
本文档为【单片机_课后答案(赵晓安主编)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_053826
暂无简介~
格式:doc
大小:467KB
软件:Word
页数:33
分类:生产制造
上传时间:2012-12-26
浏览量:58