单片机交流
直播中

王越建

7年用户 1451经验值
私信 关注
[问答]

avr单片机INT0是如何去模拟代码的

avr单片机INT0是如何去模拟代码的?怎样去编写其代码?

回帖(1)

刘再海

2021-9-18 16:10:20
  #include 《avr/io.h》
  #include 《avr/interrupt.h》
  #include 《util/delay.h》
  /* 主函数 */
  int main(void)
  {
  DDRA = 0x00; /*方向输入*/
  PORTA = 0xFF; /*打开上拉*/
  DDRB = 0xFF; /*方向输出*/
  PORTB = 0xFF; /*电平设置*/
  DDRC = 0x00; /*方向输入*/
  PORTC = 0xFF; /*打开上拉*/
  DDRD = 0x00; /*方向输入*/
  PORTD = 0xFF; /*打开上拉*/
  MCUCR = (0《《ISC01 | 1《《ISC00); /* 外部int0改为任意电平变化触发方式 */
  GICR |= (1《《INT0); /* int0中断使能 */
  sei(); /*中断使能*/
  while (1)
  {
  _delay_ms(200);
  PORTB ^= (1 《《 0); /*PB0电平取反*/
  }
  return 0;
  }
  /* 外部INT0处理函数 */
  /* 该函数可以使用调试器调试,改变PORTD的PIND2的值从而触发中断 */
  SIGNAL(SIG_INTERRUPT0)
  {
  PORTB ^= (1 《《 1); /*PB1电平取反*/
  }
举报

更多回帖

发帖
×
20
完善资料,
赚取积分