<dl id="b4zrn"><label id="b4zrn"></label></dl><thead id="b4zrn"></thead>

    <blockquote id="b4zrn"></blockquote>

      <strike id="b4zrn"></strike>
        1. <div id="b4zrn"><label id="b4zrn"></label></div>
          您好,歡迎訪問(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 m.frontgate.com.cn All rights reserved   滬ICP備2021005866號(hào)

          久艹视频在线观看这里只有精品,国语自产拍在线视频普通话94,久久婷婷综合缴情亚洲狠狠,亚洲不卡永远在线精品无码
          <dl id="b4zrn"><label id="b4zrn"></label></dl><thead id="b4zrn"></thead>

            <blockquote id="b4zrn"></blockquote>

              <strike id="b4zrn"></strike>
                1. <div id="b4zrn"><label id="b4zrn"></label></div>