AVR一些常用有关中断寄存器介绍.docVIP

  • 23
  • 0
  • 约1.65千字
  • 约 10页
  • 2016-12-29 发布于重庆
  • 举报
常配置: ●MCU 控制寄存器- MCUCR 外部中断触发方式 ●SREG:全局中断控制寄存器 SEI() ; CLI() ; SREG|=BIT(7); ●通用中断控制寄存器- GICR 外部中断请求 INT0 INT1 INT2 ●定时器/ 计数器中断屏蔽寄存器- TIMSK MCUCSR: MCU 控制与状态寄存器(不常用) 表示中断标志的寄存器一般在中断查询时用: ●通用中断标志寄存器- GIFR ●定时器/ 计数器 中断标志寄存器- TIFR MCU 控制寄存器- MCUCR 其他各个模块(如定时器,ADC,SPI,IIC,UART,EEPROM,看门狗) 的中断控制在其相应的控制寄存器中,状态在其状态寄存器中 MCUCSR: MCU 控制与状态寄存器 ? Bit 6 – ISC2: 中断2 触发方式控制 异步外中断2 由外部引脚INT2 激活,如果SREG 寄存器的I 标志和GICR 寄存器相应的中断屏蔽位置位的话。若ISC2 写0, INT2 的下降沿激活中断。 若ISC2 写1, INT2 的上升沿激活中断。 INT2 的边沿触发方式是异步的。只要INT2 引脚上产生宽度大于Table 36 所示数据的脉冲就会引发中断。若选择了低电平中断,低电平必须保持到当前指令完成,然后才会产生中断。而且只要将引脚拉低,就会引发中断请求。改变ISC2 时有可能发生中断。因此建议首先在寄存器GICR 里清除相应的中断使能位INT2,然后再改变ISC2。最后,不要忘记在重新使能中断之前通过对GIFR 寄存器的相应中断标志位INTF2 写1’使其清零。 它的第7位与第四位与I/O 存储器中与边界扫描相关 SREG:全局中断控制寄存器 GICR:通用中断控制寄存器 ? Bit 7 – INT1: 使能外部中断请求1 当INT1 为1’,而且状态寄存器SREG 的I 标志置位,相应的外部引脚中断就使能了。MCU通用控制寄存器– MCUCR的中断敏感电平控制1位 1/0 (ISC11与ISC10)决定中断是由上升沿、下降沿,还是INT1 电平触发的。只要使能,即使INT1 引脚被配置为输出,只要引脚电平发生了相应的变化,中断可将产生。 ? Bit 6 – INT0: 使能外部中断请求 0 当INT0 为1’,而且状态寄存器SREG 的I 标志置位,相应的外部引脚中断就使能了。MCU通用控制寄存器– MCUCR的中断敏感电平控制0位 1/0 (ISC01与ISC00)决定中断是由上升沿、下降沿,还是INT0 电平触发的。只要使能,即使INT0 引脚被配置为输出,只要引脚电平发生了相应的变化,中断可将产生。 ? Bit 5 – INT2: 使能外部中断请求2 当INT2 为1’,而且状态寄存器SREG 的I 标志置位,相应的外部引脚中断就使能了。MCU通用控制寄存器– MCUCR的中断敏感电平控制2位 1/0 (ISC2与ISC2)决定中断是由上升沿、下降沿,还是INT2 电平触发的。只要使能,即使INT2 引脚被配置为输出,只要引脚电平发生了相应的变化,中断可将产生。 通用中断控制寄存器- GICR 通用中断标志寄存器- GIFR 定时器/ 计数器中断屏蔽寄存器- TIMSK 定时器/ 计数器 中断标志寄存器- TIFR AVR中断向量表: 关键说明:程序中要用中断,一定要先使能全局中断SEI(); 与I/O方向设置有关的中断: 输出的情况: 1外部中断,实践证明一定要设置为输出 2定时匹配中断,相应的OCR1A或OCR1B一定要设定为输出才会有匹配时的信号输出 输入的情况: 3捕获中断,引脚一定要设置为输入, 4PINx读取端口的状态前,一定要把I/O设定为输入 1

文档评论(0)

1亿VIP精品文档

相关文档