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

          新聞中心

          51單片機(jī)——中斷

          作者: 時(shí)間:2016-11-26 來源:網(wǎng)絡(luò) 收藏

          四、定時(shí)器/計(jì)數(shù)器

          1.計(jì)數(shù)的定義:

          計(jì)數(shù)是指對(duì)外部事件進(jìn)行計(jì)數(shù),外部事件的發(fā)生以輸入脈沖的形式表示,因此計(jì)數(shù)功能的實(shí)質(zhì)就是對(duì)外來的脈沖進(jìn)行計(jì)數(shù),在單片機(jī)中對(duì)應(yīng)引腳T0和T1,兩個(gè)脈沖輸入端。

          外部輸入的脈沖在負(fù)跳變時(shí)有效(即外部脈沖由1變化到0),計(jì)數(shù)器加1.

          2.定時(shí)器:

          定時(shí)器是通過計(jì)數(shù)器的計(jì)數(shù)來實(shí)現(xiàn)的,不過此時(shí)的計(jì)數(shù)脈沖來自單片機(jī)的內(nèi)部,因此定時(shí)器的實(shí)質(zhì)是對(duì)內(nèi)部脈沖的計(jì)數(shù),在單片機(jī)中,每個(gè)機(jī)器周期產(chǎn)生一次計(jì)數(shù)脈沖,計(jì)數(shù)器加1.

          3.工作方式控制寄存器TMOD:

          ?工作方式控制寄存器TMOD

          TMOD的低半字節(jié)(D0,D1,D2,D3)用來控制定時(shí)器/計(jì)數(shù)器0

          TMOD的高半字節(jié)(D4,D5,D6,D7)用來控制定時(shí)器/計(jì)數(shù)器1

          對(duì)TMOD中的內(nèi)容說明:

          GATE——門控制?! ?p> GATE=1時(shí),由外部中斷引腳INT0、INT1來啟動(dòng)定時(shí)器T0、T1。   

          當(dāng)INT0引腳為高電平時(shí)TR0置位,啟動(dòng)定時(shí)器T0;   

          當(dāng)INT1引腳為高電平時(shí)TR1置位,啟動(dòng)定時(shí)器T1。   

          GATE=0時(shí),僅由TR0,TR1置位分別啟動(dòng)定時(shí)器T0、T1。

          C/T——功能選擇位   

          C/T=0時(shí)為定時(shí)功能,C/T=1時(shí)為計(jì)數(shù)功能。     

          M0、M1——方式選擇功能   

          由于有2位,因此有4種工作方式:

          ?計(jì)數(shù)器工作方式

          ?4.根據(jù)單片機(jī)晶振,所選TMOD的的工作方式,所要定的時(shí)間,來確定THO和TLO所要賦予的初值:

          (以12M晶振,工作方式1即16位計(jì)數(shù)器為例,設(shè)所定時(shí)間為Xus(16為計(jì)數(shù)器最大數(shù)65536,即65536us,若所?定時(shí)間大于65535,則要用if語句控制,現(xiàn)假設(shè)X<65535))

          1.時(shí)鐘周期的時(shí)間t=1/12M=1/12 us

          2.機(jī)器周期的時(shí)間T=12*1/12=1 us

          3.因?yàn)槊拷?jīng)過一個(gè)機(jī)器周期計(jì)數(shù)器+1,所以,計(jì)數(shù)器+1,經(jīng)過的時(shí)間為 1 us。

          若所定時(shí)間為X,則要求經(jīng)過Xus,中斷響應(yīng),又因?yàn)?6位計(jì)數(shù)器要全部置1(即達(dá)到65535)+1后,中斷才會(huì)響應(yīng),所以,初值=(65536-X)

          4.將初值轉(zhuǎn)化為16進(jìn)制碼,分別付給TH0和TL0

          eg:所定時(shí)間5ms

          初值=(65536-5000)=60536=EC78

          TH0=0xEC;TL0=0x78;

          (當(dāng)工作方式不同時(shí),TH0/TL0的賦值也不同,個(gè)人覺得有了16位計(jì)數(shù)器了,其余的沒什么用,不介紹了)

          5.寫程序時(shí)另一種THO/TLO賦值方法

          TH0=(65536-20000)/256;

          TL0=(65536-20000)%6;

          這樣設(shè)置,每經(jīng)過20ms,發(fā)生一次中斷,中斷時(shí)間一般以秒為單位,所以經(jīng)過n次中斷即可。

          五、附加?

          ?中斷函數(shù)
          ?中斷修飾符

           

          參考鏈接:

          http://blog.sina.com.cn/s/blog_a05b986d010152h3.html?

          http://wenku.baidu.com/view/946e11949ec3d5bbfd0a74b8.html

          http://wenku.baidu.com/view/25971fbefd0a79563c1e725f.html

          ?http://bbs.elecfans.com/jishu_210382_1_1.html

          http://wenku.baidu.com/view/3e770240a8956bec0975e395.html?


          上一頁 1 2 下一頁

          關(guān)鍵詞: 51單片機(jī)中

          評(pí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); })();