计算机硬件习题答案Word文档格式.docx
《计算机硬件习题答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《计算机硬件习题答案Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
3.中断优先级编码电路。
7-4简述微机处理中断的过程中断请求、中断响应、中断处理、中断返回7-5简要说明8086/8088中断的特点。
中断请求:
)外部中断源的中断请求8086CPU有两根外部中断请求引脚INTR和NMI供外设向其发送中断请求信号用。
根据优先级,CPU先检查NMI引脚再检查INTR引脚。
INTR引脚上的中断请求称为可屏蔽中断请求,CPU是否响应这种请求取决于标志寄存器的IF标志位的值。
)内部中断源的中断请求CPU的中断源除了外部硬件中断源外,还有内部中断源。
内部中断请求不需要使用CPU的引脚,它由CPU在下列两种情况下自动触发:
其一是在系统运行程序时,内部某些特殊事件发生(如除数为0,运算溢出或单步跟踪及断点设置等);
其二是CPU执行了软件中断指令INTn。
所有的内部中断都是不可屏蔽的,即CPU总是响应(不受IF限制)。
7-6简述8086/8088可屏蔽中断的响应过程。
1)可屏蔽外部中断请求的中断响应连续发出两个中断响应信号,完成一个中断响应周期。
关中断,即将IF标志位置0,以避免在中断过程中或进入中断服务程序后,再次被其他可屏蔽中断源中断。
保护处理机的现行状态,即保护现场。
包括将断点地址(即下条要取出指令的段基址和偏移量,在CS和IP内)及标志寄存器FLAGS内容压入堆栈。
在中断响应周期的第二个总线周期中,中断控制器已将发出中断请求外设的中断类型号送到了系统数据总线上,CPU读取此中断类型号,并根据此中断类型号查找中断矢量表,找到中断服务程序的入口地址,将入口地址中的段基址及偏移量分别装入CS及IP,一旦装入完毕,中断服务程序就开始执行。
2)不可屏蔽外部中断请求的中断响应NMI上中断请求的响应过程要简单一些。
只要NMI上有中断请求信号(由低向高的正跳变,两个以上时钟周期),CPU就会自动产生类型号为2的中断,并准备转入相应的中断服务程序。
3)内部中断的中断响应除不用检测NMI引脚外,其余与不可屏蔽外部中断请求的中断响应相同。
7-7何为中断矢量表?
它有何作用?
位于内存的什么位置?
中断服务程序的地址叫做中断矢量,将全部中断矢量集中在一张表中,即中断矢量表。
中断矢量表的位置固定在内存的最低1K字节中,即00000H003FFH处。
7-830H号中断的中断服务程序地址存放在中断矢量表的什么位置处?
30H*4=1927-98259A对中断优先管理权和中断结束有哪几种方式,各自应用在什么场合?
全嵌套方式全嵌套方式是最常用的和最基本的一种工作方式。
8259A是初始化后默认的工作方式。
特殊全嵌套方式在这种方式下,当一个中断被响应后,只屏蔽掉低级的中断请求,而允许同级及高级的中断请求。
该方式一般用于多片8259A级联的系统中,主片采用此方式,而从片采用一般全嵌套方式。
优先级自动循环方式在这种方式下,某个中断源被服务后,其优先级自动降为最低,它后面的中断源按顺序递升一级。
如IR3刚被服务完,则各中断源的优先级次序为:
IR4、IR5、IR6、IR7、IR0、IR1、IR2、IR3。
这种方式中,刚开始时优先级仍是固定的,即IR0最高,IR7最低。
这种方式适合于各个中断源的重要性等同的情况。
优先级特殊循环方式同优先级自动循环方式,但一开始时的优先级可以设定。
如一开始设定IR3最低,则IR4的优先级最高,其他依次类推。
8259A中断结束共有3种。
自动结束方式(AEOI方式)普通结束方式(普通EOI方式)特殊中断结束方式(特殊EOI方式)7-108259A中断控制器的作用是什么?
8259A能与8080/8085、8086/8088等多种微处理器芯片组成中断控制系统。
它有8个外部中断请求输入引脚,可直接管理8级中断。
若系统中中断源多于8个,8259A还可以实行两级级联工作,最多可用9片8259A级联管理64级中断。
7-11简述多个中断源、单一中断请求线的中断处理过程。
1.当IR7IR0中有一个或几个中断源变成高电平时,使相应的IRR位置位。
2.8259A对IRR和IMR提供的情况进行分析处理,当请求的中断源未被IMR屏蔽时,如果这个中断请求是唯一的,或请求的中断比正在处理的中断优先级高,就从INT端输出一个高电平,向CPU发出中断请求。
3.CPU在每个指令的最后一个时钟周期检查INT输入端的状态。
当IF为“1”且无其他高优先级的中断(如NMI)时,就响应这个中断,CPU进入两个中断响应()周期。
4.在CPU第一个周期中,8259A接收第一个信号时,将ISR中当前请求中断中优先级最高的相应位置位,而对应的IRR位则复位为“0”。
5.在CPU第二个周期中,8259A收到第二个信号时,送出中断类型号。
整个过程的时序如图7-8所示。
7-128259A的中断自动结束方式与非自动结束方式对中断服务程序的编写有何影响?
自动结束方式(AEOI方式)当一个中断请求被响应后,在收到第一个信号后,8259A将ISR中的对应位置“1”,在收到第二个信号后,8259A将ISR中的对应位置“0”。
此刻,中断服务程序并没有结束(其实才刚开始运行),而在8259A中就认为其已结束。
此时若有更低级的中断请求信号,8259A仍可向CPU发送中断请求,从而会造成低级中断打断高级中断的情况。
这种方式一般用于单片8259A而且不会产生嵌套的情况。
普通结束方式(普通EOI方式)这种方式是在中断服务程序结束前(即CPU执行IRET指令),用OUT指令向8259A发一个中断结束命令字,8259A收到此结束命令后,就会把ISR中优先级别最高的置“1”位清0,表示当前正在处理的中断已结束。
这种中断结束方式比较适合于全嵌套工作方式。
7-13某8259A初始化时,ICW11BH,ICW230H,ICW401H,试说明8259A的工作情况。
ICW11BH:
LTIM=1,设定为电平触发方式;
SNGL=1,系统中只有一片8259AICW230H中断请求类型码设置为30HICW401H8259A用于8086/8088系统;
8259A工作在非自动结束方式;
非缓冲方式下工作;
全嵌套方式。
7-14某系统中有三片8259A接成主/从方式,二从片接在主片的IR3、IR5引脚上,试画出硬件接线图,并给出主片与二从片的初始化命令字ICW3。
ICW3:
MOVAL,03H;
ICW3的内容IR3OUT21H,AL;
写入奇地址端口MOVAL,04H;
ICW3的内容IR5OUT21H,AL;
写入奇地址端口7-15当8259A需要级联使用时,在缓冲方式与非缓冲方式下分别如何设置主/从片?
ICW4D2位当BUF=1,且M/S=1时,此8259为主片;
当BUF=1,但M/S=0时,此8259为从片。
7-16简要说明8259A的5种中断优先权管理方式的特点。
参见题7-97-178259A仅有两个端口地址,如何识别ICW命令和OCW命令?
初始化命令在一开始初始化8259A时使用,只能使用一次,一旦发出就不能改变,且4个命令字有固定的写入顺序,一般将其放在主程序的开头。
操作命令字用来设置可在程序中动态改变的功能,可多次使用,也没有固定的使用顺序。
7-18中断服务程序应包含哪几部分?
保存和恢复现场有何意义?
中断服务程序一般由4部分组成:
保护现场、中断服务、恢复现场、中断返回。
所谓保护现场,是因为有些寄存器可能在主程序被打断时存放有用的内容,为了保证返回后不破坏主程序在断点处的状态,应将有关寄存器的内容压入堆栈保存。
中断服务部分是整个中断服务程序的核心,其代码完成与外设的数据交换。
恢复现场是指中断服务程序完成后,把原先压入堆栈的寄存器内容再弹回到CPU相应的寄存器中。
有了保护现场和恢复现场的操作,就可保证在返回断点后,正确无误地继续执行原先被打断的程序。
中断服务程序的最后部分是一条中断返回指令IRET。
7-19如何安装中断服务程序?
程序在运行后,主模块要完成中断服务程序的安装,即将中断服务程序的地址设置到中断矢量表的相应项目中。
设置工作既可以用MOV指令直接写中断矢量表,也可以用相关DOS功能调用,最好是用后者,因为这样更安全一些。
7-20中断硬件服务程序驻内存应该注意什么问题?
当程序结束后其所占内存被DOS收回,中断服务程序变为不可用。
若想让程序退出后中断服务程序所占内存仍然保留,以便为后续程序提供中断服务,则必须让中断服务程序驻留内存。
第13章13-1单片机有哪些主要特点?
1)体积小、价格低廉、面向控制。
2)便于产品小型化、智能化。
3)研制周期短、可靠性高。
13-2单片机主要应用在哪些领域?
广泛应用于电子仪器仪表、家用电器、自动控制设备、节能装备、军事装备、计算机外设、机器人、工业控制等诸方面。
13-3说明以下指令执行操作的异同。
MOVR0,#11H和MOVR0,11HMOVA,R0和MOVA,R0ORL20H,A和ORLA,20HMOVB,20H和MOVC,20H1MOVR0,#11H#11HR0;
MOVR0,11H11H中的内容送人R02MOVA,R0将寄存器的内容存入累加器中;
MOVA,R0:
将间接地址的内容存入累加器中;
3ORL20H,A将直接地址20H的内容与累加器的值做逻辑或运算,结果存回直接地址20H中;
ORLA,20H:
将累加器的值与直接地址20H的内容做逻辑或运算,结果存回累加器中13-4MOV,MOVC,MOVX指令的区别。
MOV:
内部RAM数据传送MOVC:
外部ROM数据传送MOVX:
外部RAM数据传送13-5单片机内部RAM访问指令有哪几种?
MOV,XCH13-6执行下列指令序列后,将会实现什么功能?
MOVR0,#20HMOVR1,#30HMOVP2,#90HMOVXA,R0MOVXR1,AMOVDPTR,#9010HMOVA,#10HMOVCA,A+DPTRMOVXDPTR,AMOVSP,#0AHPOP09HPOP08HPOP07HMOVPSW,#20HMOV00H,#20HMOV10H,#30HMOVA,R0MOVPSW,#10HMOVR0,AMOVR0,#30HMOVR1,#20HXCHA,R0XCHA,R1XCHA,R01.R0R1;
29020H9010H3.0AH09H中,09H08H中,08H07H中。
4.PSW=#20H,R0=#20H;
10H单元中内容为#30H,A=20H5.交换R0与A;
交换R1与A;
交换R0与A13-7执行下列指令序列后,累加器A与各标志C、AC、OV、P及Z各等于什么?
并说明标志变化的理由。
MOVA,#99HMOVR7,#77HADDA,R7DAAMOVA,#77HMOVR7,#AAHSUBBA,R7(讨论C的内容)1.ADD结果是A:
10H,PSW中CACOV位为1,DA调整后为0AH,P位0,O为12.A为#CDHPSW中C、AC、OV、P为113-8执行下列指令序列后,相关寄存器、存储单元及标志如何变化?
MOVA,#98HMOVR4,#11HANLA,R4MOVA,#89HMOV32H,#98HORL32H,ACLRACPLAXRLA,#77HMOVA,#89HSWAPARLCA(讨论C的内容)1.A:
10HC:
02A:
89HC:
03A:
88HC:
04A:
30HC:
113-9执行下列指令序列后,相关位及标志如何变化?
MOV20H,#92HMOVC,02HCPLCMOV02H,CMOV2FH,#7FHCLRCORLC,/7FH1.acc:
0,c:
02.acc:
113-10CLRA和MOVA,#00H两条指令都可能完成(A)00H功能,分别从字节数和执行指令所需的机器周期数角度,说明两条指令的优劣。
CLRA单周期指令,双字节;
MOV双周期指令,双字节。
CLR时间快13-11设两个无符号二进制整数的加数各长2个字节,分别存于寄存器R0、R1和R2、R3(高位在前),结果存于寄存器R4、R5中。
试编写求和程序,并问和是几位的?
MOVR0,#01HMOVR1,#01HMOVR2,#10HMOVR3,#10Hmova,R0addA,R1MOVR4,AMOVA,R2ADDCA,R3MOVR5,A和是16位的13-12将上题改为无符号十进制整数(BCD码),其它要求同上。
MOVR0,#01HMOVR1,#01HMOVR2,#10HMOVR3,#10Hmova,R0addA,R1DAMOVR4,AMOVA,R2ADDCA,R3DAMOVR5,A和是16位的13-13设两个字节无符号二进制整数减一个字节无符号二进制整数,被减数存于R2、R3中,减数存于R4,并将差存于R5、R6中。
试编出程序。
MOVR2,#01HMOVR3,#01HMOVR4,#10Hmova,R2subbA,R4MOVR5,AMOVA,R3SUBBA,0MOVR6,A13-14试编写一段程序,将片内RAM20H单元与片内RAM30H单元交换数据。
MOVA,20HXCHA,30HMOVA,30HXCHA,20H13-15在上题基础上,将程序功能扩展到片内RAM20H2FH与片内RAM30H3FH各自对应单元(20H与30H,21H与31H,2FH与3FH)交换数据参照131413-16编写一段能实现约1秒钟延时的软件延时程序。
DM:
MOVR5,#10;
TMDM0:
MOVR6,#200;
TMDM1:
MOVR7,#50;
TMNOP;
TMDJNZR7,$;
2TMDJNZR6,DM1;
2TMDJNZR5,DM0;
2TMRET;
2TMEND13-17试用流程图说明下段程序实现的功能。
ORG9000HLP0:
MOVR0,#35HMOVR1,#3AHMOVR3,#05HCLRCLP1:
MOVA,R0ADDCA,R1MOVR0,AINCR0INCR1DJNZR3,LP1LP2:
SJMPLP2END13-18将片内RAM22H单元存放的以ASC码表示的数,转换为十六进制数后,存于片内RAM21H单元中。
ORG0000HAJMPLM0ORG0030HLM0:
MOVA,22HCJNEA,#41H,LM3LM3:
JNCLM1SUBBA,#30HSJMPLM2LM1:
SUBBA,#37HLM2:
MOV21H,ARETEND13-19设被减数存于(R2)、减数存于(R3)中,结果存于累加器(A)。
试通过具体指令分析程序所实现功能。
BCDSUB:
MOVA,#9AHCLRCSUBBA,R3;
减数求补ADDA,R2DAARETEND13-20编程求和:
-65+36=?
设加数和被加数分别存于片内RAM的30H、31H地址中和数存于片内RAM的41H、40H地址中。
因为原数x=65=41H,X补码=28|x|=100H|41H|=BFH所以扩成16位后变为FFBFH;
因为原数y=36=24H,Y补码=24HORG0900HMOVR0,#30H;
加数存放单元MOVR1,#40H;
和数存放单元ACALLSQADD;
转加法子程序SJMPORG0950HSQADD:
MOVR2,#00H;
高位先全令其为00HMOVR3,#00HMOVA,R0;
取加数JNBACC.7,POS1;
若正数,则转POS1,确认(R2)=00HMOVR2,#0FFH;
若负数,(R2)=FFH(即全1)POS1:
INCR0MOVB,R0JNBB.7,POS2;
若正数,则转POS2,确认(R3)=00HMOVR3,#0FFH;
若负数,(R3)=FFH(即全1)POS2:
ADDA,B;
加低8位MOVR1,A;
存入和的低8位,在片内RAM的40H地址中INCR1;
(R1)=(R1)+1=41HMOVA,R2ADDCA,R3;
再加进位MOVR1,A;
存入和的高8位,在片内RAM的41H地址中RETEND第14章14-18051单片机P0P3口结构有何不同?
作通用I/O口输入数据使用时,应注意什么?
P1口、P2口、P3口为准双向口,P0口为三态双向口。
P0口在需要进行外部ROM、RAM等扩展时,采用分时复用的方式;
P1口是一个准双向口,只作通用的I/O口使用;
P2口也是一个准双向口,可作为IO口和地址数据总线;
P3口是一个多功能的准双向口。
第一功能是作通用的I/O口使用,其功能和原理与P1口相同。
第二功能是作控制和特殊功能口使用。
14-2什么是对I/O口的“读-修改-写”操作?
“读-修改-写”类指令的端口输出:
如CPLP0.0指令执行时,单片机内部产生“读锁存器”操作信号,使锁存器Q端的数据送到内部总线,在对该位取反后,结果又送回P0.0的端口锁存器并从引脚输出。
之所以是“读锁存器”而不是“读引脚”,是因为这样可以避免因引脚外部电路的原因而使引脚的状态发生改变而造成的误读。
如外部接一个驱动晶体管的情况。
14-38051单片机内部设有几个定时/计数器?
它们是由哪些特殊功能寄存器组成?
两个定时/计数器。
定时/计数器T0由特殊功能寄存器TH0、TL0(字节地址分别为8CH和8AH)构成,定时/计数器T1由特殊功能寄存器TH1、TL1(字节地址分别为8DH和8BH)构成。
其内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时器控制寄存器TCON。
这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。
TMOD主要是用于选定定时器的工作方式,TCON主要是用于控制定时器的启动和停止。
14-4定时/计数器用作定时器时,其定时时间与哪些因素有关?
作计数器时,对外界计数频率有何限制?
定时与时钟频率,定时器的控制器的工作方式相关。
计数器则要求输入信号的电平应在跳变后至少一个机器周期内保持不变,以保证在给定的电平再次变化前至少被采样一次,那么外界计数频率不能超过系统时钟频率。
14-5简述定时器四种工作方式的特点,如何选择和设定?
表14-1工作方式选择M1M0方式说明最大计数次数最大定时时间fosc=6MHz00013位定时/计数器213=819281922s=16.384ms01116位定时/计数器216=65536655362s=131.072ms102自动装入时间常数的8位定时/计数器28=2562562s=0.512ms113对T0分为两个8位计数器;
对T1在方式3时停止工作28=2562562s=0.512ms14-6当定时器T0用作模式3时,由于TRl位已被T0占用,如何控制定时器T1的开启和关闭?
当定时器T0处于工作方式3时,定时/计数器Tl可定为方式0、方式l和方式2。
可以在TOMD中设置开启和关闭。
14-7使用一个定时器,如何通过软、硬件结合的方法,实现较长时间的定时?
定时器实现最大时间定时,再由软件计数。
14-88051单片机定时/计数器作定时和计数时,其计数脉冲分别由谁提供?
定时器的脉冲由系统时间给,计数脉冲由外部计数器给.14-98051单片机定时器的门控制信号GATE设置为1时,定时器如何启动?
(GATE)=1时,用外部中断引脚(INT1或INT0)上的高电平来启动定时/计数器运行。
14-10设8051单片机的fosc=12MHz,要求用T0定时150s,分别计算采用定时方式l和方式2时的定时初值。
方式1的初值(216-X)110-6s=15010-6s则(TH1)=0FFH,(TL1)=6AH。
方式2的初值(28-X)110-6s=15010-6s则(TL1)=6AH。
14-11设8051单片机的fosc6MHz,问定时器处于不同工作方式时,最大定时范围分别是多少?
方式016.384ms方式1131.07ms方式20.512ms方式30.512ms14-12以定时/计数器1进行外部事件计数。
每计数1000个脉冲后,定时/计数器1转为定时工作方式。
定时10ms后,又转为计数方式,如此循环不止。
假定单片机晶振频率为6MHz,请使用方式l编程实现。
JISHU:
MOVTMOD#D0HMOVTH1,#03H;
写入初值MOVTL1,#E8HSETBTR1LOOP:
JNBTF1,LOOP;
(TF1)=1,定时器溢出,程序跳转LP:
CLRTF1;
清溢出标志位DINGSHI:
MOVTMOD#10HMOVTH1,#0ECH;
写入初值MOVTL1,#7HSETBTR1LOOP1:
JNBTF1,LOOP1;
(TF1)=1,定时器溢出,程序跳转L