中断系统以及外部中断

发布者:BlissfulMoon最新更新时间:2024-08-02 来源: cnblogs关键字:中断系统  外部中断  内核  CC2530 手机看文章 扫描二维码
随时随地手机看文章

一、中断相关的基础概念

        内核与外设之间的主要交互方式有两种:轮询和中断。 轮询的方式貌似公平,但实际工作效率很低,且不能及时响应紧急事件;中断系统使得内核具备了应对突发事件的能力。

        在执行CPU当前程序时,由于系统中出现了某种急需处理的情况,CPU暂停正在执行的程序,转而去执行另外一段特殊程序来处理出现的紧急事务,处理结束后,CPU自动返回到原来暂停的程序中去继续执行。 这种程序在执行过程中由于外界的原因而被中间打断的情况,称为中断。

        两个重要的概念:

        <1> 中断服务函数: 内核响应中断后执行的相应处理程序。

        <2> 中断向量:中断服务程序的入口地址。每个中断源都对应一个固定的入口地址。当内核响应中断请求时,就会暂停当前的程序执行,然后跳转到该入口地址执行代码

 

二、CC2530的中断系统

        CC2530具有18个中断源,每个中断源都由各自的一系列特殊功能寄存器来进行控制。可以编程设置相关特殊功能寄存器,设置18个中断源的优先级以及使能中断申请响应等。我们常用的中断源有下面几个:

 

三、CC2530的中断处理函数编写方法

        中断服务函数与一般自定义函数不同,有特定的书写格式:

<1> 在每一个中断服务函数之前,都要加上一句起始语句:

        #pragma vector = <中断向量>

        <中断向量>表示接下来要写的中断服务函数是为那个中断源服务的,该 语句有两种写法:

        #pragma  vector = 0x7B    或者    #pragma  vector = P1INT_VECTOR

        前者是中断向量的入口地址,后者是头文件“ioCC2530.h”中的宏定义。

<2> _ _interrupt关键字表示该函数是一个中断服务函数,<函数名称>可以 自定义,函数体不能带有参数,也不能有返回值。

 

四、CC2530的外部中断

        CC2530的P0、P1和P2端口中的每个引脚都具有外部中断输入功能,要使某些引脚具有外部中断功能,需要对IENx寄存器、PxIEN寄存器和PICTL寄存器进行适当的设置。 除了各个中断源都有自己的中断使能开关之外,中断系统还有一个总开关,可以同“EA = 1;”来打开总中断。

        P0、P1和P2端口分别使用P0IF、P1IF和P2IF作为中断标志位,任何一个端口组上的引脚产生外部中断时,都会将对应端口组的中断标志自动置位。注意,外部中断标志必须在中断服务函数中手工清除,否则CPU会反复进入中断。 端口状态标志寄存器P0IFG、P1IGF和P2IFG,分别对应3个端口中各引脚的中断触发状态,当某引脚发生外部中断触发时,对应的标志位会自动置位,这个标志同样需要手工清除。


关键字:中断系统  外部中断  内核  CC2530 引用地址:中断系统以及外部中断

上一篇:时钟控制命令
下一篇:proteus仿真51流水灯和点阵(心形)

推荐阅读最新更新时间:2026-03-24 13:24

