<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式學(xué)習(xí)筆記10——51單片機之中斷定時器中斷

          嵌入式學(xué)習(xí)筆記10——51單片機之中斷定時器中斷

          作者: 時間:2016-11-20 來源:網(wǎng)絡(luò) 收藏
          1. CPU時序的有關(guān)知識

          (1)振蕩周期:為單片機提供定時信號的振蕩源的周期(晶振周期或外加振蕩周期)。

          本文引用地址:http://www.ex-cimer.com/article/201611/318671.htm

          (2)狀態(tài)周期:2個振蕩周期為1個狀態(tài)周期,用S表示。振蕩周期又稱S周期或時鐘周期。

          (3)機器周期:1個機器周期含6個狀態(tài)周期,12個振蕩周期(使用計時器時,每隔一個機器周期計時器加1)。

          (4)指令周期:完成1條指令所占用的全部時間,它以機器周期為單位。

          2. 學(xué)習(xí)定時器前須明白:

          (1)51單片機有2組定時器/計數(shù)器(52單片機有三組),可定時或計數(shù)。

          (2)定時器/計數(shù)器和單片機的CPU是相互獨立的,定時器/計數(shù)器工作的過程是自動完成的,不需要CPU的參與。

          (3)51單片機中的定時器/計數(shù)器是根據(jù)機器內(nèi)部的時鐘或者外部的脈沖信號對寄存器(即TH0、TL0和TH1、TL1)中的數(shù)據(jù)加1。

          3. TMOD是定時/計數(shù)器的工作方式寄存器,確定工作方式和功能;TCON是控制寄存器,控制T0、T1的啟動和停止及設(shè)置溢出標識。


          GATE:門控位,用于控制定時器的啟動是否受外部中斷源信號的影響。GATE=0時,只要用軟件使TCON中的TR0或TR1為1,就可以啟動定時/計數(shù)器工作。 GATE=1時,用軟件置TR0或TR1為1,同時外部中斷引腳INT0/1也為高電平時,才能啟動定時/計數(shù)器工作。

          C/T:C/T=0為定時模式;C/T=1為計數(shù)模式。

          M1M0:工作方式設(shè)置位,共四種工作方式。

          00——13位定時/計數(shù)器

          01——16位定時/計數(shù)器

          10——8位自動重裝定時/計數(shù)器

          11—— T0分成兩個獨立的8位定時/計數(shù)器;T1此方式停止計數(shù)。


          TF0、TF1:T0、T1溢出時,由硬件自動將TF0、TF1置1,CPU響應(yīng)中斷后TF0、TF1由硬件自動清0;也可用軟件將TF0、TF1置1或清0,效果同硬件一樣。

          4. 使用定時器,該做哪些工作?

          (1)對TMOD賦值,以確定T0和T1的工作方式,TMOD各位如上面的圖片所示;

          (2)計算初值,并將其寫入TH0、TL0或TH1、TL1;

          (3)開EA,開放定時器中斷(IE寄存器如下圖)。

          (4)使TR0或TR1置位,啟動定時/計數(shù)器定時或計數(shù)(在 TCON寄存器中)。

          (5)寫中斷服務(wù)程序,注意對應(yīng)的中斷號。



          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();