您好,歡迎訪問上海意泓電子科技有限責(zé)任公司網(wǎng)站!
      4新聞資訊
      您的位置: 首頁 ->  新聞資訊 -> 單片機(jī)

      ?AVR外部中斷INT1檢測按鍵,使用LED作指示

      文章出處:單片機(jī) 責(zé)任編輯:上海意泓電子科技有限責(zé)任公司 發(fā)表時間:
      2020
      11-10

      實驗內(nèi)容: 
      使用AVR的外部中斷INT1檢測PD3Key,如果有按鍵按下,則喚醒休眠的MCU,并使它的PB口的LED做加1指示。

      #include


      #define DISP_DDR DDRB

      #define DISP_PORT   PORTB

      #define IN_PD3  cbi(DDRD,3)  //PD3

      #define SET_PD3  sbi(PORTD,3)

      #define GET_PD3  gbi(PIND,3)

      //PORTA|=BIT(5);    就是把把第6位置1;

      //PORTA=~BIT(5);   就是把第6位置零

      //DDRB |=  0x80;  //等于“sbi(DDRB,7);” 置1位

      //DDRB &= ~0x80;  //等于“cbi(DDRB,7);”清零


      /*--------------------------------------------------------

      程序名稱:外部中斷服務(wù)程序

      -------------------------------------------------------*/

      #pragma interrupt_handler int1_isr:3

      //是一個編譯器的關(guān)鍵字聲明,聲明這個函數(shù)是一個中斷服務(wù)函數(shù),后面跟的數(shù)字是中斷向量號。

      void int1_isr(void)

      {

       GICR &= 0b01111111;  // disable int1 interrupt   通用中斷控制寄存器 GICR

       DISP_PORT++;   // 顯示口指示加1,指示被按次數(shù)

       delay50ms(4);

       GICR |= 0b10000000;   // enable int1 interrupt

      }

      /*--------------------------------------------------------

      程序名稱:外部中斷初始化程序

      --------------------------------------------------------*/

      void int1_init()

      {

       IN_PD3;    // set PD3/INT1 as input

       SET_PD3;   // set PD3/INT1 as output,high level,avoid triggering

       MCUCR |= 0b11110011;  // set PD3/INT1 as low level active

       GICR  |= 0b10000000;  // enable global interrupt

       SEI();       // enable external interrupt

      }

      void main(void)

      {

       DISP_DDR  = 0xFF;

       DISP_PORT = 0x00;

       int1_init();

       asm("sleep");   // set mcu as sleep modle

       //開機(jī)后MCU處于SLEEP狀態(tài),之后按按鍵,LED作出了簡單指示。


       while(1);

      }



      上海意泓電子科技有限責(zé)任公司 版權(quán)所有 未經(jīng)授權(quán)禁止復(fù)制或鏡像

      CopyRight 2020-2025 www.topsschool.com All rights reserved   滬ICP備2021005866號

      亚洲精品无码va人在线观看,少妇 逼小 水多,国产区免费av,国产精品无码观看

          中文字幕无线精品亚洲乱码一区| 午夜中文字幕无码无删减| 国产在线观看精品一区二区| 91天天在线观看天天精品| av福利国产永久免费| 人成无码区免费AⅤ片| 国产成人8x成人网站视频| ww亚洲无码免费在线观看| 尤物国产天堂av一区| 久久国内精品色视频| 亚洲高清无码在线视频| 2021最新亚洲精品无码| 国产三级片在线免费观看| av网站免费观看| 日本女一区二区三区| 久久AV无码精品人妻系列| 免费观看国内A及毛片| 丰满人妻被黑人中文字幕| 午夜亚洲国产理论片中文| 日韩一级一区二区三区免费观影| 国产区精品一区二区不卡中文| 麻豆国产巨作av剧情| 91精品在线播放| 97在线人妻共享视频| 色婷婷精品久久二区二区6| 日韩精品无码专区网站| 狠狠热精品视频| 国产免费无码AV片在观看| 亚洲2019无码天堂|