单片机 第3章 习题解答
- 格式:ppt
- 大小:150.50 KB
- 文档页数:33
3.4 思考题与习题5.要访问特殊功能寄存器和片外数据存储器,应采用哪些寻址方式?答:访问特殊功能寄存器可采用寄存器寻址、直接寻址、寄存器间接寻址、部分的还可采用位寻址。
访问片外数据存储器只能采用寄存器间接寻址。
6.在89C51片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H, (48H)=90H。
请分析下面各是什么指令,说明源操作数的寻址方式以及按顺序执行每条指令后的结果。
MOV A,40H ;A=48H,直接寻址MOV R0,A ;R0=48H,寄存器寻址MOV P1,#0F0H ;P1=F0H,立即寻址MOV @R0,30H ;(48H)=38H,直接寻址MOV DPTR,#3848H ;DPTR=3848H,立即寻址MOV 40H,38H ;(40H)=40H,直接寻址MOV R0,30H ;R0=38H,直接寻址MOV P0,R0 ;P0=38H,寄存器寻址MOV 18H,#30H ;(18H)=30H,立即寻址MOV A,@R0 ;A=40H,寄存器间接寻址MOV P2,P1 ;P2=F0H,寄存器寻址9.设R0的内容为32H,A的内容为48H,片内RAM的32H单元内容为80H,40H单元内容为08H。
请指出在执行下列程序段后上述各单元内容的变化。
MOV A,@R0 ;A=80HMOV @R0,40H ;(32H)=08HMOV 40H,A ;(40H)=80HMOV R0,#35H ;R0=35H答:R0=35H,A=80H,(32H)=08H,(40H)=80H。
16.已知(A)=83H,,(R0)=17H,,(17H)=34H。
请写出执行完下列程序段后A的内容。
ANL A,#17H ;A=03HORL 17H,A ;(17H)=34H∨03H=37HXRL A,@R0 ;A=03H⊕37H=34HCPL A ;A=CBH答:A=CBH17.使用位操作指令实现下列逻辑操作。
习题三1.在MCS-51单片机中,寻址方式有几种?其中对片内RAM 可以用哪几种寻址方式?对片外RAM可以用哪几种寻址方式?答:寻址方式可分为数的寻址和指令寻址,数的寻址有:常数寻址(立即寻址)、寄存器数寻址(寄存器寻址)、存储器数寻址(直接寻址方式、寄存器间接寻址方式、变址寻址方式)和位寻址,指令的寻址有绝对寻址和相对寻址。
片内RAM寻址有:寄存器寻址、直接寻址方式和寄存器间接寻址方式。
片外RAM寻址有:寄存器间接寻址方式。
2.在对片外RAM单元寻址中,用Ri间接寻址与用DPTR 间接寻址有什么区别?答:片外数据存储器寻址中,用Ri间接寻址只能访问低端的256字节单元,而用DPTR作指针间接访问可访问整个64K字节。
3.在位处理中,位地址的表示方式有哪几种?答:1.直接位地址(00H~0FFH)。
例如:20H2.字节地址带位号。
例如:20H.3表示20H单元的3位。
3.特殊功能寄存器名带位号。
例如:P0.1表示P0口的1位。
4.位符号地址。
例如:TR0是定时/计数器T0的启动位。
4.写出完成下列操作的指令。
(1)R0的内容送到R1中。
MOV A,R0MOV R1,A(2)片内RAM的20H单元内容送到片内RAM的40H单元中。
MOV 40H,20H(3)片内RAM的30H单元内容送到片外RAM的50H单元中。
MOV A,30HMOV R0,#50HMOVX @R0,A(4)片内RAM的50H单元内容送到片外RAM的3000H 单元中。
MOV A,50HMOV DPTR,#3000HMOVX @DPTR,A(5)片外RAM的2000H单元内容送到片内RAM的20H 单元中。
MOV DPTR,#2000HMOVX A,@DPTRMOV 20H,A(6)片外RAM的1000H单元内容送到片外RAM的4000H 单元中。
MOV DPTR,#1000HMOVX A,@DPTRMOV DPTR,#4000HMOV @DPTR,A(7)ROM的1000H单元内容送到片内RAM的50H单元中。
第3章习题答案一、选择题1.在中断服务程序中,至少应该有一条( D )。
(A)传送指令(B)转移指令(C)加法指令(D)中断返回指令2.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是( C )。
(A)MOV (B)MOVC (C)MOVX (D)以上都行3.JNZ rel指令的寻址方式是( C )。
(A)立即寻址(B)寄存器寻址(C)相对寻址(D)位寻址4.执行LCALL 1020H指令时,MCS-51所完成的操作是( D )。
(A)保护PC (B)PC←1020H(C)保护现场(D)PC+3入栈,PC←1020H5.下面哪条指令产生WR信号( D )。
(A)MOVX A,@DPTR (B)MOVC A,@A+PC(C)MOVC A,@A+DPTR (D)MOVX @DPTR,A6.在执行PUSH ACC指令时,MCS-51完成的操作是( A )。
(A)(SP)←(SP)+1,((SP))←(ACC)(B)(SP)←(ACC),((SP))←(SP)-1(C)(SP)←(SP)-1,((SP))←(ACC)(D)((SP))←(ACC),(SP)←(SP)+17.MCS-51执行完MOV A,#08H后,PSW的哪一位被置位( D )。
(A)C (B)F0 (C)OV (D)P8.指令AJMP的跳转范围是( C )。
(A)256B (B)1KB (C)2KB (D)64KB9.在寄存器间接寻址方式中,指定寄存器中存放的是( B )。
(A)操作数(B)操作数地址(C)转移地址(D)地址偏移量10.执行返回指令时,返回的断点是( C )。
(A)调用指令的首地址(B)调用指令的末地址(C)调用指令下一条指令的首地址(D)返回指令的末地址二、填空题:1.8051指令基本格式由标号、操作码助记符、操作数和注释组成。
2.MOV A,20H源寻址方式为直接寻址。
3.执行ANL A,#0FH指令后,累加器A的高4位=0000B 。
第3章思考题及习题31.C51在标准C的基础上,扩展了哪几种数据类型?答:扩展了4种数据类型(见教材表3-1中最后4行)。
它们分别是:bit、sfr、sfr16和sbit。
2.C51有哪几种数据存储类型?其中数据类型“idata,code,xdata,pdata”各对应AT89S8051单片机的哪些存储空间答:C51有6种数据存储类型data、bdata、idata、xdata、pdata和code。
数据存储类型idata对应片内RAM的256字节。
数据存储类型code对应程序存储区。
数据存储类型xdata对应片外64KB的RAM空间。
数据存储类型pdata对应片外RAM的256字节。
3.bit与 sbit定义的位变量有什么区别?答:bit是用来定义普通的位变量,它的值只能是二进制的0或1。
而sbit定义的是特殊功能寄存器的可寻址位,它的值是可以进行位寻址的特殊功能寄存器的某位的绝对地址,例如PSW寄存器OV位的绝对地址0xd2。
4.说明3种数据存储模式(1)SMALL模式(2)COMPACT模式(3)LARGE模式之间的差别。
答:3种数据存储模式之间的差别如下:(1)SMALL模式。
在该模式下,所有变量都默认位于8051单片机内部的数据存储器,这与使用data指定存储器类型的方式一样。
在此模式下,变量访问的效率高,但是所有数据对象和堆栈必须使用内部RAM。
(2)COMPACT模式。
本模式下的所有变量都默认在外部数据存储器的1页(256字节)内,这与使用pdata指定存储器类型是一样的。
该存储器类型适用于变量不超过256字节的情况,此限制是由寻址方式决定的,相当于使用数据指针@Ri进行寻址。
与SMALL模式相比,该存储模式的效率比较低,对变量访问的速度也慢一些,但比LARGE模式快。
(3)LARGE模式。
在LARGE模式下,所有变量都默认位于外部数据存储器,相当于使用数据指针@DPTR进行寻址。
单片机微型计算机原理及接口技术课后习题答案3章3-1简述模型机的工作过程(就以书上举例,叙述过程,本题内容较多,明白道理即可,不需详细记住)计算机的指令执行过程分为读取指令→分析指令→执行指令→保存结果在进行计算前,应做如下工作:①用助记符号指令(汇编语言)编写程序(源程序)②用汇编软件(汇编程序)将源程序汇编成计算机能识别的机器语言程序③将数据和程序通过输入设备送入存储器中存放读取指令阶段(就以书上举例,理解过程即可):①CPU将程序计数器PC中的内容XXH送地址寄存器AR②程序计数器PC的内容自动加1,为取下一条指令做好准备③地址寄存器AR将XXH通过地址总线AB送至存储器地址译码器译码,选中XXH 单元。
④CPU发出“读”指令⑤所选中的XXH单元中的内容由存储器送至数据总线DB上⑥经数据总线DB,CPU将读出的XXH单元中的内容送至数据寄存器DR⑦数据寄存器DR将其送至指令寄存器IR,经过译码,CPU通过控制器发出执行该条指令的控制命令。
执行指令阶段(就以书上举例,理解过程即可)与读取类似(这里从略)3-2 STC15F2K60S2单片机的存储器分为哪几个空间?中断服务程序的入口地址分别是什么?32个通用寄存器各对应哪些RAM单元?STC15F2K60S2单片机的存储器分为四个空间,分别为程序Flash存储器,数据Flash 存储器,内部数据存储器和扩展数据存储器。
中断服务程序的入口地址分别为:0003H 外部中断0中断服务程序的入口地址000BH 定时/计数器0中断服务程序的入口地址0013H 外部中断1中断服务程序的入口地址001BH 定时/计数器1中断服务程序的入口地址0023H 串行通信口1中断服务程序的入口地址002BH ADC中断服务程序的入口地址0033H 低电压检测中断服务程序的入口地址003BH PCA中断服务程序的入口地址0043H 串行通信口2中断服务程序的入口地址004BH SPI中断服务程序的入口地址0053H 外部中断2中断服务程序的入口地址005BH 外部中断3中断服务程序的入口地址0063H 定时/计数器2中断服务程序的入口地址0083H 外部中断4中断服务程序的入口地址32个通用寄存器分为寄存器组0,1,2,3,每个组8个8位的工作寄存器(R0~R7),均存在于内部数据存储器的低128字节内,范围为00H-1FH寄存器组0 R0~R7对应00H-07H寄存器组1 R0~R7对应08H-0FH寄存器组2 R0~R7对应10H-17H寄存器组3 R0~R7对应18H-1FH3-3 位地址29H,61H,7FH,E0H,F1H,各对应哪些单元的哪些位?29H——RAM位寻址区字节地址25H,对应D1位61H——RAM位寻址区字节地址2CH,对应D1位7FH——RAM位寻址区字节地址2FH,对应D7位E0H——高128字节/特殊功能寄存器SFR区,寄存器ACC(字节地址E0H)的D0位;F1H——高128字节/SFR,寄存器B(字节地址F0H)的D1位。
单片机原理及应用第三章习题答案第一题:题目:什么是中断?中断是指在程序执行过程中,由于发生了某个特定事件,导致当前的程序需要暂时中断执行,转而去处理其他紧急或优先级更高的事件。
中断可以提高系统的实时性和响应速度。
第二题:题目:请简述中断的分类及其优缺点。
中断可以分为外部中断和内部中断。
外部中断:外部中断是通过外部设备触发的中断,例如按键输入、定时器溢出等。
外部中断的优点是能够及时响应外部事件,缺点是响应时间有一定延迟,并且可能会引起系统的不稳定性。
内部中断:内部中断是通过程序内部指令触发的中断,例如软件中断、硬件错误等。
内部中断的优点是响应时间几乎可以忽略,缺点是需要消耗较多的系统资源。
第三题:题目:简述中断的处理过程。
中断的处理过程一般包括以下几个步骤:1. 中断请求发生:外部设备或程序内部触发中断请求。
2. 中断响应:CPU接收到中断请求后,保存当前程序的执行状态,暂停当前程序的执行,并跳转到中断服务程序。
3. 中断服务程序执行:中断服务程序是为了处理中断事件而编写的程序,它会根据中断类型执行相应的操作,例如处理外部设备的输入、更新系统状态等。
4. 中断处理完成:中断服务程序执行完后,将恢复之前保存的执行状态,继续执行被中断的程序。
第四题:题目:请简述常见的中断优先级判断方式。
常见的中断优先级判断方式有两种:硬件优先级判断和软件优先级判断。
硬件优先级判断:硬件优先级判断是通过硬件电路来实现的,每个中断信号都有一个对应的硬件中断优先级,优先级高的中断信号将打断当前正在执行的中断信号。
软件优先级判断:软件优先级判断是通过编程的方式来实现的,每个中断信号都有一个对应的中断优先级,在中断服务程序中通过程序代码来判断当前是否有更高优先级的中断请求。
第五题:题目:请说明中断向量表的作用。
中断向量表是一个存储中断处理程序入口地址的数据结构,它将每个中断编号与对应的中断服务程序的入口地址进行映射。
当一个中断请求发生时,中断向量表将根据中断编号找到对应的中断服务程序的入口地址,从而实现中断的处理。
1.设变量x以补码形式存放在片内RAM 30H单元中,变量y与x的关系是:X, X>0Y= 20H, X=0X+5, X<0编程根据x的值求y值并放回原单元。
答:START:MOV A,30HJZ NEXTANL A,#80HJZ EDMOV A,#05HADD A,30HMOV 30H,ASJMP EDNEXT:MOV 30H,#20HED:SJMP $2.MCS-51单片机有哪几种寻址方式?各寻址方式所对应的寄存器或存储器空间如何?答:立即寻址对应程序存储器直接寻址对应内部数据存储器和SFR寄存器寻址对应工作寄存器R0~R7,A,B,DPTR寄存器间接寻址对应片内RAM:@R0,@R1,SP,片外RAM:@R0,@R1,@DPTR变址寻址对应程序存储器:@A+PC,@A+DPTR相对寻址对应程序存储器256字节范围内:PC+偏移量位寻址对应片内RAM的位寻址区(20H~2FH字节地址),某些可位寻址的SFR 3.访问特殊功能寄存器SFR可以采用哪些寻址方式?答:直接寻址方式和位寻址方式4.访问片内RAM单元可以采用哪些寻址方式?答:直接和间接寻址方式5.访问外部RAM单元可以采用哪些寻址方式?答:间接寻址方式6.访问外部ROM可以采用哪些寻址方式?答:立即、变址和相对寻址方式7.为什么说布尔处理功能是8051单片机的重要特点?答:因为8051具有位寻址功能8.对于AT89S52单片机内部RAM还存在高128字节,应采用何种方式访问?答:采用间接寻址方式9.完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下每种操作的指令。
(1)将R0的内容传送到R1;(2)内部RAM单元50H的内容传送到寄存器R4;(3)外部RAM单元2000H的内容传送到内部RAM单元70H;(4)外部RAM单元0800H的内容传送到寄存器R5;(5)外部RAM单元2000H的内容传送到外部RAM单元2100H。
单片机课后第三章习题答案单片机课后第三章习题答案第一题:题目:请简述单片机中断的概念及其作用。
答案:单片机中断是指在程序执行过程中,当某个特定的事件发生时,会暂时中断当前正在执行的程序,转而去执行与该事件相关的处理程序。
中断的作用主要有两个方面:一是提高系统的响应速度,当有紧急事件发生时,可以立即中断当前任务去处理该事件,避免了因等待而造成的时间浪费;二是提高系统的可靠性,中断机制可以保证在紧急事件发生时,能够及时进行处理,避免了数据的丢失或系统的崩溃。
第二题:题目:请简述单片机中断的分类及其优先级。
答案:单片机中断可以分为外部中断和内部中断。
外部中断是指通过外部引脚接收到的中断信号,如按键、传感器等;内部中断是指通过内部定时器或其他模块产生的中断信号,如定时器溢出中断、串口接收中断等。
优先级方面,不同的中断源可以设置不同的优先级,一般来说,优先级越高的中断会先被响应和执行,优先级越低的中断会被延迟执行。
但是需要注意的是,在处理中断时,要尽量保证高优先级中断的处理时间短,以免影响低优先级中断的及时响应。
第三题:题目:请简述中断服务程序的编写流程。
答案:中断服务程序的编写流程如下:1. 定义中断向量表:将每个中断源对应的中断服务程序的入口地址存储在中断向量表中,以便单片机在中断发生时能够正确地找到对应的中断服务程序。
2. 初始化中断控制寄存器:根据需要,设置中断源的触发条件和优先级。
3. 编写中断服务程序:根据中断源的不同,编写相应的中断服务程序。
中断服务程序一般包括中断处理前的准备工作、中断处理代码和中断处理后的清理工作。
4. 注册中断服务程序:将编写好的中断服务程序的入口地址注册到中断向量表中,以便单片机在中断发生时能够正确地跳转到对应的中断服务程序。
5. 启用中断:根据需要,使能相应的中断源,使其能够触发中断。
第四题:题目:请简述单片机中断的优缺点。
答案:单片机中断的优点主要体现在两个方面:一是提高了系统的响应速度,当有紧急事件发生时,可以立即中断当前任务去处理该事件,避免了因等待而造成的时间浪费;二是提高了系统的可靠性,中断机制可以保证在紧急事件发生时,能够及时进行处理,避免了数据的丢失或系统的崩溃。
第三章练习题(1)2.1MCS-51单片机的指令有哪些寻址方式?它们的具体含义是什么?指令中如何表示它们?2.2访问内部RAM外部RAM和ROM各有哪几种寻址方式?2.3 程序74 08 MOV A, #08H74 F0 76 MOV B,#76H25 E0 ADD A,A25F0 ADD A,B02 20 00 LJMP 2000H存放在程序存储器中,试分析该程序,并回答以下问题.(1)如该程序段自000FH单元开始存放,请在程序段中写明每条指令的地址.(2)该程序段共占用内存多少单元?(3)在执行指令ADD A,A时,程序计数器PC的内容是什么?(4)执行完指令预ADD A,B后,累加器A 寄存器B及程序计数器PC的内容是什么?(5)在CPU取回指令LJMP 2000H并执行该指令时PC的内容是什么?该指令执行后PC的内容是什么?2.4要将内部RAM 0FH单元的内容传送给寄存器B,对0FH单元的寻址可有下面三种方式:(1)Rn寻址,(2)Ri间址,(3)直接寻址.请分别编写相应程序段..2.6请用直接寻址法间接寻址法字节交换法和堆栈传递法4种方法编写将内部RAM40H和41H两单元内容交换的程序段.2.7设R0=7EH,DPTR=10FEH,内部RAM 7EH和7FH 2单元的内容分别是FFH和38H,请写出下列程序段的每条指令的执行结果.INC @R0INC R0INC @R0INC DPTRINC DPTRINC DPTR2.8写出达到下列要求的指令(不能改变各未涉及位的内容).(1) 使A的最低位置1.(2) 清除A的高4位.(3) 使ACC.2和ACC.3置1.(4) 清除A的中间4位.2.9已知A=7AH,R0=30H,内部RAM 30H 单元的内容为A5H,请写出下列程序段执行后累加器A的内容.ANL A,#17HORL A,@R0XRL A,@R0CPL A2.10分别写出实现如下功能的程序段.(1)将内部RAM 30H的中间4位,31H的低2位,32H的高2位按序拼成一个新字节,存入33H单元.(2)将DPTR中间8位取反,其余位不变.第三章练习(1)答案2.1 解有6种寻址方式,分别是寄存器寻址、立即寻址、直接寻址、间接寻址、变址寻址和位寻址,机器指令还有一种相对寻址方式。
习题与思考题3-8 按要求写出相应的指令。
(1)把寄存器R6的内容送到累加器A中。
(2)把外部RAM 1000H单元的内容传送到内部RAM 30H单元中。
(3)清除内部RAM 3FH 单元的高4位。
(4)使累加器A的最低位置1。
(5)清除进位位。
(6)使ACC.4和ACC.5置1。
(7)把外部ROM 2000H单元中的内容送到内部RAM的20H单元中。
(8)把外部ROM 2000H单元中的内容送到外部RAM的3000H单元中。
答案:(1)MOV A,R6(2)MOV DPTR,#1000HMOVX A,@DPTRMOV R0,#30HMOV @R0,A(3)ANL 3FH,#0FH(4)ORL A,#01H(5)CLR C(6)ORL A,#30H(7)CLR AMOV DPTR,#2000HMOVC A,@A+DPTRMOV 20H,A(8)CLR AMOV DPTR,#2000HMOVC A,@A+DPTRMOV DPTR,#3000HMOVX @DPTR,A3-10 编写程序段完成如下要求。
(1)将寄存器R0中的内容乘以10(积小于256)。
(2)将片内RAM 30H单元开始的15个字节的数据传送到片外RAM 3000H开始的单元中。
(3)将片外RAM 2000H开始的5个字节的数据传送到片内RAM 20H开始的单元中。
(4)有10个字节的二进制数存放在片内RAM以40H开始的单元内,编程找出其中的最大值并存于内部50H单元中。
(5)将片外RAM空间2000H~200AH中的数据的高4位变零,低4位不变,原址存放。
(6)将外部RAM 2040H单元的内容与3040H单元的内容互换。
答案:(1) MOV B,#0AHMOV A,R0MUL ABMOV R0,A(2) ORG 0000HMOV R0,#30HMOV DPTR,#3000HMOV R7,#0FHLOOP: MOV A,@R0MOVX @DPRT,AINC R0INC DPTRDJNZ R7,LOOPSJMP $END(3) MOV DPTR,#2000HMOV R0,#20HMOV R7,#05HLOOP: MOVX A,@DPTRMOV @R0,AINC R0INC DPTRDJNZ R7,LOOPEND(4) ORG 0000HMOV A,40H;A寄存器放最大值,且初始化最大值(默认第一个数)MOV R3,#09H;比较次数MOV R0,#41HSTART: CJNE A,@R0,LOOPLOOP: JNC LOOP1;如果比A小,则跳转到LOOP1MOV A,@R0;如果比A大,则更新A的值LOOP1: INC R0DJNZ R3 STARTMOV 50H,ASJMP $END(5) MOV DPTR,#20000HMOV R1,#0BHLOOP: MOVX A,@DPTRANL A,#0FHMOVX @DPTR,AINC DPTRDJNZ R1,LOOPSJMP $(6) MOV DPTR,#2040HMOVX A,@DPTRMOV R0,#20HMOV @R0,AMOV DPTR,#3040HMOVX A,@DPTRXCH @R0,AMOVX @DPTR AMOV A,@R0MOV DPTR,#2040HMOVX @DPTR,A3-15 设有一带符号的十六位数以补码形式存放在R2、R3寄存器中,试编制求其原码的程序。
一.指出指令中哪些是非法指令?(正确的打√,错的打×)MOV A,R7 (√)ADDC B,R6(×)SETB 30H.0(×)MOV R5,R2 (×)SUBB A,@R1(√)CJNE @R0,#64H,LABEL(√)MOV A,@R0 (√)PUSH R6(×)DJNZ @R0,LABEL(×)MOV SBUF,@R1(√)PUSH B (√)RR B(×)MOV R7,@R1(×)POP @R1 (×)RLC A(√)MOV @R2,#64H (×)ANL R7,A (×)CLR A(√)DEC DPTR (×)ORL A,R7(√)CLR B(×)INC DPTR (√)XRL C,ACC.5(×)MOVX @R0,PSW(×)二.判断正误题(正确的打√,错的打×)(×)1.程序计数器PC和数据指针DPTR均是可寻址的16位专用寄存器。
(√)2.PSW.4=1,PSW.3=0选中2区工作寄存器。
(×)3.指令MOV @R0, A 的源操作数属于寄存器寻址。
(×)4.假设晶振频率fosc=6MHz,则执行指令MOV A,R0 需4us。
(√)5.查表指令MOVC A,@A+PC的查表地址范围是当前指令以下的256字节。
(√)6.单片机是一种微型计算机。
(×)7.MCS-51单片机的I/O口编址和存储器编址是独立的。
(√) 8.MCS-51单片机共有111条指令,7种寻址方式。
(×)9.Intel 8031 单片机内部有4kBROM。
三.阅读程序1.执行MOV A,#12HCLR CSUBB A,#15H后(A)=_FDH______(Cy)= 1 (OV)= 0 (P)= 1 (AC)=__1______2.执行MOV A,#34HADD A,#39H后(A)=_6DH______继续执行DA A后(A)=73H______3.若(30H)=56H ,(40H)=60H ,(50H)=78H ,执行下列指令后PUSH 30HPUSH 40HPUSH 50HPOP 30H (30H)=78H_________POP 40H (40H)=_60H________POP 50H (50H)=_56H________4.MOV A,#10HMOV DPTR,#3100HMOV R0,#30HMOV 31H,#89HMOV @R0,#1FH 整个程序执行后XCHD A,@R0 (A)= 98H_______MOV R0,31H (R0)=_89H________XCH A,31H (30H)=_10H________MOVX @DPTR,A (31H)=__1FH_______SWAP A (3100H)=89H_________END5.3000H SJMP LOOP300AH LOOP: MOV A,#30H已知SJMP LOOP 指令(PC)源=3000H, (PC)目=300AH,求该指令第二个字节rel为__08H_______。
单片机微型计算机原理及接口技术课后习题答案3章3-1简述模型机的工作过程(就以书上举例,叙述过程,本题内容较多,明白道理即可,不需详细记住)计算机的指令执行过程分为读取指令→分析指令→执行指令→保存结果在进行计算前,应做如下工作:①用助记符号指令(汇编语言)编写程序(源程序)②用汇编软件(汇编程序)将源程序汇编成计算机能识别的机器语言程序③将数据和程序通过输入设备送入存储器中存放读取指令阶段(就以书上举例,理解过程即可):①CPU将程序计数器PC中的内容XXH送地址寄存器AR②程序计数器PC的内容自动加1,为取下一条指令做好准备③地址寄存器AR将XXH通过地址总线AB送至存储器地址译码器译码,选中XXH 单元。
④CPU发出“读”指令⑤所选中的XXH单元中的内容由存储器送至数据总线DB上⑥经数据总线DB,CPU将读出的XXH单元中的内容送至数据寄存器DR⑦数据寄存器DR将其送至指令寄存器IR,经过译码,CPU通过控制器发出执行该条指令的控制命令。
执行指令阶段(就以书上举例,理解过程即可)与读取类似(这里从略)3-2 STC15F2K60S2单片机的存储器分为哪几个空间?中断服务程序的入口地址分别是什么?32个通用寄存器各对应哪些RAM单元?STC15F2K60S2单片机的存储器分为四个空间,分别为程序Flash存储器,数据Flash 存储器,内部数据存储器和扩展数据存储器。
中断服务程序的入口地址分别为:0003H 外部中断0中断服务程序的入口地址000BH 定时/计数器0中断服务程序的入口地址0013H 外部中断1中断服务程序的入口地址001BH 定时/计数器1中断服务程序的入口地址0023H 串行通信口1中断服务程序的入口地址002BH ADC中断服务程序的入口地址0033H 低电压检测中断服务程序的入口地址003BH PCA中断服务程序的入口地址0043H 串行通信口2中断服务程序的入口地址004BH SPI中断服务程序的入口地址0053H 外部中断2中断服务程序的入口地址005BH 外部中断3中断服务程序的入口地址0063H 定时/计数器2中断服务程序的入口地址0083H 外部中断4中断服务程序的入口地址32个通用寄存器分为寄存器组0,1,2,3,每个组8个8位的工作寄存器(R0~R7),均存在于内部数据存储器的低128字节内,范围为00H-1FH寄存器组0 R0~R7对应00H-07H寄存器组1 R0~R7对应08H-0FH寄存器组2 R0~R7对应10H-17H寄存器组3 R0~R7对应18H-1FH3-3 位地址29H,61H,7FH,E0H,F1H,各对应哪些单元的哪些位?29H——RAM位寻址区字节地址25H,对应D1位61H——RAM位寻址区字节地址2CH,对应D1位7FH——RAM位寻址区字节地址2FH,对应D7位E0H——高128字节/特殊功能寄存器SFR区,寄存器ACC(字节地址E0H)的D0位;F1H——高128字节/SFR,寄存器B(字节地址F0H)的D1位。
第3章思考题及习题3参考答案一、填空1.访问SFR,只能使用寻址方式。
答:直接.2.指令格式是由和组成,也可仅由组成。
答:操作码,操作数,操作码。
3.在基址加变址寻址方式中,以作为变址寄存器,以或作为基址寄存器。
答:A,PC,DPTR4.假定累加器A中的内容为30H,执行指令1000H:MOVC A,@A+PC后,把程序存储器单元的内容送入累加器A中。
答:1031H5.在AT89S52中,PC和DPTR都用于提供地址,但PC是为访问存储器提供地址,而DPTR是为访问存储器提供地址。
答:程序,数据6.在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的 .答:地址7.下列程序段的功能是。
答:A的内容与B的内容互换。
PUSH AccPUSH BPOP AccPOP B8.已知程序执行前有(A)=02H,(SP)=52H,(51H)=FFH,(52H)=FFH.下述程序执行后, (A)= ,(SP)= ,(51H)= ,(52H)= ,(PC)=。
POP DPHPOP DPLMOV DPTR,#4000HRL AMOV B,AMOVC A,@A+DPTRPUSH AccMOV A,BINC AMOVC A,@A+DPTRPUSH AccRETORG 4000HDB 10H,80H,30H,50H,30H,50H答:(A)=50H,(SP)=50H,(51H)=30H,(52H)=50H,(PC)=5030H9.假定(A)=83H,(R0)=17H,(17H)=34H,执行以下指令后,(A)= .ANL A,#17HORL 17H,AXRL A,@R0CPL A答:(A)=0CBH。
10.假设(A)=55H,(R3)=0AAH,在执行指令“ANL A,R3”后,(A)= ,(R3)= .答:(A)=00H,(R3)=0AAH。
11.如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后,(DPH)= ,(DPL)= ,(SP)= 。
单片机原理与应用第二版王迎旭第三章有关习题答案第三章(一)1、写出能完成下列数据传送的指令1)R1中的内容传送到R02)内部RAM 20H单元的内容传送到内部RAM 30H单元中3)外部RAM 30H单元中的内容传送到内部RAM 30H单元中4)外部RAM 2000H单元的内容传送到外部RAM 20H单元中5)ROM 2000H单元中的内容传送到内部RAM 20H单元中6)ROM 2000H单元中的内容传送到外部RAM 3000H单元中2、试编出把外部RAM的2050H单元中的内容与2060H单元中的内容相互交换的程序。
3、已知A=7AH,Cy=1,试指出8031执行下列程序的最终结果。
1)MOV A, #0FHCPL AMOV 30H, #00HORL 30H, #0ABHRL A2)MOV A, #0BBHCPL ARR AMOV 40H, #0AAHORL A, 40H3)ANL A, #00HMOV 30H, AXRL A, 30HRLC ASWAP A4)ORL A, #0FHSWAP ARRC AXRL A, #0FHANL A, #0F0H11)MOV A,R1MOV R0, A2)MOV 30H, 20H3)MOV R0,#30HMOVX A, @R0MOV @R0, A (或MOV 30H, A)4)MOV DPTR,# 2000HMOVX A, @DPTRMOV R0, #20HMOVX @R0, A5)MOV A, #00HMOV DPTR, #2000HMOVC A, @A+DPTRMOV 20H,A6)MOV A, #00HMOV DPTR, #2000HMOVC A, @A+DPTRMOV DPTR, #3000HMOVX @DPTR, A2、MOV DPTR, #2050HMOVX A, @DPTRMOV R1, AMOV DPTR, #2060HMOVX A, @DPTRMOV DPTR, #2050HMOVX @DPTR, AMOV A, R1MOV DPTR, #2060HMOVX @DPTR, A3、1)A=0FHA=0F0H(30H)=00H(30H)=0ABHA=0E1H2)A=0BBH=10111011BA=01000100B=44HA=00100010B=22H(40H)=0AAHA=0AAH3)A=00H(30H)=00HA=00HA=01HA=0FEH4)A= 7FHA=0F7HA=0FBHA=0F4HA=0F0H第三章作业(二)1、试编写能完成如下操作的程序:1)使20H单元中的数高两位变“0”,其余位不变2)使20H单元中的数高两位变“1”,其余位不变3)使20H单元中的数高两位变反,其余位不变4)使20H单元中的数所有位变反,其余位不变2、已知SP=70H,PC=2345H。
单片机第三章习题2您的姓名: [填空题] *_________________________________8.在MCS-51系列单片机中,减1指令的操作码助记符是()。
[单选题] *A、DEC(正确答案)B、DAC、DIVD、MUL1.片内数据存储器的数据传送指令中,以direct为目的操作数的指令有()。
[单选题] *A、5条(正确答案)B、3条C、6条D、4条2在MCS-51系列单片机中,累加器A清零指令的操作码助记符是( A )。
[单选题] *CLR(正确答案)RLRLCD、RRC3.()用于保存片内RAM单元(低128字节)或特殊功能寄存器的内容。
[单选题] *A、数据传送指令B、数据交换指令C、出栈指令D、进栈指令(正确答案)4.指令ADDC A , @Ri的寻址方式是()。
[单选题] *A、立即寻址B、寄存器寻址C、直接寻址(正确答案)D、寄存器间接寻址5.指令MOVC A ,@A+DPTR的寻址方式是()。
[单选题] *A、直接寻址B、寄存器寻址C、寄存器间接寻址D、变址寻址(正确答案)6.已知(P1)=05H ,()=33H ,执行指令ORL P1 , A后,( P1)等于( C )。
[单选题] *A、05H(正确答案)B、47HC、37HD、27H7.在MCS-51系列单片机中,逻辑与指令的操作码助记符是()。
[单选题] *A、ANL(正确答案)B、ORLC、XRLD、CPL9.MCS-51系列单片机给用户提供了()寄存器间接寻址、变址寻址、相对寻址和位寻址。
[单选题] *A、立即寻址B、直接寻址C、寄存器寻址D、以上都是(正确答案)11.查表指令的操作码助记符是()。
[单选题] *A、MOVXB、MOVC(正确答案)C、PUSHD、MOV12.在MCS-51系列单片机中,空操作指令是()。
[单选题] *A、JZB、NOP(正确答案)C、RETID、RET13.()用于恢复片内RAM单元(低128字节)或特殊功能寄存器的内容。
单片机原理及应用第三章习题答案习题三1.在mcs-51单片机中,寻址方式有几种?其中对片内ram可以用哪几种寻址方式?对片外ram可以用哪几种寻址方式?请问:串行方式可以分成数的串行和指令串行,数的串行存有:常数串行(立即串行)、寄存器数串行(寄存器串行)、存储器数串行(轻易串行方式、寄存器间接串行方式、变址串行方式)和十一位串行,指令的串行存有绝对串行和相对串行。
片内ram串行存有:寄存器串行、轻易串行方式和寄存器间接串行方式。
片外ram串行存有:寄存器间接串行方式。
2.在对片外ram单元寻址中,用ri间接寻址与用dptr间接寻址有什么区别?请问:片外数据存储器串行中,用ri间接串行就可以出访低端的256字节单元,而用dptr作指针间接出访可以出访整个64k字节。
3.在位处理中,位地址的表示方式有哪几种?请问:1.轻易位地址(00h~0ffh)。
比如:20h2.字节地址带位号。
例如:20h.3表示20h单元的3位。
3.特殊功能寄存器名带位号。
例如:p0.1表示p0口的1位。
4.位符号地址。
例如:tr0是定时/计数器t0的启动位。
4.写出完成下列操作的指令。
(1)r0的内容送到r1中。
mova,r0movr1,a(2)片内ram的20h单元内容送至片内ram的40h单元中。
mov40h,20h(3)片内ram的30h单元内容送到片外ram的50h单元中。
mova,30hmovr0,#50hmovx@r0,a(4)片内ram的50h单元内容送至片外ram的3000h单元中。
mova,50hmovdptr,#3000hmovx@dptr,a(5)片外ram的2000h单元内容送到片内ram的20h单元中。
movdptr,#2000hmovxa,@dptrmov20h,a(6)片外ram的1000h单元内容送至片外ram的4000h单元中。
movdptr,#1000hmovxa,@dptrmovdptr,#4000hmov@dptr,a(7)rom的1000h单元内容送至片内ram的50h单元中。
第三章单片机的汇编语言与程序设计习题1.设内部RAM中59H单元的内容为50H,写出当执行以下程序段后寄存器A,R0和内部RAM中50H,51H单元的内容为何值?MOV A,59HMOV R0,AMOV A,#00HMOV @R0,AMOV A,#25HMOV 51H,AMOV 52H,#70H解:MOV A,59H ;A=50HMOV R0,A ;RO=50HMOV A,#00H ;A=00HMOV @R0,A ;50H=00HMOV A,#25H ;A=25HMOV 51H,A ;51H=25HMOV 52H,#70H ;52H=70H所以:A=25H R0=50H ;50H=00H 51H=25H2.请选用合适的指令对P0口内容做修改〔〕。
解:MOV A,P0ANL A,0fhMov P0,A3.试问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。
解:访问外部数据存储器指令有:MOVX @DPTR,A MOVX DPTR,#0100H MOV @DPTR,AMOVX A,@DPTR MOVX DPTR,#0200H MOV A,@DPTRMOVX A,@Ri MOVX A,@R0MOVX @Ri,A MOVX @RI,A访问程序存储器指令有:MOVX A,@A+PCMOVX A,@A+DPTR4.设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行以下程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化?PUSH 30HPUSH 31HPOP DPLPOP DPHMOV 30H,#00HMOV 31H,#0FFH解:PUSH 30H ;61H=24HPUSH 31H ;62=10H SP=62HPOP DPL ;DPL=10HPOP DPH ;DPH=24H SP=60HMOV 30H,#00H ;30H=00HMOV 31H,#0FFH ;31H=0FFH5.设(A)=40H,(R1)=23H,(40H)=05H。