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

          新聞中心

          51單片機(jī)-定時(shí)器

          作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò) 收藏
          定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)和工作原理
          定時(shí)/計(jì)數(shù)器的實(shí)質(zhì)是加1計(jì)數(shù)器(16位),由高8位和低8位兩個(gè)寄存器組成。80C51單片機(jī)定時(shí)/計(jì)數(shù)器的工作是由兩個(gè)特殊功能寄存器控制的。TMOD是定時(shí)/計(jì)數(shù)器的工作方式寄存器,確定工作方式和功能,低四位用于T0,高四位用于T1。TCON是控制寄存器,控制T0和T1的啟動(dòng)和停止及溢出標(biāo)志,高四位與定時(shí)器有關(guān),低四位與外部中斷有關(guān)。如果定時(shí)/計(jì)數(shù)器工作于定時(shí)模式,則表示定時(shí)時(shí)間已到;如果工作于計(jì)數(shù)模式,則表示計(jì)數(shù)值已滿(mǎn)。加1計(jì)數(shù)器輸入的計(jì)數(shù)脈沖有兩個(gè)來(lái)源,一個(gè)是由系統(tǒng)的時(shí)鐘振蕩脈沖經(jīng)12分頻后送來(lái);一個(gè)是T0或T1引腳輸入的外部脈沖源。








          中斷允許控制。CPU對(duì)中斷系統(tǒng)所有中斷以及某個(gè)中斷源的開(kāi)放和屏蔽是由中斷允許寄存器
          IE控制的。
          #include <reg52.h>
          unsigned int t;
          sbit p3_4 = P3^4;
          void init_timer(){
          TH0 = (65535 - 50000) / 256; //求取高8位
          TL0 = (65535 - 50000) % 256; //求取低8位
          EA = 1; //CPU總中斷允許位
          ET0 = 1; //定時(shí)/計(jì)數(shù)器中斷允許位
          IT0 = 1; //下降沿有效
          TR0 = 1; //定時(shí)器啟動(dòng)
          TMOD = 0x01; //使用定時(shí)器T0,16位計(jì)數(shù)器
          p3_4 = 1;
          }
          void main(){
          init_timer();
          t = 0;
          while(1){
          if(t == 20){
          p3_4 = "p3_4; //響一秒,停一秒
          t = 0;
          }
          }
          }
          void bell() interrupt 1{
          TH0 = (65535 - 50000) / 256; //從15535開(kāi)始計(jì)時(shí),共50000us,50ms
          TL0 = (65535 - 50000) % 256; //20*50 = 1000ms = 1s 即1s響停一次
          t++;
          }


          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();