第7章完整答案《单片机原理与C51基础》赵丽清(课后习题及答案)
- 格式:doc
- 大小:43.00 KB
- 文档页数:4
完整答案
思考题:
【7-1】试简述80C51单片机中断服务子程序和一般子程序的差别
【7-2】80C51系统有几个中断源?各中断标志是如何产生和清除的?
【7-3】试简述80C51中断响应的条件和受阻的可能?
【7-4】80C51单片机CPU响应中断时,中断入口地址各是多少?
【7-5】80C51的中断系统有几个中断优先级?中断优先级是如何控制的?
【7-6】如果相同优先级的中断请求同时出现时,简述80C51单片机响应中断的查询次序?【7-7】试编程实现,将1
INT设为高优先级中断,且为电平触发方式,T0溢出中断设为低优先级中断,串行口中断为高优先级中断,其余中断源设为禁止状态。
【7-8】外部中断1的中断入口地址为(),定时器1的中断入口地址为()。【7-9】若(IP)=00010100B,则优先级最高者为(),最低者为()。
【7-10】中断服务子程序与普通子程序有哪些相同和不同之处?
【7-11】下列说法正确的是()。
A.各中断源发出的中断请求信号,都会标记在AT89S51的IE寄存器中
B.各中断源发出的中断请求信号,都会标记在AT89S51的TMOD寄存器中
C.各中断源发出的中断请求信号,都会标记在AT89S51的IP寄存器中D.各中断源发出的中断请求信号,都会标记在AT89S51的TCON与SCON寄存器中
【7-12】AT89S51单片机响应外部中断的典型时间是多少?在哪些情况下.CPU将推迟对外部中断请求的响应
【7-13】中断查询确认后,在下列各种AT89S51单片机运行情况下,能立即进行响应的是()。 A.当前正在进行高优先级中断处理
B.当前正在执行RETI指令
C.当前指令是DIV指令,且正处于取指令的机器周期
D.当前指令是MOV A,R3
【7-14】AT89S51单片机响应中断后,产生长调用指令LCALL,执行该指令的过程包括:首先把()的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址进(),使程序执行转向()中的中断地址区,
【7-15】编写外部中断1为跳沿触发的中断初始化程序段。
【7-16】在AT89S51的中断请求源中,需要外加电路实现中断撤销的是()。
A.电平方式的外部中断请求
B.跳沿方式的外部中断请求
C.外部串行中断
D.定时中断
【7-17】中断响应需要满足哪些条件?
【7-18】列说法正确的是( )。
A.同一级别的中断请求按时间的先后顺序响应
B.同一时间同一级别的多中断请求,将形成阻塞,系统无法响应
C.低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求
D.同级中断不能嵌套
【7-19】保护断点和保护现场有什么差别?
第五章思考题答案:
【7-1】解答:差别见下表。
【7-2】解答:
①80C51有五个中断源如下:
INT外部中断0。采样P3.2引脚的外部中断请求。
(1)0
INT外部中断1。采样P3.3引脚的外部中断请求。
(2) 1
(3) 定时/计数器T0计数溢出发生的中断请求,中断请求标志为TF0。
(4) 定时/计数器T1计数溢出发生的中断请求,中断请求标志为TF1。
(5) 串行口中断请求。串行口完成一帧数据的发送或接收时所发出的中断请求,标志位为TI或RI。每个中断源对应一个中断标志位,它们包含在特殊功能寄存器TCON和SCON 中。
②T标志位有:
(1)TF1 定时/计数器1(T1) 的溢出中断标志。当T1从初值开始加1计数到产生溢出时,由硬件使TF1置“1”,直到CPU响应中断时由硬件复位。
(2)TF0 定时/计数器0(T0)的溢出中断标志,与TF1类似。
(3)IE1 外部中断1 的中断请求标志。
(4)IE0 外部中断0的中断请求标志,与IE1类似。
(5)RI:串行口接收中断请求标志位。在串行口工作方式0中,每当接收到第8位数据时由硬件置位RI;在其他方式中,当接收到停止位时由硬件置位RI。注意,当CPU转入串行口中断服务程序的入口时没有硬件复位RI,因此必须由编程人员用软件复位RI。(6)TI:串行口发送中断标志。在串行口工作方式0中,每当发送完第8位数据时,由硬件置位TI;在其他方式中,当发送到停止位时置位TI。注意,TI也必须由软件来复位。
【7-3】解答:
①CPU的中断响应条件
●首先要由中断源发出中断申请;
●中断总允许位EA=1,即CPU允许所有中断源申请中断;
●申请中断的中断源的中断允许位为1,即此中断源可以向CPU申请中断。
②中断响应会受到阻断。
●CPU正在执行一个同级或高一级的中断服务程序;
●当前的机器周期不是正在执行的指令的最后一个周期,即正在执行的指令还未完
成前,任何中断请求都得不到响应;
●正在执行的指令是返回指令或者对专用寄存器IE、IP进行读/写的指令,此时,
在执行RETI或者读写IE或IP之后,不会马上响应中断请求,至少在执行一条其他
指令之后才会响应。
【7-4】解答:
【7-5】解答:有两个优先级。通过设置特殊功能寄存器IP来控制。对应的位为1属于高优先级,为0属于低优先级。
【7-6】解答:答:如果同级的多个中断请求同时出现,则按CPU查询次序确定哪个中断请求被响应。其查询次序为:外部中断O→定时/计数器中断0→外部中断1→定时/计数器中断1→串行中断。
【7-7】解答:
SETB PX1
CLR IT1
CLR PT0
SETB PS
MOV IE,#96H
【7-8】解答:(13H )( 1BH )。
【7-9】解答:(外部中断1 )(定时器T1 )。
【7-10】解答:RETI指令在返回时,同时清除中断系统中相应的优先级触发器,以允许下次中断,而RET指令则没有这个操作。除了这一点两条指令不同外,其他操作都相同。
【7-11】解答:( D )。
【7-12】解答:
使用外部中断时,需考虑从外部中断请求到转向中断入口地址所需的时间。
外部中断的最短响应时间为3个机器周期。其中中断请求标志位查询占1个机器周期,而这个机器周期恰好处于指令的最后一个机器周期。在这个机器周期结束后,中断即被响应,CPU接着执行一条硬件子程序调用指令LCALL到相中断服务程序入口,需要2个机器周期。外部中断响应的最长时间为8个机器周期。在CPU进行中断标志查询时,刚好才开始执行RETI或访问IE或IP的指令,需执行完指令再继续执行一条指令后,才响应中断。执行RETI 或访问IE或IP的指令,最长需要2个机器周期。接着再执行一条指令,最长指令(乘法指令MUL和除法指令DIV)来算,也只有4个机器周期。再加上硬件子程序调用指令LCALL的执行,需要2个机器周期,所以,外部中断响应的最长时间为8个机器周期。
如果已经在处理同级或更高级中断,外部中断请求的响应时间取决于正在执行的中断服务程序的处理时间,这种情况下,响应时间就无法计算了。
这样,在一个单一中断的系统里,AT89S51单片机对外部中断请求的响应时间总是在3~8个机器周期之间。
如下几种情况.CPU将推迟对外部中断请求的响应,即
(1)CPU正在处理同级或更高优先级的中断。
(2)所查询的机器周期不是当前正在执行指令的最后一个机器周期。只有在当前指令执行