色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          51單片機-定時器

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








          中斷允許控制。CPU對中斷系統(tǒng)所有中斷以及某個中斷源的開放和屏蔽是由中斷允許寄存器
          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ù)器中斷允許位
          IT0 = 1; //下降沿有效
          TR0 = 1; //定時器啟動
          TMOD = 0x01; //使用定時器T0,16位計數(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開始計時,共50000us,50ms
          TL0 = (65535 - 50000) % 256; //20*50 = 1000ms = 1s 即1s響停一次
          t++;
          }


          評論


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

          關(guān)閉