MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应()。
A.外部中断0
B.外部中断1
C.定时器0中断
D.定时器1中断
A.INT0——外部中断0请求,低电平有效
B.INT1——外部中断1请求,低电平有效
C.T0——定时器/计数器0溢出中断请求
D.T1——定时器/计数器1溢出中断请求
E.TX/RX——串行口中断请求
单片机在同一优先级的中断源同时申请中断时,CPU首先响应()。
MCS51的中断系统有几个中断源?几个中断优先级?中断优先级是如何控制的?在出现同级中断申请时,CPU按什么顺序响应(按由高级到低级的顺序写出各个中断源)?各个中断源的入口地址是多少?
MCS-51的中断源有外部中断0、定时器T0、()、定时器T1、串行口。
第 5 章 中断系统1)作业题1.8051 微控制器中,有几个中断源?几个中断优先级?中断优先级是如何控制的?在出现同级中断申请时,CPU 按什么顺序响应 (按由高级到低级的顺序写出各个中断源)?各个中断源的入口地址是多少?答: 8051 微控制器中有五个中断源,两个中断优先级。通过IP 进行优先级控制。IP 为中断优先级寄存器,物理地址为B8H ,其中的后五位PS PT1 PX1 PT0 PX0分别控制串行口、定时器 /计数器 1、外部中断1、定时器 /计数器 0、外部中断0 的优先级。在出现同级中断申请时, CPU 按如下顺序响应各个中断源的请求:INT0 、 T0、INT1 、T1、串行口,各个中断源的入口地址分别是0003H、000BH 、0013H、001BH 、0023H。2.8051 微控制器中,各中断标志是如何产生的,又如何清0 的?答:每个中断源请求中断时会在SFR 的某些寄存器中产生响应的标志位,表示该中断源请求了中断。 INT0 、INT1 、 T0 和 T1 的中断标志存放在TCON( 定时器 /计数器控制寄存器)中,占 4 位;串行口的中断标志存放在SCON( 串行口控制寄存器)中,占 2 位。TCON: 定时器 /计数器控制寄存器。8FH 8EH 8DH 8CH 8BH 8AH 89H 88H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TF0 :T0 溢出标志,溢出时由硬件置1,并且请求中断,CPU 响应后,由硬件自动将TF0清 0;不用中断方式时,要用软件清0。TF1 :T1 溢出标志,溢出时由硬件置1,并且请求中断,CPU 响应后,由硬件自动将TF1清 0;不用中断方式时,要用软件清0。IE0 :INT0 中断标志,发生INT0 中断时,硬件置IE0 为 1,并向 CPU 请求中断。IE1 :INT1 中断标志,发生INT1 中断时,硬件置IE1 为 1,并向 CPU 请求中断。SCON: 串行口控制寄存器。TI: 串行口发送中断标志,发送完一帧数据时由硬件置位,并请求中断。RI: 串行口接受中断标志,接收到一帧数据时,由硬件置位,并且请求中断。TI 、 RI 标志,必须用软件清0。3.简述 8051 微控制器中中断响应的过程。答:单片机响应中断的条件:中断源有请求(响应的中断标志位置1) ,CPU 允许所有中断(CPU 中断允许位EA=1 ),中断允许寄存器IE 中,相应中断源允许位置1;没有同级或者高级中断正在服务,现行指令已经执行完毕,若执行指令为RETI 或者读 /写 IE 或者 IP 指令时则该指令的下一条指令也执行完毕。中断响应的过程:1)CPU 在每个机器周期的S5P2 检测中断源。在下一个机器周期的S6按照优先次序查询各个中断标志。若查询到有中断标志为1 时,按照优先级别进行处理,即响应中断;2)置相应的“优先级状态”触发器为1,即指出 CPU 当前正在处理的中断优先级,以阻断同级或者低级中断请求;3)自动保护断点,即将现行PC 内容(即断点地址)压入堆栈,并且根据中断源把相应的中断程序入口地址装入PC 中;4)执行中断服务程序,直到遇到RETI 指令为止;5)RETI 指令清除“优先级状态”触发器;自动清除中断标志(TI/RI除外) ;从堆栈中弹出断点地址给PC,使 CPU 回到中断处,继续执行主程序。4.简述中断服务程序的调用和子程序调用的异同。答:相似点:1)都是中断当前正在执行的程序,转去执行子程序或者中断服务程序。2)都是由硬件自动将断点地址压入堆栈,然后通过软件完成现场保护。3)执行完子程序或者中断服务程序后,都要通过软件恢复现场,并通过执行返回指令,重新返回到断点处,继续调用程序的执行。4)都可以实现嵌套,比如中断嵌套和子程序嵌套。差别: 1)中断请求是随机的,在程序执行的任何时刻都可能请求;而子程序调用是由软件编排好的。 2)响应中断后,转去执行存放在固定地址的中断服务程序,而子程序的地址由软件设定。 3)中断响应是受控的,其响应时间受到一些因素影响,子程序响应时间是固定的。2)思考题1.什么是中断?中断能实现哪些功能?答:中断是指CPU 暂停当前的工作,转去处理紧急事件,处理完毕后,再回到原来被中断的地方,继续原来的工作。中断的功能: 1)实现 CPU 与外部设备的速度配合2)实现实时控制3)故障的及时发现与处理 4)实现人机联系2.在设计中断服务程序时,为什么要进行现场的保护和恢复?答:中断服务程序在执行前,由于主程序在调用完中断程序后将继续执行,因此应该讲中断程序可能用到的资源,包括工作寄存器R0R7、RAM 单元、 A、DPTR 、PSW 等都压入堆栈保存,即进行现场保护。执行完中断程序返回主程序之前,将被保护的内容回复到原始单元中的过程叫做现场恢复。现场保护和恢复是为了使CPU 执行完中断服务程序之后可以准确回到原来的地方继续执行指令。3.8051 微控制器的外部中断中,有几种中断触发方式?如何选择触发方式?答:外部中断有两种触发方式:低电平触发方式和下降沿触发方式。通过TCON 中的 IT0 、IT1 来选择。 INT=0 :低电平触发方式,CPU 在每个机器周期的S5P2 采样 INT0(P3.2) 的电平,采样到低电平,则认为有中断请求,随即置位IE0。采样到高电平时认为无中断请求或者中断请求已经撤销,随即对IE0 清 0。IT0=1 :选择 INT0 为下降沿触发方式,CPU 在每个机器周期的S5P2 采样 INT0 的电平,若相继采样两次,一次采到高电平,下一次采到低电平(即检测到一个下降沿),则置 IE0=1 ,表示外部中断0 正在向 CPU 请求中断,直到该中断被CPU 响应时 IE0 由硬件自动清0。IT1 功能与 IT0 相同。对于下降沿触发方式,中断请求信号的高低电平至少各保持一个机器周期;对于低电平触发方式,INT0/INT1引脚上请求中断的低电平应该保持到CPU 响应中断为止。4.中断请求有效并开中断时,能否保证立即响应该中断?为什么?答:不一定可以。51 单片机响应中断的条件有:没有同级或者高级中断正在服务,现行指令已经执行完毕,若执行指令为RETI或是读 /写 IE或者 IP 指令时,则该指令的下一条指令也执行完毕。
要求80C51五个中断源按下列优先顺序排列,判是否有可能实现?若能,应如何设置中断源的中断优先级别?若不能,试述理由。 ①T0、T1、INT0、INT1、串行口 ②串行口、INT0、T0、INT1、T1 ③INT0、T1、INT1、T0、串行口 ④串行口、T0、INT0、INT1、T1 ⑤INT0、INT1、T0、串行口、T1
MCS-51的中断系统有几个中断源?几个中断优先级?中断优先级是如何控制的?在出现同级中断申请时,CPU按什么顺序响应(按由高级到低级的顺序写出各个中断源)?
若8051的中断源都处于同一优先级,则下列的中断源同时申请中断时,CPU优先响应的中断源为()
MCS-51的中断源有外部中断0、定时器T0、外部中断1、()、串行口。
在五个中断源中,可通过软件确定各中断源中断级别的高或低,但在同一级别中,按硬件排队的优先级别最高的是()中断。