MCS-51的中断系统

发布者:创新火花最新更新时间:2016-08-13 来源: eefocus关键字:MCS-51  中断系统 手机看文章 扫描二维码
随时随地手机看文章
能够实现中断处理功能的部件称为中断系统;产生中断的请求源称为中断请求源。
中断源向CPU提出的处理请求,称为中断请求(或中断申请)。
进入中断→保护现场→中断处理恢复现场→中断返回 
中断方式优点:大大地提高了CPU的工作效率。
5.2  MCS-51中断系统的结构
有5个中断请求源,两个中断优先级,可两级嵌套。
中断系统结构示意图如下图所示。
MCS-51的中断系统 - ttxxtt - ttxxtt
5.3  中断请求源
五个中断请求源 :
(1)INT0*—外部中断请求0,由引脚INT0*输入,中断请求标志为IE0。
(2)INT1*—外部中断请求1,由引脚INT1*输入,中断请求标志为IE1。
(3)定时器/计数器T0溢出中断请求,中断请求标志为TF0。
(4)定时器/计数器T1溢出中断请求,中断请求标志为TF1。
(5)串行口中断请求,中断请求标志为TI或RI。
    由特殊功能寄存器TCON和SCON的相应位锁存。
 
 
TCON为定时器/计数器的控制寄存器,字节地址为88H。 
包含:
(1)T0和T1的溢出中断请求标志位TF1和TF0
(2)外部中断请求标志位IE1与IE0。格式如下所示:
MCS-51的中断系统 - ttxxtt - ttxxtt
各标志位的功能:
(1)IT0—选择外部中断请求0为跳沿触发方式还是电平触发方式:
    IT0=0,为电平触发方式。
IT0=1,为跳沿触发方式。
  可由软件置“1”或清“0”。
(2)IE0—外部中断请求0的中断请求标志位。
   IE0=0,无中断请求。
   IE0=1,外部中断0有中断请求。当CPU响应该中断,转向中断服务程序时,由硬件清“0”IE0。
(3)IT1—外部中断请求1为跳沿触发方式还是电平触发方式,意义与IT0类似。
(4)IE1—外部中断请求1的中断请求标志位,意义与IE0类似。
5)TF0—T0溢出中断请求标志位。
T0计数后,溢出时,由硬件置“1”TF0,向CPU申请中断,CPU响应TF0中断时,硬件自动清“0”TF0,TF0也可由软件清0。
(6)TF1—T1的溢出中断请求标志位,功能和TF0类似。
 TR1、TR0 2个位与中断无关。 
 
当MCS-51复位后,TCON被清0,则CPU关中断,所有中断请求被禁止。
SCON为串行口控制寄存器,字节地址为98H。串行口的发送中断和接收中断的中断请求标志TI和RI,格式如下:
 
 
 
 MCS-51的中断系统 - ttxxtt - ttxxtt
各标志位的功能:
 (1)TI—发送中断请求标志位。串口每发送完一帧串行数据后,硬件自动置“1”TI。必须在中断服务程序中用软件对TI标志清“0”。
2)RI—接收中断请求标志位。串口接收完一个数据帧,硬件自动置“1”RI标志。必须在中断服务程序中用软件对RI标志清“0”。
5.4  中断控制
5.4.1 中断允许寄存器IE
CPU对中断源的开放或屏蔽,由片内的中断允许寄存器IE控制。字节地址为A8H,可位寻址。格式如下:
MCS-51的中断系统 - ttxxtt - ttxxtt
 IE对中断的开放和关闭为两级控制
总的开关中断控制位EA(IE.7位):
  EA=0,所有中断请求被屏蔽。
  EA=1,CPU开放中断,但五个中断源的中断请求是否允许,还要由IE中的5个中断请求允许控制位决定。
IE中各位的功能如下:
(1)EA:中断允许总控制位
0:CPU屏蔽所有的中断请求(CPU关中断);
 1:CPU开放所有中断(CPU开中断)。
(2)ES:串行口中断允许位
0:禁止串行口中断;
 1:允许串行口中断。   
