预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共26页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

1、AVR单片机中断总结 AVR单片机只是ATMEL公司推出的一款基于RISC指令构架的高性能、低功耗单片机。 ATmega16单片机具有21个中断源,如下表所示。每一个中断源都有一个独立的中断向量作为中断服务程序的入口地址,而且所有的中断源都有自己独立的使能位。如果全局中断I和相应的中断位都置位,则在中断标志位置位时将执行中断服务程序。 向量号程序地址中断源中断定义10x0000RESET外部引脚电平产生复位、上电位复位、掉电检测复位,看门狗复位以及JTAG复位20x0002INT0外部中断请求030x0004INT1外部中断请求140x0006T/C2_COMPT/C2比较匹配中断50x0008T/C2_OVFT/C2溢出中断60x000AT/C1_CAPT/C1捕获中断70x000CT/C1_COMPAT/C1比较匹配中断A80x000ET/C1_COMPAT/C1比较匹配中断B90x0010T/C1_OVFT/C1溢出中断100x0012T/C0_OVFT/C0溢出中断110x0014SPI_STCSPI串行传输中断120x0016USART_RXCUSART接受结束中断130x0018USART_UDREUSART发送数据寄存器中断140x001AUSART_TXCUSART发送结束断150x001CADCADC转换结束中断160x001EEE_RDYEEPROM就绪中断170x0020ANA_COMP模拟比较器中断180x0022TWITWI串行接口中断190x0024INT2外部中断2请求200x0026T/C0_COMPT/C1比较匹配中断210x0028SPM_RDY保存程序存储器内容就绪中断AVR单片机有3个外部中断,由引脚触发。PB2(INT2),PD2(INT0)、PD3(INT1).。需要注意:如果允许外部中断的话,即使是INT0,INT1、INT2这三个引脚都设为输出方式,外部中断也会触发。 INT0、INT1外部中断可以选择的触发方式有上升沿触发、下降沿触发以及低电平触发;INT2只有跳变沿触发,没有电平触发。 使用外部中断涉及到的寄存器有:MCU控制寄存器MCUCR,MCU控制欲寄存器MCUCSR,通用中断控制寄存器GICR,通用中断寄存器GIFR。 AVR单片机的中断响应时间最少为4个时钟周期。在这4个时钟周期里,程序计数器PC的2字节自动入栈,而堆栈指针SP减2。 中断相关的寄存器: MCU控制寄存器MCUCR 位76543210SM2SESM1SM0ISC11ISC10ISC01ISC00读写R/WR/WR/WR/WR/WR/WR/WR/W初始值00000000外部中断1触发方式选择 ISC11ISC10说明00INT1引脚为低电平时产生中断申请01INT1引脚的任意逻辑电平都产生中断10INT1引脚的下降沿产生异步中断11INT1引脚的上升沿产生异步中断申请外部中断0触发方式选择 ISC01ISC00说明00INT0引脚为低电平时产生中断申请01INT0引脚的任意逻辑电平都产生中断10INT0引脚的下降沿产生异步中断11INT0引脚的上升沿产生异步中断申请MCU控制与状态寄存器MCUCSR 位76543210JTDIS2---JTRFWDRFBORFEXTRFPORF读写R/WR/WRR/WR/WR/WR/WR/W初始值000000006位—ISC2:外部中断2的触发方式,异步外部中断2由外部引脚INT2激发。 如果ISC2清零,则INT2的下降沿激活中断;如果ISC2置1,则INT2的上升沿激活中断。INT2的边沿触发方式是异步的,只要INT2引脚上产生宽度超过50ns就会引起中断。如果选择了低电平中断,则低电平必须保持到当前的指令完成才会产生中断。而且只要引脚拉低,就会引发中断请求。改变ISC2时有可能发生中断。因此在寄存器GICR里清楚相应的中断使能位INT2,然后再改变ISC2,最后在重新使能中断之前,需要通过对GIFR寄存器的响应中断标志位INF2写“1”使其清零。 通用中断控制寄存器GICR 位76543210INT1INT0INT2———IVSELIVCE读写R/WR/WR/WRRRR/WR/W初始值00000000位7INT1:使能外部中断请求1.当INT1为1,且状态寄存器SREG的I标志置位的时候,相应的外部引脚中断使能。MCU通用控制寄存器MCUCR的中断敏感电平控制ISC11和ISC10决定中断是由上升沿、下降沿、还是INT1电平触发的。只要能使能,即使INT1引脚被配置为输出,只要引脚电平发生了相应的变化,中断就将产生。 位6INT6:使能外部中断请求0.当INT0为1,且状态寄存器SREG的I标志置位的时候,相应的外部引脚中断使能。MCU通用控制寄存器MCU