❶ 51单片机2个外中断的应用,这个怎么设计
中断的允许和禁止就是中断的开放和关闭,中断允许就是开放中断,中断的禁止就是关闭中断。从以上说明我们可看出,MCS-51的中断允许是通过两级控制的,以EA位作为总中断控制位,以各中断控制位为分控制位。当总中断位为禁止状态时,不管分控制位是允许或禁止整个中断都是禁止的。只有当EA=1(允许)时,才能由各分控制位设置各自的中断允许与禁止。MCS-51单片机复位后,IE=00H,因此中断处于禁止状态。
值得一提的是:单片机中断响应后不会自动关闭中断,因此在转入中断服务程序后,应由软件指令禁止中断。
中断优先级控制寄存器 (IP)
MCS-51的中断优先级控制比较简单,只设置了高、低两个级别的有限级,各中断源的优先级别由优先寄存器(IP)进行控制。
·PX0——外中断0(INT0)优先级控制位。
·PT0——定时中断0(T0)优先级控制位。
·PX1——外中断1(INT1)优先级控制位。
·PT1——定时中断1(T1)优先级控制位。
·PS ——串行中断(ES)优先级控制位。
控制位=0,优先级为低。控制位=1,优先级为高。
中断优先级是为了中断嵌套服务的,控制原则为:
(1) 低优先级中断不能打断高优先级的中断服务,而高优先级的中断服务可以打断低优先级的中断服务。
(2) 同级的中断已经响应,其他中断将被禁止。
(3) 如果同级的多个中断源同时出现,CPU将按查询次序确定哪个中断被响应,次序为:外中断0→定时中断0→外中断1→定时中断1→串行中断。
中断控制寄存器的状态设置
在应用中,我们可以通过相应的控制寄存器来使用中断系统,因此从使用的角度上看,这些控制寄存器是面向用户的。这些控制寄存器既可以进行字节寻址,也可以进行位寻址,也就是对位状态的寻址既可以使用字节操作指令也可以使用位操作指令,例如:
MOV IE,#81H
如使用位操作指令,也可写为:
SETB EA
SETB EX0
对于一般的外中断程序,我们可以这样安排:
ORG 0000H ;主程序入口
START: AJMP MAIN
ORG 0003H ;外中断程序入口
AJMP INT00
MAIN: MOV IE,#81H ;允许总中断和外中断
…… ;主程序
……
……
INT00: …… ;外中断服务程序
……
RETI ;中断返回
❷ 51单片机中什么是中断其作用是什么怎么用
中断就是中途打断。
通俗解释:
你在看影碟,有人敲门(中断源),中断了你看影碟,观看暂停。处理敲门的事宜(中断目的),处理完成(中断结束),继续看影碟(继续执行原来的任务)。
再比如:你在看电视,水开了(中断源),把水灌到暖瓶里(中断目的),再烧上一壶(继续开中断),回去看电视。水又开了。。。。。。。。(循环中断)
以51单片机16位定时计数器0(T0)来讲,
计数是T1是一个能盛65536(十六位时)滴水的水盆,在水龙头下水一滴滴地滴入盆中。如果盆是空的那水在滴完65536滴水时盆子的水就满了再滴一滴的时候就溢出了。这时就会产生中断。
如果盆里面已经装入65500滴水(即初装值),那么只需要36滴水后就溢出了。
每一个水滴计数时即一个脉冲(高低电平变换一次)。
定时时每一个水滴即一个机器周期,水滴的速度即机器周期,等于12个振荡周期(晶振的振荡频率除以12),直接影响到溢出的时间。
❸ 单片机中断如何使用
单片机的中断使用一般遵循如下步骤:
1、按中断号(C语言)或者中断入口地址(汇编)别写中断服务程序。如果是编写汇编中断服务程序,如果中断程序中用到了寄存器或者有可能影响程序状态字的指令,应注意现场保护(C语言会自动保护)。对不能硬件清除中断标志的中断响应,退出中断前要软件清除中断标志。对复合中断(如串口收发中断)服务程序,要判断中断具体来源执行对应程序。
2、使能相应的中断。
3、开启总中断。