89C51中断系统介绍(外部中断
0、89C51中断系统分类: 分为三种: 1)、外部中断 2)、定时器中断 3)、串口中断 1、中断的概念 中断触发后,CPU会从主函数调到中断函数中。 外部中断1: 低电平触发:P3.2 是0 下降沿触发:p3.2电平:1变为0则触发。 外部中断2同1。 2、中断允许控制 EA是总开关;EX0、ET0、EX1、ET1、ES为分开关。 3、中断请求标志 4、中断优先级 2个优先级,故可实现2级嵌套。 INT0和INT1两个外部中断,T0、T1两个定时器中断,RX和TX为一个串口中断。 硬件中断优先级最高,串口优先级最低。 5、中断响应条件 6、中断
[单片机]
89C51<font color='red'>中断系统</font>介绍(<font color='red'>外部中断</font>)
S3C2440外部中断系统详解
S3C2440A中的中断控制器接受来自60个中断源的请求。提供这些中断源的是内部外设,如DMA控制器、UART、IIC等等。在这些中断源中,UARTn、AC97和EINTn中断对于中断控制器而言是“或”关系。任意一个中断发生都会触发总中断 当从内部外设和外部中断请求引脚收到多个中断请求时,中断控制器在仲裁步骤后请求ARM920T内核的FIQ或IRQ。 仲裁步骤由硬件优先级逻辑决定并且写入结果到帮助用户通告是各种中断源中的哪个中断发生了的中断挂起寄存器中。 中断源有两种,一种是直接中断源,比如触摸屏中断,还有一种是带子中断的中断,类似于串口带有子终端入RXTX中断,通过SUBMASK也就是中断允许之后挂起到系统,系统根据用户设置
[单片机]
S3C2440<font color='red'>外部中断系统</font>详解
浅谈51单片机中断系统
在讨论这个问题之前你应该了解一下,为什么单片机需要这样一个功能,它的实际意义是什么?这会在我们理解中断时起到些许的帮助。 介绍一个简单的例子:你在吃饭-- 突然肚子疼-- 先去上厕所-- 回来继续吃。很显然,你的主线其实是吃饭,但是这个时候被“肚子疼”打断掉了,你需要先停下“吃饭”这个任务,先跑去执行“上厕所”这个任务(也就是中断任务),完了再回来继续吃。当然你也可以边上厕所边吃饭,这恐怕就是传说中的多线程了吧。 言归正传, 通过这个简单的例子你会发现,一定会有这样一种情况存在:当你在做某件事A的时候,来了一个更为重要的事B(或者说更紧急),导致你不得不停下A先去做B,完了之后再继续A。那对于单片机
[单片机]
第7章 中断系统
一、中断概述 中断技术是在微机中广泛使用的一种资源共享技术。 中断 中断是指当CPU在正常执行程序时,由于外部或内部事件强迫CPU停止当前执行的程序,转去为事件服务(中断服务),服务完毕,又能自动返回到被中断的程序中继续执行。 中断功能 实现CPU与外设的速度匹配和并行工作; 实现实时控制; 实现故障检测和自动处理。 中断控制 设置中断源(引起中断的事件),确定它们提出中断请求的方式; 确定中断优先级和中断的嵌套方式; 中断现场的保护与恢复。 中断嵌套示意图 中断处理过程 中断处理过程如下: 中断源提出申请,并建立相应的中断标志(由硬件置位标志位); CPU结束当前指令,响应该中断申请,同时把主程序断点处地址(
[单片机]
【51单片机】中断系统
中断源及其优先级 中断的相关寄存器 单片机复位后,IP初值默认为0。 中断的撤除 对于定时器的中断标志位清零,在中断方式下,由硬件清零;在查询方式下,由软件清理。 对于电平触发的外部中断,一般采用软硬结合的方式撤销中断。因为该方式的中断标志位是硬件自动清零,但中断请求信号的低电平可能继续存在着,所以还需要在中断响应后将中断请求信号输入引脚从低电平变为高电平(例如下面的电路)。所以外部中断常用下降沿触发方式。 图中用D触发器锁存外来的中断请求低电平,并通过D触发器的输出端Q接到INT0*(或 INT1* )。所以,增加的D触发器不影响中断请求。 中断响应后,利用D触发器的SD端接AT89S5
[单片机]
【51单片机】<font color='red'>中断系统</font>
实验五--中断系统
一。平台   系统:ubuntu12.04   开发板:jz2440   编译器:gcc 二。中断简略   大概除了FPGA这种并行的cpu才不需要中断,像51,AVR,arm这类串行的芯片中断是他们不被淘汰的利器。没有中断,他们不可能得到这么广泛的应用。   arm中断和51的类似,无非就是设置相关寄存器、中断开关,中断源,中断分辨之类的东西;但是注意,arm的中断只是7个模式下的一个,此外,中断还有普通中断和快速中断之分。   而快速中断不需要进行中断的分辨,因为每次最多只有一个被设置为快速中断。    这里看中断源分为两部分。一个是with sub-register,另一个是without,有何区别?试想下,串口会有几
[单片机]
实验五--<font color='red'>中断系统</font>
单片机和RTOS的中断系统也就这么回事
摘要:操作系统实际上我们接触的很多,比如说windows,安卓、IOS、linux都是一种操作系统。单片机也有它自己的操作系统,叫做实时操作系统。那么这种实时操作系统和我们用的这些系统有什么区别呢? 我们经常使用的这些实际上是非实时的操作系统。为什么说它是非实时的,因为它的内核实际上是对任务进行时间片轮转的调度方式。比如说有3个任务,分别是任务A,任务B和任务C。那么在时间片轮转的调度机制里,它会让任务A运行一断时间,然后切换到任务B,然后切换到任务C,这样子不断的轮转。 两个任务间通过 Systick 轮转调度的简单模式 那么这样有一个什么缺点呢?如果有一台自动驾驶的汽车里面任务C,是用来检测障碍物和躲避障碍物的,如果任
[单片机]
一文详解MCS-51单片机的中断系统
MCS-51中断系统:5个中断源(两个外部中断, 两个定时器, 一个串口),2个优先级 中断相关概念 中断:当CPU正在处理某件事情时,单片机外部或内部发生的某一紧急事件请求CPU立即去处理,于是,CPU暂时中止当前的工作,转去处理这个紧急事件,待处理完毕后,再回到原来被中止的地方,继续原来的工作。 中断过程 中断发生:CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理; 中断响应和中断服务:CPU暂时中断当前的工作,转去处理事件B(B的优先级要高于A); 中断返回:待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A ; 中断源(中断请求源):能够向CPU发出中断申请的部件。 中断系统结
[单片机]
一文详解MCS-51单片机的<font color='red'>中断系统</font>
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved