AVR中断详解

发布者:数字驿站最新更新时间:2015-11-11 来源: eefocus关键字:AVR  中断详解  电信号 手机看文章 扫描二维码
随时随地手机看文章
一、中断信号往往是电信号的某种变化形式,如

脉冲的上升沿或下降沿
高电平或低电平
电平变化
二、中断向量
中断请求被cpu检测到之后,如果中断控制系统允许,cpu会自动转移,执行一个固定的程序空间地址的指令。
这个固定地址叫做中断入口地址,也叫中断向量。而这个地址是有单片机的硬件来决定的。
一般这个地址不放置具体的程序,只放置一条跳转指令,转向真正的中断服务程序。
三、AVR不支持软件改变中断优先级,即其优先级是固定的。
四、中断源分为三类
1.非屏蔽中断,如reset中断,无法屏蔽
2.屏蔽中断,大部分中断都是可屏蔽的
3.软件中断,AVR不支持,好像ARM里面有,可以作为操作系统的中断调用。
五、中断响应条件
响应A中断 = 全局中断允许标志 AND 中断A允许标志 AND 中断A标志
全局中断允许标志对于AVR就是其标志寄存器SREG的I位,SREG.7,gcc中打开和关闭的方法为sei()和cli()
中断允许标志,一般来说每个中断都会有单独的允许标志位,放置在某个相关的寄存器中,通过单独设置那一位可以打开或关闭相应的中断。
中断标志,一般说来这个标志都是硬件触发的,就是一旦满足那个条件,这个标志自动为1,不需要手动设置。
六、中断向量区大小 = 中断源个数 x 每个中断向量所占的字数
七、中断标志位一般会在cpu响应中断后自动清除,或在中断服务程序中通过读写专门的寄存器而自动清除。
当然也可以对其进行软件清除,清除方法是对其写1(这点比较怪)
八、中断标志会一直保持,如果中断被禁止或者是cpu不能马上响应的话。这是称作“挂起”,一旦cpu可以响应了,则马上按优先级处理中断。
九、个别中断不带中断标志,比如配置为低电平触发的外部中断。只要满足条件就会向cpu一直发送中断申请。
这里就会出现这样的问题:
1.cpu暂时没响应中断,低电平没有了,这样就少了一次服务
2.cpu响应了,响应完事,低电平还在,又多服务了一次
所以设计的时候要注意
一般这种低电平触发中断方式用于唤醒处于休眠模式的cpu,可参考具体方案。
十、AVR响应中断时会将全局中断允许位关掉,不响应其它中断,所以也就不允许中断的嵌套。
当然可以在中断服务程序中,将其开启,但是这样做是非常危险的,不提倡。
十一、中断响应的过程如下
1.清零全局中断
2.将具体被响应的中断标志位清零
3.中断断点地址压入堆栈,同时SP减2
4.自动将中断向量地址压入PC,强制执行。
以上均由硬件自动完成,软件需要做的事情如下:
1.中断入口处指令:rjmp reset
2.中断服务程序
3.返回指令 reti
十二、
非常要注意的是中断只保存和恢复了断点的PC值,对其它的寄存器均没有保护,所以如果在中断服务程序中要是改变了某些寄存器的值的话就容易出现问题。
所以,中断服务程序要尽量短,不做多余的操作,并且一旦对sreg有破坏的话,一定要在先将其压入堆栈。
十三、技巧
在使能一个中断允许位之前,最好将改中断的中断标志位清除,然后马上使能允许位。
这样可以避免一些不必要的错误,如果之前改标志为1的话,就会产生一个错误的中断。
再说一次,清除标志位的方法是对其写1

GCC的中断程序写法,这里不说了,参考相关书籍

AVR-MEGA16的外部中断
其它的cpu也大同小异
中断方式的设置在MCUCR和MCUCSR两个寄存器里,找到对应的INT的两位ISC1和ISC0,具体参考datasheet
中断允许在GICR寄存器里
中断标志位在GIFR寄存器中

书中由一个利用外部中断实现系统断电保护的电路实例,还不错,以后用到的时候可以找一下。

 

 

关键字:AVR  中断详解  电信号 引用地址:AVR中断详解

上一篇:轻松DIY一个家庭智能门窗控制系统吧
下一篇: AVR main.c/基于状态机的按键

推荐阅读最新更新时间:2024-03-16 14:38

AVR熔丝位配置详解
AVR通过熔丝来控制芯片内部的一些功能,比如JTAG,时钟的使用,掉电检测电压,是否允许调试等。 AVR Studio 中 STK500 处理熔丝位有巨大的优势:它是以功能组合让用户配置。 这种方式与小马(PnoyProg2000,SL-ISP)相比,具有以下的优势(优势是如此明显,可以用 巨大优势 来形容): 有效避免因不熟悉熔丝位让芯片锁死 (这是初学者的恶梦), 笔者曾经锁死过三片Atmega16。 不需要靠记忆与查文档,就能配置熔丝位(这也是初学者的恶梦) 动手之前:请你一定弄清楚了,你这样改会有什么后果,除非你有很多钱不在乎多锁死几个芯片。备份你的熔丝位状态,在点击Program之前再次检查熔丝位设置正确与否,不
[单片机]
<font color='red'>AVR</font>熔丝位配置<font color='red'>详解</font>
AVR ISP并口下载线的制作
网上收集的最简化的设计图。下载线不宜过长,否则易出错。 并口ISP下载线成本低,制作容易,对串口资源紧张的用户不失一个好的选择,但是速度比较慢。 ISP相对于JTAG来说,不如JTAG方便,不可以在线调试。
[单片机]
<font color='red'>AVR</font> ISP并口下载线的制作
基于CAN总线的电梯召唤显示板设计
  随着现代社会的发展,科学技术的进步,出现了众多高层建筑和智能建筑。电梯,作为高层建筑内部一种重要的交通工具,其应用规模日益扩大。而作为电梯系统中必不可少的一部分,电梯召唤显示板(简称电梯外呼板)的应用也随之剧增。   电梯外呼板应用于每层楼的电梯门外,供乘客及电梯维保人员使用。电梯外呼板将乘客及维保人员的需求信息通过CAN总线传达给电梯主板,电梯主板接收信息并执行相应的操作。同时,电梯主板将电梯的实时运行信息通过CAN总线传递给电梯外呼板,通过外呼板LED显示出来,供乘客参阅。   AVR单片机具有高可靠性、功能强、高速度、低功耗和低价位的特点,本系统选用了高档ATmega列AVR单片机ATmegal6。它具有先进的RI-
[工业控制]
谨防其他无线电信号干扰高铁正常通信
GSM-R(GSM for Railway)是基于GSM Phas2+的数字式铁路指挥调度系统,伴随着越来越多的高速铁路建成和使用,GSM-R网络也更多地应用于人口密集地区。GSM-R所使用的频段和中国移动使用的上、下行频段邻近。近日,河南省许昌市就出现了某单位设置的移动终端监控设备干扰GSM-R频段的情况,导致高铁运行区段通信质量下降,甚至通信中断。许昌无线电管理局迅速出击,排查干扰,及时消除了这一安全隐患。 11月19日下午,许昌无线电管理局收到河南省工信厅无线电管理局《关于协查郑武高铁频点干扰的通知》,称郑州铁路局无委会办公室申诉,郑武高铁许昌东站南的高铁通信信号受到干扰,致使高速列车在该段降速或临时停车,严重影响高铁的行
[网络通信]
AVR单片机直接控制其步进电机
用mege8L的PB0-PB3连接步进电机的四个接线端!该步进电机的转矩很小,强烈建议不要将其从底座上拆下!!!否则没有轴承支撑,摩擦力太大,转不起来! #include iom8v.h #define uchar unsigned char #define uint unsigned int uchar np; const uchar motortb ={0x11,0x99,0x88,0xcc,0x44,0x66,0x22,0x33};//步进电机运行数据表 void delay(uchar t)// 每步延时的子程序 { uchar i; uint j; for (i=0;i t;i++) for (j=0;j 900
[单片机]
avr单片机的TWI两线串行接口
ATMEL的TWI 和 PHILIPS的IIC 基本上应该是算一个东西,但是他们在名义上是不同的,这样谁都不用支付给对方使用费。他们的协议是一样的,所有我们作为使用者基本可以简单的看成 TWI就是IIC 。 废话说完,开始正题。这次是关于在ATMega16 平台下的硬件IIC(还不太习惯说TWI)的使用。在ATMega16的Datasheet里我们可以看到很强大的功能,主从设置很多。本文只说一种最常用的方式,那就是 ATMega16 硬件TWI 的 扫描发送 和 扫描读取 。 首先要明确TWI 发送和接受的流程: 发送: 1,设定数据传输波特率 2,发送START信号,等待应答 =
[单片机]
什么是频谱?为何要对它进行分析?
我们已经习惯于用时间作为参照,来记录某时刻发生的事件。这种方法当然也适用于电信号。于是可以用示波器来观察某个电信号(或通过适当传感器能转换成电压的其他信号)的瞬时值随时间的变化,也就是在时域中用示波器观察信号的波形。 然而,傅立叶理论 (Jean Baptiste Joseph Fourier,1768-1830。他提出任何周期信号都可以看做是一系列正弦波和余弦波的叠加。 )告诉我们,时域中的任何电信号都可以由一个或多个具有适当频率、幅度和相位的正弦波叠加而成。换句话说,任何时域信号都可以变换成相应的频域信号,通过频域测量可以得到信号在某个特定频率上的能量值。通过适当的滤波,我们能将图 1-1 中的波形分解成若干个独立的正弦波
[测试测量]
什么是频谱?为何要对它进行分析?
基于AVR单片机的中频电源测试系统
1 引言 电参数的测量和监控是 电力 系统的重要组成部分,本文从测试系统的工程学实际出发,完成了对中频 电源 系统的 电压 、 电流 、频率、功率因数、有功功率等参数的测量和实时监控,较好的实现了中频电源测试系统的功能和工程要求。 AVR 单片机 相对传统的 51系列单片机,具有更高的集成度和更强的功能,与 C语言有很好的兼容性,RISC指令架构使其运行速度可达 1MIPS/MHZ。随着其越来越广泛的应用,必将取代 51系列成为单片机的主流。其主要功能包括看门狗、FLASH程序存储器、 E2PROM、 A/D转换器、定时器、计数器、USART接口等多种功能,这使得本测试系统的硬件实现变得简单,可靠。
[电源管理]
基于<font color='red'>AVR</font>单片机的中频电源测试系统
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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