<tfoot id="ygvxt"><menuitem id="ygvxt"></menuitem></tfoot>
    • <kbd id="ygvxt"></kbd>
      <th id="ygvxt"><progress id="ygvxt"></progress></th>

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

      ?AVR 定時(shí)器中斷程序

      文章出處:?jiǎn)纹瑱C(jī) 責(zé)任編輯:上海意泓電子科技有限責(zé)任公司 發(fā)表時(shí)間:
      2020
      11-10

      基于7.3728M晶振作AVR定時(shí)器的時(shí)鐘源進(jìn)行1S定時(shí)! 
      實(shí)驗(yàn)內(nèi)容: 
      使用AVR的定時(shí)器T1做1S定時(shí),并使用PD口的LED指示燈做簡(jiǎn)單指示。

      #include

      #include


      #define DISP_DDR   DDRD

      #define DISP_PORT  PORTD


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

      程序名稱:定時(shí)器1初始化程序

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

      void timer1_init(void)

      {

       TCCR1B = 0x00;  //stop timer


       TCNT1H = 0xE3;  //設(shè)置 TC1 的 計(jì)數(shù)寄存器 高8位值,基于7.3728M晶振

       TCNT1L = 0xDF;  //設(shè)置 TC1 的 計(jì)數(shù)寄存器 低8位值,基于7.3728M晶振


       //OCR1AH = 0x1C; //設(shè)置 TC1 的 輸出比較寄存器A 高8位值

       //OCR1AL = 0x20; //設(shè)置 TC1 的 輸出比較寄存器A 低8位值


       //OCR1BH = 0x1C; //設(shè)置 TC1 的 輸出比較寄存器B 高8位值

       //OCR1BL = 0x20; //設(shè)置 TC1 的 輸出比較寄存器B 低8位值


       //ICR1H  = 0x1C; //設(shè)置 TC1 的 輸入捕獲寄存器 高8位值

       //ICR1L  = 0x20; //設(shè)置 TC1 的 輸入捕獲寄存器 低8位值


       TCCR1A = 0x00;

       TCCR1B = 0x05;  //設(shè)置TC1 為 CLK/1024分頻,啟動(dòng)TC1

      //選擇時(shí)鐘為晶振1024分頻即7372800/1024=7200HZ

      //定時(shí)1s (65535-初值)/(定時(shí)器時(shí)鐘7200)=1s

      //得初值換算十六進(jìn)制給TCNT1H TCNT1L

       MCUCR = 0x00;  //設(shè)置 MCU 的 控制寄存器

       GICR  = 0x00;  //設(shè)置 中斷控制寄存器

       TIMSK = 0x04;  //設(shè)置 定時(shí)計(jì)數(shù)器 的 屏蔽寄存器(TIMSK = BIT(2);)溢出中斷使能

       //SEI();  //enable interrupts

      }

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

      程序名稱:定時(shí)器1中斷服務(wù)程序

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

      #pragma interrupt_handler timer1_ovf_isr:9

      void timer1_ovf_isr(void)

      {

       TCNT1H = 0xE3;  //reload counter high value

       TCNT1L = 0xE1;  //reload counter low value

       DISP_PORT++;  //每加1S,顯示加1

      }


      void main(void)

      {

       DISP_DDR = 0XFF; //設(shè)置顯示口為輸出

       timer1_init();

       SEI();

       while(1);

      }



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

      CopyRight 2020-2025 www.hljhgw.com All rights reserved   滬ICP備2021005866號(hào)

      国产强伦姧在线观看,…中文天堂在线一区,亚洲欧洲精品污网站在线观看,在线视频综合站 亚太影院 柯西贝尔-游戏赚网
      <tfoot id="ygvxt"><menuitem id="ygvxt"></menuitem></tfoot>
        • <kbd id="ygvxt"></kbd>
          <th id="ygvxt"><progress id="ygvxt"></progress></th>

          永久免费AV无语国产电影| 亚洲成av人在线观看网站| 免费国产成人aⅴ在线观看| 国产日韩精品欧美| 9999国产精品永久免费视频精品久久| 人妻制服丝袜有码中文字幕| 亚洲第一av无码专区| 亚洲东京热国产精品视频| 天天久久狠狠色综合| 中文字幕在线永久免费看精品视频| 中文字幕制服丝袜在线| 中文字幕亚洲欧美在线不卡| 最新亚洲人成无码网WWW电影| 免费网站看v片在线毛| 国产成人精品国内自产色| 欧美日韩国产综合视频专区| 日本人妻沦陷中出中文字幕| 精品女同一区二区三区免费站| 一本久道综合久久婷婷婷婷| 国产精品一级毛片卡在线看| 亚洲国产欧美日韩二区三区蜜月| 久久精品国产一区二区无码|