(3)ET1:定时器/计数器T1的溢出中断允许位
0:禁止T1溢出中断;
1:允许T1溢出中断。
(4)EX1:外部中断1中断允许位
0:禁止外部中断1中断;
1:允许外部中断1中断。
(5)ET0:定时器/计数器T0的溢出中断允许位
0:禁止T0溢出中断;
1:允许T0溢出中断。
(6)EX0:外部中断0中断允许位。
0:禁止外部中断0中断;
1:允许外部中断0中断。
MCS-51复位后,IE清0,所有中断请求被禁止。
若使某一个中断源被允许中断,除了IE相应的位的被置“1” ,还必须使EA位=1。
若CPU正在执行高优先级的中断,则不能被任何中断源所中断。
中断优先级寄存器IP,其字节地址为B8H。
MCS-51的中断系统 - ttxxtt - ttxxtt
IP各个位的含义:
(1)PS——串行口中断优先级控制位
1:高优先级中断;
 0:低优先级中断。

关键字:MCS-51  中断系统 引用地址:MCS-51的中断系统

上一篇:c51 interrupt 中断号写法
下一篇:8951串口中断

推荐阅读最新更新时间:2024-03-16 15:04

MCS-96系列单片机中断优先级的控制方法
1、前 言   在许多文献[1,2,3]中,虽指出了MCS—96系列单片机的中断优先级可用软件的方法加以改变这一事实,但并未对此作必要深入的阐述。事实上,该系列单片机的中断系统颇具特色,其中断优先级的控制极具灵活性,用户可采用软、硬件结合的方法随心所欲地安排各类中断源的优先级。 2、MCS—96系列单片机中断   优先级结构的特点   MCS—96系列单片机中断系统的硬件优先级排队电路为各类中断源规定了优先级顺序。这种中断优先级的结构有如下特点。   (1)硬件排队电路并不能保证各中断源的优先级。这是因为在某个中断源的中断请求被CPU响应后,INT-PENDING 中的相应位即被清零,这意味着正在被服务的中断源不能参加有新的中断
[单片机]
详细分析MCS-51单片机内部数据存储器RAM
8051单片机的内部RAM共有256个单元,通常把这256个单元按其功能划分为两部分:低128单元(单元地址00H~7FH)和高128单元(单元地址80H~FFH)。如图所示为低128单元的配置图。 寄存器区 8051共有4组寄存器,每组8个寄存单元(各为8),各组都以R0~R7作寄存单元编号。寄存器常用于存放操作数中间结果等。由于它们的功能及使用不作预先规定,因此称之为通用寄存器,有时也叫工作寄存器。4组通用寄存器占据内部RAM的00H~1FH单元地址。 在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器组。到底是哪一组,由程序状态字寄存器PSW中RS1、RS0位的状态组合来决定。
[单片机]
详细分析<font color='red'>MCS-51</font>单片机内部数据存储器RAM
基于MCS-51单片机I2C总线接口电路的设计
I2C总线是由串行数据线SDA和串行时钟线SCL构成的,可发送和接收数据。它允许若干兼容器件共享总线。所有挂接在I2C总线上的器件和接口电路都应具有I2C总线接口,且所有的SDA/SCL同名端相连。总线上所有器件要依靠SDA发送的地址信号寻址,不需要片选线。 I2C总线最主要的优点是其简单性和有效性。占用的空间小,降低了互连成本。总线的长度可高达7.6m,并且能够以10kbps的最大传输速率支持40个组件。支持多主控器件,其中,任何能够进行发送和接收的设备都可以成为主器件。主控能够控制信号的传输和时钟频率。当然,在某时刻只能有一个主控器件。 在单片机控制系统中,广泛使用I2C器件。如果单片机自带I2C总线接口,则所有I2C
[单片机]
基于<font color='red'>MCS-51</font>单片机I2C总线接口电路的设计
MCS-51单片机指令系统总结
MCS-51单片机指令系统共111条指令,按功能分为五类: (1)数据传送类 28 (2)算术操作类 24 (3)逻辑运算类 25 (4)控制转移类 17 (5)位操作类 17 (1)数据传送类 28 MOV A,Rn ;寄存器传送到累加器 MOV A,direct ;直接地址传送到累加器 MOV A,@Ri ;累加器传送到外部RAM(8 地址) MOV A,#data ;立即数传送到累加器 MOV Rn,A ;累加器传送到寄存器 MOV Rn,direct ;直接地址传送到寄存器 MOV Rn,#data ;累加器传送到直接地址 MOV direct,Rn ;寄存器传送到直接地址 MOV direct,direct ;直接地
[单片机]
51单片机中断系统结构
中断请求源: (1)外部中断请求源:即外中断0和1,经由外部管脚引入的,在单片机上有两个管脚,名称为INT0、INT1,也就是P3.2、P3.3这两个管脚。在内部的TCON中有四位是与外中断有关的。IT0:INT0触发方式控制位,可由软件进和置位和复位,IT0=0,INT0为低电平触发方式,IT0=1,INT0为负跳变触发方式。这两种方式的差异将在以后再谈。IE0:INT0中断请求标志位。当有外部的中断请求时,这位就会置1(这由硬件来完成),在CPU响应中断后,由硬件将IE0清0。IT1、IE1的用途和IT0、IE0相同。(2)内部中断请求源TF0:定时器T0的溢出中断标记,当T0计数产生溢出时,由硬件置位TF0。当CPU响应中
[单片机]
51单片机<font color='red'>中断系统</font>结构
ARM+Linux中断系统详细分析
ULK第四章里明确讲到 Linux实现了一种没有优先级的中断模型 ,并且 Linux中断和异常都支持嵌套 。这个我不太理解了,这两种说法都与我以前的理解刚好相反,核对了原书,翻译没有错。 Linux中断系统到底是否支持优先级,可否嵌套,中断号又是怎么来确定的,中断产生时又是如何一步步执行到中断处理函数的。为了彻底搞懂Linux中断系统,我决定从最原始材料出发,一探究竟。(s3c2440+linux2.6.21) 先来看看ARM的硬件执行流程 异常是ARM处理器模式分类,ARM有七种运行模式USR,SYS,SVC,IRQ,FIQ,UND,ABT 五种异常模式:SVC,IRQ,FIQ,UND,ABT 中断模式是ARM异常模式
[单片机]
ARM+Linux<font color='red'>中断系统</font>详细分析
51单片机C语言学习笔记1:MCS-51系统结构
51单片机管脚图 51单片机系统结构 传统的51单片机是DIP40(双列直插40管脚)的,也有PLCC44的,多用于板子要求紧凑的场合。如果想占地较少,可以用2051,管脚只有20。当然增强型51芯片封装多样,有TQFP48等等小体积的,兼容51指令集,并且在传统51的功能上有了很多的提高,如AD、USB等等,这也是51单片机还能胜任现在多种应用的原因。还是让我们看看传统51单片机的系统结构。 ●8位bit CPU。 ●片内时钟振荡器。 ●4KB(4K字节)程序存储器ROM。 ●片内有128B(128字节)数据存储器RAM。 ●可
[单片机]
单片机(AT89C51)中断系统详解和中断系统应用实验
什么叫做单片机的中断? CPU暂时中止其正在执行的程序,转去执行请求中断的那个外设或事件的服务程序,等处理完毕后再返回执行原来中止的程序, 叫做中断。 为什么要设置中断? ⑴ 提高CPU工作效率 ⑵ 具有实时处理功能 ⑶ 具有故障处理功能 ⑷ 实现分时操作 中断源 中断源是指能发出中断请求,引起中断的装置或事件。 80C51单片机的中断源共有5个,其中2个为外部中断源,3个为内部中断源: ⑴ INT0:外部中断0,中断请求信号由P3.2输入。 ⑵ INT1:外部中断1,中断请求信号由P3.3输入。 ⑶ T0:定时/计数器0溢出中断,对外部脉冲计数由P3.4输入。 ⑷ T1:定时/计数器1
[单片机]
单片机(AT89C51)<font color='red'>中断系统</font>详解和<font color='red'>中断系统</font>应用实验
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved