单片机原理及接口技术课后答案_李朝青_第三版内容摘要:
; F2H O2H=E4H→ A ADD A, 62H ;积的低 8 位加上 CCH→ A MOV 63H, A ;结果送 62H CLR A ;清 A ADDC A, B ;积的高 8 位加进位位→ A MOV 64H, A ;结果送 64H 功能:将 61H单元的内容乘 2,低 8位再加上 62H单元的内容放入 63H,将结果的高 8 位放在 64H单元。 ( A) =02H,( B) =01H,( 61H) =F2H,( 62H)=CCH,( 63H) =B0H,( 64H) =02H 3 MOV A, XXH ORL A, 80H MOV XXH, A ( 2) MOV A, XXH MOV R0, A XRL A, R0 第五章 什么是中断和中断系统。 其主要功能是什么。 答:当 CPU正在处理某件事情的时候,外部发生的某一件事件请求CPU迅速去处理,于是, CPU暂时中止当前的工作,转去处理所发生的事件,中断服务处理完该事件以后,再回到原来被终止的地方,继续原来的工作。 这种过程称为中断,实现这种功能的部件称为中断系统。 功能: ( 1) 使计算机具有实时处理能力,能对外界异步发生的事件作出及时的处理 ( 2) 完全消除了 CPU 在查询方式中的等待现象,大大提高了 CPU的工作效率 ( 3) 实现实时控制 试编写一段对中断系统初始化的程序,使之允许 INT0, INT1, TO,串行口中断,且使 T0 中断为高优先级中断。 解: MOV IE,097H MOV IP,02H 在单片机中,中断能实现哪些功能。 答:有三种功能:分时操作,实时处理,故障处理 89C51 共有哪些中断源。 对其中端请求如何进行控制。 答:( 1) 89C51 有如下中断源 ① :外部中断 0 请求,低电平有效 ② :外部中断 1 请求,低电平有效 ③ T0:定时器、计数器 0 溢出中断请求 ④ T1:定时器、计数器 1 溢出中断请求 ⑤ TX/RX:串行接口中断请求 ( 2)通过对特殊功能寄存器 TCON、 SCON、 IE、 IP 的各位进行置位或复位等操作,可实现各种中断控制功能 什么是中断优先级。 中断优先处理的原则是什么。 答:中断优先级是 CPU相应中断的先后顺序。 原则: ( 1) 先响应优先级高的中断请求,再响应优先级低的 ( 2) 如果一个中断请求已经被响应,同级的其它中断请求将被禁止 ( 3) 如果同级的多个请求同时出现,则 CPU通过内部硬件查询电路,按查询顺序确定应该响应哪个中断请求 查询顺序:外部中断 0→定时器 0 中断→外部中断 1→定时器 1 中断→串行接口中断 说明外部中断请求的查询和响应过程。 答:当 CPU执行主程序第 K条指令,外设向 CPU发出中断请求, CPU接到中断请求信号并在本条指令执行完后,中断主程序的执行并保存断点地址,然后转去响应中断。 CPU在每个 S5P2 期间顺序采样每个中断 源,CPU在下一个机器周期 S6期间按优先级顺序查询中断标志,如果查询到某个中断标志为 1,将在接下来的机器周期 S1 期间按优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入 PC,以便进入相应的中断服务程序。 中断服务完毕后, CPU返回到主程序第 K+1 条指令继续执行。 89C51 在什么条件下可响应中断。 答: ( 1) 有中断源发出中断请求 ( 2) 中断中允许位 EA= CPU开中断 ( 3) 申请中断的中断源的中断允许位为 1,即中断没有被屏蔽 ( 4) 无同级或更高级中断正在服务 ( 5) 当前指令周期已经结束 ( 6) 若现行指令为 RETI或访问 IE或 IP 指令时,该指令以及紧接着的另一条指令已执行完毕 简述 89C51 单片机的中断响应过程。 答: CPU在每个机器周期 S5P2 期间顺序采样每个中断源, CPU在下一个机器周期 S6期间按优先级顺序查询中断标志,如查询到某个中断标志为 1,将在接下来的机器周期 S1 期间按优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入 PC,以便进入相应的中断服务 程序。 一旦响应中断, 89C51 首先置位相应的中断“优先级生效”触发器,然后由硬件执行一条长调用指令,把当前的 PC值压入堆栈,以保护断点,再将相应的中断服务的入口地址送入 PC,于是 CPU接着从中断服务程序的入口处开始执行。 对于有些中断源, CPU在响应中断后会自动清除中断标志。 在 89C51 内存中,应如何安排程序区。 答:主程序一般从 0030H开始,主程序后一般是子程序及中断服务程序。 在这个大家还要清除各个中断的中断矢量地址。 试述中断的作用及中断的全过程。 答:作用: 对外部异步发生的事件作出及时的处理 过程:中断请求,中断响应,中断处理,中断返回 1当正在执行某一个中断源的中断服务程序时,如果有新的中断请求出现,试问在什么情况下可响应新的中断请求。 在什么情况下不能响应新的中断请求。 答:( 1)符合以下 6 个条件可响应新的中断请求: a) 有中断源发出中断请求 b) 中断允许位 EA=1,即 CPU开中断 c) 申请中断的中断源的中断允许位为 1,即中断没有被屏蔽 d) 无 同级或更高级中断正在被服务 e) 当前的指令周期已结束 f) 若现行指令为 RETI或访问 IE 或 IP 指令时,该指令以及紧接着的另一条指令已被执行完 1 89C51 单片机外部中断源有几种触发中断请求的方法。 如何实现中断请求。 答:有两种方式:电平触发和边沿触发 电平触发方式: CPU 在每个机器周期的 S5P2 期间采样外部中断引脚的输入电平。 若为低电平,使 IE1(IE0)置“ 1”,申请中断;若为高电平,则 IE1(IE0)清零。 边沿触发方式: CPU在每个机器周期 S5P2 期间采样外部中断请求引脚的输入电平。 如果在相继的两个机器周期采样过程中,一个机器周期采样到外部中断请求为高电平,接着下一个机器周期采样到外部中断请求为低电平,则使 IE1(IE0)置“ 1”申请中断;否则, IE1(IE0)置 0。 1 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 1 89C51 各中断源的中断标志是如何产生的。 又是如何清 0 的。 CPU响应中断时,中断入口地址各是多少。 答:各中断标志的产生和清“ 0”如下: ( 1) 外部中断类 外部中断是由外部原因引起的,可以通过两个固定引脚,即外部中断0 和外部中断 1 输入信号。 外部中断 0 请求信号,由 脚输入。 通过 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 外部中断 1 0013H 定时器 T1 中断 001BH 串行口中断 0023H 1中断响应时间是否为确定不变的。 为什么。 答:中断响应时间不是确定不变的。 由于 CPU不是在任何情况下对中断请求都予以响应的;此外,不同的情况对中断响应的时间也是不同的。 下面以外部中断为例,说明中断响应的时间。 在每个机器周期的 S5P2 期间, 端的电平被所存到 TCON的 IE0 位,CPU在下一个机器周期才会查询这些值。 这时满足中断响应条件,下一条要执行的指令将 是一条硬件长调用指令“ LCALL”,使程序转入中断矢量入口。 调用本身要用 2 个机器周期,这样,从外部中断请求有效到开始执行中断服务程序的第一条指令,至少需要 3 个机器周期,这是最短的响应时间。 如果遇到中断受阻的情况 ,这中断响应时间会更长一些。 例如,当一个同级或更高级的中断服务程序正在进行,则附加的等待时间取决于正在进行的中断服务程序:如果正在执行的一条指令还没有进行到最后一个机器周期,附加的等待时间为 1~3 个机器周期;如果正在执行的是 RETI 指令或者访问 IE或 IP 的指令,则附加的等待时间在 5 个机器周期内。 若系统中只有一个中断源,则响应时间为 3~8 个机器周期。 1中断响应过程中,为什么通常要保护现场。 如何保护。 答:因为一般主程序和中断服务程序都可能会用到累加器, PSW 寄存器及其他一些寄存 器。 CPU在进入中断服务程序后,用到上述寄存器时,就会破坏它原来存在寄存器中的内容;一旦中断返回,将会造成主程序的混乱。 因而在进入中断服务程序后,一般要先保护现场,然后再执行中断处理程序,在返回主程序以前再恢复现场。 保护方法一般是把累加器、 PSW寄存器及其他一些与主程序有关的寄存器压入堆栈。 在保护现场和恢复现场时,为了不使现场受到破坏或者造成混乱,一般规定此时 CPU 不响应新的中断请求。 这就要求在编写中断服务程序时,注意在保护现场之前要关中断,在恢复现场之后开中断。 如果在中断处理时允许有更高级的中断 打断它,则在保护现场之后再开中断,恢复现场之前关中断。 1清叙述中断响应的 CPU操作过程,为什么说中断操作是一个 CPU的微查询过程。 答:在中断响应中, CPU要完成以下自主操作过程: a) 置位相应的优先级状态触发器,以标明所响应中断的优先级别 b) 中断源标志清零( TI、 RI除外) c) 中断断点地址装入堆栈保护(不保护 PSW) d) 中断入口地址装入 PC,以便使程序转到中断入口地址处 在。单片机原理及接口技术课后答案_李朝青_第三版
相关推荐
8 80H L C7H 9 90H 灭 FFH 复位 电路的设计 该复位电路采用上电自动复位和手动复位两种复位方式,要实现复位只需在, 52系列单片机的 RESET 引脚上 加上 5ms 的高电平就可以了。 上电复位是利用电容的充电来实现的,即上电瞬间 RESET 端的电位与 Vcc 相同,随着电容上储能增加,电容电压也逐渐增大,充电电流减小, RESET 端的电位。 这样就会建立一个脉冲电压
0x84,0x84,0x02,0x12,0x52,0x42, 0x48,0x04,0x52,0x72, 0x72,0x52,0x74,0x02,0xA4,0x92, 0x82,0x92,0x54,0x02,0x82,0x82,0x92, 0x82,0x72,0x52,0x42,0x02,0xC4,0x12, 0x3C, 0xFF}。 //第三首 最浪漫的事 unsigned char code
( D) ( A)( 20H) =00H ( B) SP=00H ( C) SBUF=00H ( D) TH0=00H 三、简答分析题( 30 分,每小题 10 分) 简述 89C51 定时器的四种工作模式的特点,如何选择和设定。 答: 89C51 定时器的四种工作模式有,模式 1,模式 2,模式 3。 模式 0 时:选择定时器的高 8 位和低 5 位组成 13 位定时器 /计数器。 TL 低
RET 2( SP) =23H,( PC) =3412H 参看书上 80 页 2( SP) =27H,( 26H) =48H,( 27H) =23H,( PC) =3456H 参看书上 79 页 2不能。 ACALL 是短转指令,可调用的地址范围是 2KB。 在看这个题的时候同时看一下 AJMP 指令。 同时考虑调用指令 ACALL 和 LCALL 指令和 RET 指令的关系。 2 编程
7.试编写 — 段程序,将累加器 A 中的负数转换为其补码。 答: MOV R0,A ANL A,80H JNZ LP MOV A,R0 LP: MOV A,R0 CPL A INC A 318.试编写 — 段程序,将 R3R2 中的双字节负数转换成补码。 答: MOV A,R3 ANL A,80H JNZ LP LP : MOV A,R3 CPL A INC A MOV R3,A MOV A