logo资料库

单片机原理及接口技术第五章答案--李朝青.doc

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
单片机原理及接口技术课后习题答案 李朝青 课后习题答案 2009-11-22 15:13 阅读696 评论9 字号: 大 中 小 第五章 1、什么是中断和中断系统?其主要功能是什么? 答:当 CPU 正在处理某件事情的时候,外部发生的某一件事件请求 CPU 迅速 去处理,于是,CPU 暂时中止当前的工作,转去处理所发生的事件,中断服务 处理完该事件以后,再回到原来被终止的地方,继续原来的工作。这种过程称 为中断,实现这种功能的部件称为中断系统。功能: (1) 使计算机具有实时处理能力,能对外界异步发生的事件作出及时的 处理 (2) 完全消除了 CPU 在查询方式中的等待现象,大大提高了 CPU 的工 作效率 (3) 实现实时控制 2、试编写一段对中断系统初始化的程序,使之允许 INT0,INT1,TO,串行口 中断,且使 T0中断为高优先级中断。 解:MOV IE,#097H IP,#02H MOV 3、在单片机中,中断能实现哪些功能? 答:有三种功能:分时操作,实时处理,故障处理 4、89C51共有哪些中断源?对其中端请求如何进行控制? 答:(1)89C51有如下中断源 ①:外部中断0请求,低电平有效 ②:外部中断1请求,低电平有效 ③T0:定时器、计数器0溢出中断请求 ④T1:定时器、计数器1溢出中断请求 ⑤TX/RX:串行接口中断请求 (2)通过对特殊功能寄存器 TCON、SCON、IE、IP 的各位进行置位或复位等 操作,可实现各种中断控制功能 5、什么是中断优先级?中断优先处理的原则是什么? 答:中断优先级是 CPU 相应中断的先后顺序。原则: (1) 先响应优先级高的中断请求,再响应优先级低的
(2) 如果一个中断请求已经被响应,同级的其它中断请求将被禁止 (3) 如果同级的多个请求同时出现,则 CPU 通过内部硬件查询电路,按 查询顺序确定应该响应哪个中断请求 查询顺序:外部中断0→定时器0中断→外部中断1→定时器1中断→串行接口中 断 6、说明外部中断请求的查询和响应过程。 答:当 CPU 执行主程序第 K 条指令,外设向 CPU 发出中断请求,CPU 接到中 断请求信号并在本条指令执行完后,中断主程序的执行并保存断点地址,然后 转去响应中断。CPU 在每个 S5P2期间顺序采样每个中断源,CPU 在下一个机 器周期 S6期间按优先级顺序查询中断标志,如果查询到某个中断标志为1,将在 接下来的机器周期 S1期间按优先级进行中断处理,中断系统通过硬件自动将相 应的中断矢量地址装入 PC,以便进入相应的中断服务程序。中断服务完毕后, CPU 返回到主程序第 K+1条指令继续执行。 7、89C51在什么条件下可响应中断? 答: (1) 有中断源发出中断请求 (2) 中断中允许位 EA=1.即 CPU 开中断 (3) 申请中断的中断源的中断允许位为1,即中断没有被屏蔽 (4) 无同级或更高级中断正在服务 (5) 当前指令周期已经结束 (6) 若现行指令为 RETI 或访问 IE 或 IP 指令时,该指令以及紧接着的 另一条指令已执行完毕 8、简述89C51单片机的中断响应过程。 答:CPU 在每个机器周期 S5P2期间顺序采样每个中断源,CPU 在下一个机器 周期 S6期间按优先级顺序查询中断标志,如查询到某个中断标志为1,将在接下 来的机器周期 S1期间按优先级进行中断处理,中断系统通过硬件自动将相应的 中断矢量地址装入 PC,以便进入相应的中断服务程序。一旦响应中断,89C51 首先置位相应的中断“优先级生效”触发器,然后由硬件执行一条长调用指令, 把当前的 PC 值压入堆栈,以保护断点,再将相应的中断服务的入口地址送入 PC,于是 CPU 接着从中断服务程序的入口处开始执行。对于有些中断源,CPU 在响应中断后会自动清除中断标志。 9、在89C51内存中,应如何安排程序区? 答:主程序一般从0030H 开始,主程序后一般是子程序及中断服务程序。在这 个大家还要清除各个中断的中断矢量地址。 10、试述中断的作用及中断的全过程。
答:作用:对外部异步发生的事件作出及时的处理 过程:中断请求,中断响应,中断处理,中断返回 11、当正在执行某一个中断源的中断服务程序时,如果有新的中断请求出现,试 问在什么情况下可响应新的中断请求?在什么情况下不能响应新的中断请求? 答:(1)符合以下6个条件可响应新的中断请求: a) b) c) d) e) f) 有中断源发出中断请求 中断允许位 EA=1,即 CPU 开中断 申请中断的中断源的中断允许位为1,即中断没有被屏蔽 无同级或更高级中断正在被服务 当前的指令周期已结束 若现行指令为 RETI 或访问 IE 或 IP 指令时,该指令以及紧接着 的另一条指令已被执行完 12、89C51单片机外部中断源有几种触发中断请求的方法?如何实现中断请求? 答:有两种方式:电平触发和边沿触发 电平触发方式:CPU 在每个机器周期的 S5P2期间采样外部中断引脚的输入电平。 若为低电平,使 IE1(IE0)置“1”,申请中断;若为高电平,则 IE1(IE0)清零。 边沿触发方式:CPU 在每个机器周期 S5P2期间采样外部中断请求引脚的输入电 平。如果在相继的两个机器周期采样过程中,一个机器周期采样到外部中断请 求为高电平,接着下一个机器周期采样到外部中断请求为低电平,则使 IE1(IE0) 置“1”申请中断;否则,IE1(IE0)置0。 13、89C51单片机有五个中断源,但只能设置两个中断优先级,因此,在中断优 先级安排上受到一定的限制。试问以下几种中断优先顺序的安排(级别由高到 低)是否可能:若可能,则应如何设置中断源的中断级别:否则,请简述不可 能的理由。 ⑴ 定时器0,定时器1,外中断0,外中断1,串行口中断。 可以,MOV IP,#0AH ⑵ 串行口中断,外中断0,定时器0,外中断1,定时器1。 可以,MOV IP,#10H ⑶ 外中断0,定时器1,外中断1,定时器0,串行口中断。 不可以,只能设置一级高级优先级,如果将 INT0,T1设置为高级,而 T0级别 高于 INT1. ⑷ 外中断0,外中断1,串行口中断,定时器0,定时器1。 可以,MOV IP,#15H ⑸ 串行口中断,定时器0,外中断0,外中断1,定时器1。 不可以
⑹ 外中断0,外中断1,定时器0,串行口中断,定时器1。 不可以 ⑺ 外中断0,定时器1,定时器0,外中断1,串行口中断。 可以,MOV IP,#09H 14、89C51各中断源的中断标志是如何产生的?又是如何清0的?CPU 响应中断 时,中断入口地址各是多少? 答:各中断标志的产生和清“0”如下: (1) 外部中断类 外部中断是由外部原因引起的,可以通过两个固定引脚,即外部中断0和外 部中断1输入信号。 外部中断0请求信号,由 P3.2脚输入。通过 IT0来决定中断请求信号是低电 平有效还是下跳变有效。一旦输入信号有效,则向 CPU 申请中断,并且使 IE0=1。硬件复位。 外部中断1请求信号,功能与用法类似外部中断0 (2) 定时中断类 定时中断是为满足定时或计数溢出处理需要而设置的。当定时器/计数器中 的计数结构发生计数溢出的,即表明定时时间到或计数值已满,这时就以 计数溢出信号作为中断请求,去置位一个溢出标志位。这种中断请求是在 单片机芯片内部发生的,无需在芯片上设置引入端,但在计数方式时,中 断源可以由外部引入。 TF0:定时器 T0溢出中断请求。当定时器 T0产生溢出时,定时器 T0请求 标志 TF0=1,请求中断处理。使用中断时由硬件复位,在查询方式下可由 软件复位。 TF1:定时器 T1溢出中断请求。功能与用法类似定时器 T0 (3) 串行口中断类 串行口中断是为串行数据的传送需要而设置的。串行中断请求也是在单片 机芯片内部发生的,但当串行口作为接收端时,必须有一完整的串行帧数 据从 RI 端引入芯片,才可能引发中断。 RI 或 TI:串行口中断请求。当接收或发送一串帧数据时,使内部串行口中 断请求标志 RI 或 TI=1,并请求中断。响应后必须软件复位。 CPU 响应中断时,中断入口地址如下: 入口地址 中断源 外部中断0 0003H 定时器 T0中断000BH 0013H 外部中断1
定时器 T1中断001BH 0023H 串行口中断 15、中断响应时间是否为确定不变的?为什么? 答:中断响应时间不是确定不变的。由于 CPU 不是在任何情况下对中断请求都 予以响应的;此外,不同的情况对中断响应的时间也是不同的。下面以外部中 断为例,说明中断响应的时间。 在每个机器周期的 S5P2期间,端的电平被所存到 TCON 的 IE0位,CPU 在下一 个机器周期才会查询这些值。这时满足中断响应条件,下一条要执行的指令将 是一条硬件长调用指令“LCALL”,使程序转入中断矢量入口。调用本身要用2 个机器周期,这样,从外部中断请求有效到开始执行中断服务程序的第一条指 令,至少需要3个机器周期,这是最短的响应时间。 如果遇到中断受阻的情况,这中断响应时间会更长一些。例如,当一个同级或 更高级的中断服务程序正在进行,则附加的等待时间取决于正在进行的中断服 务程序:如果正在执行的一条指令还没有进行到最后一个机器周期,附加的等 待时间为1~3个机器周期;如果正在执行的是 RETI 指令或者访问 IE 或 IP 的指 令,则附加的等待时间在5个机器周期内。 若系统中只有一个中断源,则响应时间为3~8个机器周期。 16、中断响应过程中,为什么通常要保护现场?如何保护? 答:因为一般主程序和中断服务程序都可能会用到累加器,PSW 寄存器及其他 一些寄存器。CPU 在进入中断服务程序后,用到上述寄存器时,就会破坏它原 来存在寄存器中的内容;一旦中断返回,将会造成主程序的混乱。因而在进入 中断服务程序后,一般要先保护现场,然后再执行中断处理程序,在返回主程 序以前再恢复现场。 保护方法一般是把累加器、PSW 寄存器及其他一些与主程序有关的寄存器压入 堆栈。在保护现场和恢复现场时,为了不使现场受到破坏或者造成混乱,一般 规定此时 CPU 不响应新的中断请求。这就要求在编写中断服务程序时,注意在 保护现场之前要关中断,在恢复现场之后开中断。如果在中断处理时允许有更 高级的中断打断它,则在保护现场之后再开中断,恢复现场之前关中断。 17、清叙述中断响应的 CPU 操作过程,为什么说中断操作是一个 CPU 的微查 询过程? 答:在中断响应中,CPU 要完成以下自主操作过程: a) b) c) d) 置位相应的优先级状态触发器,以标明所响应中断的优先级别 中断源标志清零(TI、RI 除外) 中断断点地址装入堆栈保护(不保护 PSW) 中断入口地址装入 PC,以便使程序转到中断入口地址处
在计算机内部,中断表现为 CPU 的微查询操作。89C51单片机中,CPU 在每个 机器周期的 S6状态,查询中断源,并按优先级管理规则处理同时请求的中断源, 且在下一个机器周期的 S1状态中,响应最高级中断请求。 但是以下情况除外: a) b) c) CPU 正在处理相同或更高优先级中断 多机器周期指令中,还未执行到最后一个机器周期 正在执行中断系统的 SFR 操作,如 RETI 指令及访问 IE、IP 等操作时, 要延后一条指令 18、在中断请求有效并开中断状况下,能否保证立即响应中断?有什么条件? 答:在中断请求有效并开中断状况下,并不能保证立即响应中断。这是因为, 在计算机内部,中断表现为 CPU 的微查询操作。89C51单片机中,CPU 在每个 机器周期的 S6状态下,查询中断源,并按优先级管理规则处理同时请求的中断 源,且在下一个机器周期的 S1状态中,响应最高级中断请求。 在以下情况下,还需要有另外的等待: a) b) c) CPU 正在处理相同或更高优先级中断 多机器周期指令中,还未执行到最后一个机器周期 正在执行中断系统的 SFR 操作,如 RETI 指令及访问 IE、IP 等操作时, 要延后一条指令
分享到:
收藏