久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

atmege16外部中斷程序

作者:韓冰   來源:本站原創   點擊數:  更新時間:2013年11月29日   【字體:

/******************************************

功能:演示ATMEGA16的3個外部中斷程序

編輯環境:ICCAVR

 

******************************************/

 

#include<iom16v.h>

#include<macros.h>

 

#define uint unsigned int

#define uchar unsigned char

 

#define beep_0 (PORTD&=~(1<<PD7))

#define beep_1 (PORTD|=(1<<PD7))

//蜂鳴器響

uint count;

/*******************************************

三個外部中斷聲明,注意中斷向量號

*******************************/

#pragma interrupt_handler Exint0:2

#pragma interrupt_handler Exint1:3

#pragma interrupt_handler Exint2:19

/*************************************

系統延時函數

************************************/

void delay(uint ms)

{

  uint i,j;

    for(i=0;i<ms;i++)

           {

             for(j=0;j<1140;j++);

           }

}

/**************************************

端口初始化每個外部中斷端口是固定的

****************************************/

void port_init()

{

 DDRA=0XFF;

 PORTA=0XFF;

 DDRB&=(0<<PB2);//INT2

 PORTB|=(1<<PB2);

 DDRD&=(0<<PD2);//INT0

 PORTD|=(1<<PD2);

 DDRD&=(0<<PD3);//INT1

 PORTD|=(1<<PD3);

}

 

/***********************************

外部中斷初始化

*******************************/

void INT_init()

{

 SREG=0X80;//打開全局中斷

 GICR|=(1<<INT0)|(1<<INT1)|(1<<INT2);//三個中斷使能

 MCUCR=(1<<ISC11)|(0<<ISC10)|(1<<ISC01)|(0<<ISC00);//INT0,INT1下降沿觸發

 MCUCSR=(0<<ISC2);//INT2下降沿觸發中斷

 

}

/*****************************************

流水燈函數

****************************************/

void LED_1()

{

  uchar i;

  for(i=0;i<8;i++)

   {

    PORTA=~BIT(i);

          delay(200);

   }

}

/***********************************

LED_2函數

**********************************/

void LED_2()

{

  PORTA=0X0F;

  delay(500);

  PORTA=0XF0;

  delay(500);

}

/********************************

LED_3函數

************************************/

void LED_3()

{

  PORTA=0X81;

  delay(500);

  PORTA=0X7E;

  delay(500);

}

/************************************

外中斷0函數

**********************************/

void Exint0()

{

 LED_2();

}

/**********************************

外中斷1函數

***********************************/

void Exint1()

{

  LED_3();

}

/************************

外中斷2函數

***********************/

void Exint2()

{

 DDRD=(1<<PD7);

 for(count=0;count<4;count++)

  {

   beep_0;delay(200);

         beep_1;delay(200);

  }

}

/*********************************

主函數

*********************************/

void main()

{

 port_init();//端口初始化

 INT_init();//中斷初始化

 while(1)// 當非0值時執行下面函數

  {

    LED_1();//流水燈函數

  }

}
 

關閉窗口

相關文章

主站蜘蛛池模板: 天天操欧美 | 日韩精品一区二区三区在线播放 | 天天天操操操 | 日韩视频免费看 | 精品国产一区久久 | 亚洲 欧美 日韩在线 | 超碰免费在线观看 | 国产不卡视频在线 | 日日草夜夜草 | 免费观看一级特黄欧美大片 | 波多野吉衣在线播放 | 美女一级a毛片免费观看97 | 成人伊人 | 亚洲免费精品 | 九色91视频| 亚洲精品乱码久久久久久久久久 | www.精品一区 | 久久久久久一区 | 亚洲在线一区二区三区 | 嫩草一区二区三区 | 中文字幕在线第一页 | 国产视频第一页 | 一区二区成人 | 国产精品特级毛片一区二区三区 | 日韩黄| 日韩视频观看 | 久久国产传媒 | 国产成人精品a视频 | 在线一区观看 | 国产一区2区 | 精品毛片| 国产又爽又黄的视频 | va精品 | 黄a免费看 | 久久久av一区 | 免费观看一级特黄欧美大片 | 日韩一区精品 | 91网在线播放 | 色婷婷综合在线观看 | 91精品国产综合久久久久蜜臀 | 国产一区二区三区四区 |