单片微型计算机原理与接口技术髙锋版课后答案全集Word格式.docx
- 文档编号:13882269
- 上传时间:2022-10-14
- 格式:DOCX
- 页数:48
- 大小:121.81KB
单片微型计算机原理与接口技术髙锋版课后答案全集Word格式.docx
《单片微型计算机原理与接口技术髙锋版课后答案全集Word格式.docx》由会员分享,可在线阅读,更多相关《单片微型计算机原理与接口技术髙锋版课后答案全集Word格式.docx(48页珍藏版)》请在冰豆网上搜索。
具有位操作类指令,有较强的布尔变量处理能力。
【3—3】简述80C51指令的分类和格式。
【答】80C51的指令系统共有111条指令,按其功能可分为5大类:
数据传送类指令(28条)、算术运算类指令(24条)、逻辑运算类指令(25条)、控制转移类指令(17条)和布尔操作(位)类指令(17条)。
指令的表示方法称之为“指令格式”,其内容包括指令的长度和指令内部信息的安排等。
在80C51系列的指令系统中,有单字节、双字节和三字节等不同长度的指令。
·
单字节指令:
指令只有一个字节,操作码和操作数同在一个字节中。
双字节指令:
包括两个字节。
其中一个字节为操作码,另一个字节是操作数。
三字节指令:
操作码占一个字节,操作数占两个字节。
其中操作数既可能是数据,也可能是地址。
【3—4】简述80C51的指令寻址方式,并举例说明。
【答】执行任何一条指令都需要使用操作数,寻址方式就是在指令中给出的寻找操作数或操作数所在地址的方法。
80C5l系列单片机的指令系统中共有以下7种寻址方式。
①立即寻址。
在指令中直接给出操作数。
出现在指令中的操作数称为“立即数”,为了与直接寻址指令中的直接地址相区别,在立即数前面必须加上前缀“#”。
例如:
MOVDPTR,#1234H;
1234H为立即数,直接送DPTR
②直接寻址。
在指令中直接给出操作数单元的地址。
MOVA,55H;
55H是操作数单元的地址,55H单元内的数据才是操作数,取出后送累加器A
③寄存器寻址。
在指令中将指定寄存器的内容作为操作数。
因此,指定了寄存器就能得
到操作数。
寄存器寻址方式中,用符号名称来表示寄存器。
INCR7;
R7的内容为操作数,加1后再送回R7
④寄存器间接寻址。
在指令中给出的寄存器内容是操作数的地址,从该地址中取出的才
是操作数。
可以看出,在寄存器寻址方式中,寄存器中存放的是操作数;
而在寄存器间接寻址
方式中,寄存器中存放的则是操作数的地址。
寄存器间接寻址须以寄存器符号名称的形式表示。
为了区别寄存器寻址和寄存器间接寻
址,在寄存器间接寻址中,应在寄存器的名称前面加前缀“@”。
ORLA.@Ro;
当R0寄存器的内容是60H时,该指令功能是以RO寄存器的内容60H为地址,将60H地址单元的内容与累加器A中的数相“或”,其结果仍存放在A中。
⑤相对寻址。
在指令中给出的操作数为程序转移的偏移量。
相对寻址方式是为实现程序的相对转移而设立的,为相对转移指令所采用。
在相对转移指令中,给出地址偏移量(在80C51系列单片机的指令系统中,以“rel”表示,为8位带符号数),把PC的当前值加上偏移量就构成了程序转移的目的地址。
而PC的当前值是指执行完转移指令后的PC值,即转移指令的PC值加上转移指令的字节数。
转移的目的地址可用如下公式表示:
目的地址=(转移指令所在地址+转移指令字节数)+rel
SJMP80H;
80H为程序转移的偏移量,即一128。
当前PC值减去128后即为转移地址
⑥变址寻址。
以DPTR或PC作基址寄存器,累加器A作变址寄存器,以两者内容相加形成的16位程序存储器地址作为操作数地址。
又称“基址寄存器+变址寄存器间接寻址”。
变址寻址方式只能对程序存储器进行寻址。
MOVCA,@A+DPTR;
功能是把DPTR和A的内容相加,所得到的程序存储器地址单元的内容送A
⑦位寻址。
80C51系列单片机有位处理功能,可以对数据位进行操作,因此,就有相应的位寻址方式。
位寻址的寻址范围:
●片内RAM中的位寻址区。
可位寻址的特殊功能寄存器位。
MOVc,80H;
功能是把位寻址区的80H位(即P0.0)状态送累加位C
【3—5】访问特殊功能寄存器SFR,可使用哪些寻址方式?
【答】访问特殊功能寄存器SFR的惟一寻址方式是直接寻址方式。
这时除了可以单元地址形式(如90H)给出外,还可以寄存器符号形式(如P1)给出。
虽然特殊功能寄存器可以使用寄存器符号标志,但在指令代码中还是按地址进行编码的。
【3—6】若访问外部RAM单元,可使用哪些寻址方式?
【答】访问外部RAM单元的惟一寻址方式是寄存器间接寻址方式。
片外RAM的64KB单元,使用DPTR作为间址寄存器,其形式为@DPTR,例如“MOVXA,@DPTR”的功能是把DPTR指定的片外RAM单元的内容送累加器A。
片外RAM低256个单元,除了可使用DPTR作为间址寄存器外,也可使用:
R0或R1作间址寄存器。
例如“MOVXA,@R0'
’即把R0指定的片外RAM单元的内容送累加器A。
【3—7】若访问内部RAM单元,可使用哪些寻址方式?
【答】片内RAM的低128单元可以使用寄存器间接寻址方式,但只能采用R0或R1为间址寄存器,其形式为@Ri(i=0,1)。
片内RAM的低128单元可以使用直接寻址方式,在指令中直接以单元地址形式给出。
片内RAM的低128单元中的20H~2FH有128个可寻址位,还可以使用位寻址方式,对这128个位的寻址使用直接位地址表示。
【3—8】若访问程序存储器,可使用哪些寻址方式?
【答】访问程序存储器可使用的寻址方式有立即寻址方式、变址寻址方式和相对寻址方式三种。
立即寻址是指在指令中直接给出操作数。
变址寻址方式只能对程序存储器进行寻址,或者说这是专门针对程序存储器的寻址方式。
相对寻址方式是为实现程序的相对转移而设立的。
这三种寻址方式所得到的操作数或操作数地址都在程序存储器中。
【3—9】MOV、MOVC、MOⅥ(指令有什么区别?
分别用于哪些场合?
为什么?
【答】MOV指令用于对内部RAM的访问。
MOVC指令用于对程序存储器的访问,从程序存储器中读取数据(如表格、常数等)。
MOVX指令采用间接寻址方式访问外部数据存储器.有Ri和DPTR两种间接寻址方式。
执行MOVX指令时,在P3.7引脚上输出RD有效信号.或在P3.6引脚上输出WR有效信号,可以用做外部数据存储器或I/O的读/写选通信号,与单片机扩展电路有关。
【3—10】说明“DAA”指令功能,并说明二一十进制调整的原理和方法。
【答】“DAA”指令的功能是对两个BCD码的加法结果进行调整。
两个压缩型BCD码按二进制数相加之后,必须经过该指令的调整才能得到压缩型BCD码的和数。
“DAA”指令对两个BCD码的减法结果不能进行调整。
BCD码采用4位二进制数编码,并且只采用了其中的10个编码,即0000~1001,分别代表BCD码0~9,而10lO~1111为无效码。
当两个BCD码相加结果大于9时,说明已进入无效编码区;
当两个BCD码相加结果有进位时,说明已跳过无效编码区。
若结果进入或跳过无效编码区,则结果是错误的,相加结果均比正确结果小6(差6个无效编码)。
十进制调整的修正方法为:
当累加器低4位大于9或半进位标志AC=1时,进行低4位加6修正;
当累加器高4位大于9或进位标志CY=l时,进行高4位加6修正。
【3一11】说明80C51单片机的布尔处理机的构造及功能。
【答】80C51单片机内部有一个布尔(位)处理机,具有较强的布尔变量处理能力。
布尔处理机实际上是一位微处理机,它包括硬件和软件。
布尔处理机以进位标志CY作为位累加器,以80C51单片机内部RAM的20H~2FH单元及部分特殊功能寄存器为位存储器,以80C51单片机的PO、P1、P2和P3为位I/O。
对位地址空间具有丰富的位操作指令,包括布尔传送指令、布尔状态控制指令、位逻辑操作指令及位条件转移指令,为单片机的控制带来很大方便。
【3—12】试分析以下程序段的执行结果。
【答】结果如下:
MOVSP,#60tt;
(SP)=60H
NOVA,#88tt;
(A)=88H
MOVB.#0FFH;
(B)=FFH
PUSHACC;
(SP)=61H,(61H)=88H
PUSHB;
(SP)=62H,(62H)=FFH
POPACC;
(A)=FFH,(SP)=61H
POPB;
(B)=88H,(SP)=60H
程序段的执行结果:
累加器A和寄存器B的内容通过堆栈进行了交换。
注意:
80C51单片机的堆栈是按照先进后出的原则进行管理的。
【3-1】已知(A)=7AH,(RO)=30H,(30H)=A5H,(PSW)=80H。
请填写各条指令单独执行后的结果。
(1)XCHA,R0;
(A)=30H,(R0):
7AH
(2)XCHA,30H;
(A)=A5H,(30H)=7AH,(PSW)=81H
(3)XCHA,@R0;
(A)=R5H,(30H)=7AH,(PSW)=81H
(4)XCHDA,@R0;
(A)=75H,(30H)=AAH,(PSW)=81H
(5)SWAPA;
(A)=A7H
(6)ADDA,R0;
(A)=AAH,(PSW)=04H
(7)ADDA,30H;
(A)=1FH,(PSW)=81H
(8)ADDA,#30H;
(9)ADDCA,30H;
(A)=20H,(PSW)=01H
(10)SUBBA,30H;
(A)=D4H,(PSW)=84H
(11)SUBBA,#30H;
(A)=49H,(PSW)=01H
【3—14】已知(30H)=40H,(40H)=10H,(10H)=00H,(P1)=CAH,请写出执行以下程序段后有关单元的内容。
【答】有关单元的内容如下:
MOVR0,#30H;
(RO)=30H
MOVA,@R0;
(A)=40H
MOVRl,A;
(R1)=40H
MOVB,@R1;
(B)=1OH
MOV@R1,P1;
(40H)=CAH
MOVA,@RO;
MOV10H,#20H;
(10H)=20H
MOV30H,10H;
(30H)=20H
执行以上程序段后,有关单元的内容分别为:
(30H)=20H,(40H)=CAH,(10H)=20H,(P1)=CAH。
【3-15】已知(R1)=20H,(20H)=AAH,请写出执行完下列程序段后A的内容。
【答】各指令的执行结果如下:
MOVA,#55H;
(A)=55H
ANLA,#0FFH;
ORL20H,A;
(20H)=FFH
XRLA,@R1;
(A)=AAH
CPLA;
执行完程序段后,A的内容为55H。
【3-16】阅读下列程序,说明
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片 微型计算机 原理 接口 技术 髙锋版 课后 答案 全集