单片机部分习题 答案.docx

上传人:b****3 文档编号:4470193 上传时间:2022-12-01 格式:DOCX 页数:34 大小:51.53KB
下载 相关 举报
单片机部分习题 答案.docx_第1页
第1页 / 共34页
单片机部分习题 答案.docx_第2页
第2页 / 共34页
单片机部分习题 答案.docx_第3页
第3页 / 共34页
单片机部分习题 答案.docx_第4页
第4页 / 共34页
单片机部分习题 答案.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

单片机部分习题 答案.docx

《单片机部分习题 答案.docx》由会员分享,可在线阅读,更多相关《单片机部分习题 答案.docx(34页珍藏版)》请在冰豆网上搜索。

单片机部分习题 答案.docx

单片机部分习题答案

第一章思考题及习题

1-11请写出下列各十进制数在八位微型机中的原码、反码和补码形式:

(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-12将下列数看作八位微型机中带符号数的原码、反码和补码时,写出相应的真值:

(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-13写出下列各数的BCD码:

(1)47---47H01000111B

(2)78--78H01111000B

(3)1996--1996H0001100110010110B(4)115--115H000100010101B

1-14用十六进制形式写出下列字符的ASCll码:

字符串

无校验ASCll码

奇校验ASCll码

偶校验ASCll码

(1)ESC

1BH

9BH

1BH

(2)STUDENT

53H54H55H44H45H4EH54H

0D3H54H0D5H0C4H

45H0CEH54H

53H0D4H55H44H0C5H4EH0D4H

(3)X1AB96

58H31H41H42H39H36H

58H31H0C1H0C2H0B9H0B6H

0D8H0B1H41H42H39H36H

(4)COMPUTER

43H4FH4DH50H55H54H45H52H

43H4FH0CDH0D0H0D5H54H45H52H

0C3H0CFH4DH50H55H0D4H0C5H0D2H

1-15将下列数据进行加法和减法运算,写在前面的数为被加数或被减数(写出竖式)。

(1)97H和OFH

(2)0A6H和33H(3)0F3H和0F4H(4)0B6H和0EDH

一、加法

(1)97H和OFH

被加数10010111B=97H

加数00001111B=0FH

+

和10100110B=A6H

C8=0,C7=00V=0,CY=0

分析:

无符号数:

CY=0,97H+0FH=0A6H=166∵151+15=166

带符号数:

OV=0,97H+0FH=0A6H真值=-5AH=-90∵-69H+15=-105+15=-90

(2)0A6H和33H

被加数10100110B=A6H

加数00110011B=33H

+

和11011001B=F9H

C8=0,C7=00V=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

被加数11110011B=F3H

加数11110100B=F4H

+

和111100111B=E7H

C8=1,C7=10V=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

被加数10110110B=B6H

加数11101101B=EDH

+

和110100011B=A3H

C8=1,C7=10V=0,CY=0

分析:

无符号数:

CY=0,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=1OV=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-16完成下列数据的乘除运算,写在前面的数为被乘数或被除数(写出竖式)。

(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-17将下列数据分别进行逻辑乘、逻辑加和逻辑异或运算(写出竖式)。

(1)33H和0BBH

00110011B=33H

10111011B=BBH

00110011B=33H

00110011B=33H

10111011B=BBH

10111011B=BBH

00110011B=33H

10111011B=BBH

10001000B=88H

(2)0ABH和7FH

10101011B=ABH

01111111B=7FH

00101011B=2BH

10101011B=ABH

01111111B=7FH

11111111B=FFH

10101011B=ABH

01111111B=7FH

11010100B=D4H

(3)0CDH和80H

11001101B=CDH

10000000B=80H

10000000B=80H

 

11001101B=CDH

10000000B=80H

11001101B=CDH

11001101B=CDH

∨10000000B=80H01001101B=4DH

(4)78H和OFH

01111000B=78H

00001111B=0FH

00001000B=08H

01111000B=78H

00001111B=0FH

01111111B=7FH

01111000B=78H

00001111B=0FH

01110111B=77H

 

1-18把下列各数按补码运算规则求出X+Y的补码及其真值:

(1)X=十48Y=十38

被加数00110000B[X]补=30H

加数00100110B[Y]补=26H

+

和01010110B=56H

C8=0,C7=00V=0

∵[X]补+[Y]补=[X+Y]补=56H真值=+56H=+86

(2)X=+123Y=—49

被加数01111011B[X]补=7DH

加数11001111B[Y]补=CFH

+

和101001010B=4AH

C8=1,C7=1,0V=0

∵[X]补+[Y]补=[X+Y]补=4AH真值=+4AH=+74

(3)X=-34Y=+87

被加数11011110B[X]补=DEH

加数01010111B[Y]补=57H

+

和100110101B=35H

C8=1,C7=10V=0

∵[X]补+[Y]补=[X+Y]补=35H真值=+35H=+53

(4)X=-115Y=-15

被加数10001101B[X]补=8DH

加数11110001B[Y]补=F1H

+

和101111110B=7EH

C8=1,C7=00V=1

∵[X]补+[Y]补=7EH≠[X+Y]补负溢出

 

第二章习题答案

2-28051单片机内部包含哪些主要逻辑部件?

各自的功能是什么?

答:

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-38051单片机的存储器分哪几个空间?

通过什么信号来区别不同空间的寻址?

答:

有四个物理上相互独立的存储空间:

片内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-1MCS-51的寻址方式及特点

MCS-51的寻址方式有七种:

1.直接寻址:

指令中直接给出操作数所在的单元地址或位地址P63

2.立即寻址:

在指令中紧跟在操作码之后的字节是操作数P64

3.寄存器寻址:

操作数在指令中给出的寄存器内P64

4.寄存器间接寻址:

指令中指定的寄存器内存的是操作数的地址P65

5.变址寻址:

指令中给出由基址加变址形成的16位地址作为操作数的地址P65

6.相对寻址:

指令中给出相对偏移量,该相对偏移量与PC当前值求和得到转移地址P66

7.位寻址:

指令中给出的位地址或位寄存器里存是所寻的位操作数P67

3-2MCS-51的指令按功能分类及各类的作用

MCS-51的指令按功能分5类:

1.数据传送指令:

主要用于数据的传送与交换和栈操作。

P69

2.算术运算指令:

主要用来作算术四则运算、增量、减量及二—十进制调整。

P76

3.逻辑运算指令:

主要用来作“与”、“或”、“异或”、“清除”“求反”及“左右移位”等逻辑运算。

P81

4.位操作指令:

主要用来作“与”、“或”、“清除”、“置位”“求反”等布尔操作及“位传送”操作。

P83

5.控制转移指令:

主要用于改变程序计数器PC的值,以控制程序执行的走向,有转移、调用及返回操作.P84

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指出下面每条指令的寻址方式:

MOVA,#30H–寄存器、立即–30H立即数

MOVC,30H–寄存器、位–30H位地址

MOVXA,@DPTR–寄存器、间接

jCLAB1–相对

MOV30H,@R1–直接、间接–30H字节地址

MOV30H,R5–直接、寄存器–30H字节地址

MOVCA,@A+PC–寄存器、变址

sjmpLAB2–相对

3-5运行下列程序后各单元及A、PSW的内容

(1)

1.

MOVA,#2;(A)=02H00000001(psw)

MOVR1,#30H;(R1)=30H00000001

MOV@R1,A;((R1))=(30H)=02H00000001

MOV35H,R1;(35H)=30H00000001

XCHA,R1;(A)=30H,(R1)=02H00000000

 

2.

MOVA,#0F5H;(A)=F5H00000000

MOV30H,#9BH(30H)=9BH

MOVR0,30H;(R0)=9BH

ADDA,#28H;(A)=1DH10000000

ADDCA,R0;(A)=B9H01000001

3.

CLRC;(CY)=0

MOV40H,#7AH;(40H)=7AH

MOVA,#92H;(A)=92H00000001

MOVR0,#40H;(R0)=40H

SUBBA,@R0;(A)=92H-7AH-0=18H,(PSW)=44H

4.

MOVA,#79H;(A)=79H00000001

MOV30H,#89H;(30H)=89H

ADDA,30H;(A)=02H11000001

DAA;(A)=68H10000001

SWAPA;(A)=86H10000001

3-6写出能完成下列数据传送的指令

⑴ R1内容传送到R0

MOVA,R1;MOVR0,A

(2)内部RAM25H单元内容送到35H口

MOVA,25H;MOV35H,A;MOV35H,25H

(3)内部RAM25H单元内容送到P1口

① MOVA,25H;MOVP1,A;

② MOVP1,25H;

③ MOV90H,25H

(4)内部RAM40H单元内容送外部RAM2005H单元

MOVA,40H;MOVDPTR,#2005H;MOVX@DPTR,A

(5)外部RAM3000H单元内容送内部RAM25H单元

MOVDPTR,#3000H;MOVXA,@DPTR;MOV25H,A

(6)外部ROM1000H单元内容送内部RAM35H单元

MOVDPTR,#1000H;CLRA;MOVCA,@A+DPTR;MOV35H,A

(7)外部ROM4000H单元内容送外部RAM4000H单元

MOVDPTR,#4000H;CLRA;MOVCA,@A+DPTR;MOVX@DPTR,A

(8)外部RAM1000H单元内容送SP堆栈指针

MOVDPTR,#1000H;MOVXA,@DPTR;MOVSP,

3-7BCD码减法,求7954H-4157H=3797H。

算法1:

999AH-4157H=5843H

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 管理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1