久久人妻精品人妻视频五月天一区二区三区,,自慰午夜喷水久久久av国产成人a视频高在线,,欧美日韩免费专区在线97精品国产手机

  • <cite id="cwywg"></cite>
    <button id="cwywg"></button>
  • <button id="cwywg"><source id="cwywg"></source></button>
    <button id="cwywg"><tbody id="cwywg"></tbody></button>
  • <button id="cwywg"></button>
  • 
    
  • logo logo
    • BANNER
    • BANNER
    • BANNER
    您的位置 : 首頁 > 新聞資訊 > 技術(shù)支持
    51單片機 (3)定時器和計數(shù)器
    發(fā)布者:江蘇瑞易通電子科技有限公司 人氣:695 發(fā)布日期:2021-04-23 10:10:40

    注:定時器與計數(shù)器原理與使用方法相似、此處計數(shù)器知識為基礎(chǔ)普及、后面詳講

    2個定時器(寄存器)、定時器0、定時器1、(計數(shù)器0、計數(shù)器1)

    TMOD:定時器/計數(shù)器模式控制寄存器 詳見百度百科TMOD

    • 每經(jīng)過一個機器周期、寄存器+1

    • TF:定時器溢出標志。溢出時自動置1。中斷時硬件清零否則必須軟件清零。

    • TR:定時器運行控制位。置1開始計時、清零停止計時。

    • C/T:該位為0時用作計時器、該位為1時用作計數(shù)器。

    溢出時時間-開始計時時間=預設定時時間


    一個機器周期共有12個振蕩脈沖周期


    若設定時為0.02s,則:

    12*(65535-X)/11059200=0.02s  

    定時器作“加1”次數(shù):X=47104=0xB800次  時間為0.02s

    使用定時器的方法

    1、設置特殊功能寄存器TMOD,使之工作在需求的狀態(tài)。
    2、設置計數(shù)寄存器的初值,精確設定好定時時間。
    3、設置特殊功能寄存器TCON,通過打開TR來讓定時器進行工作。

    4、判斷寄存器TCON的FT0位、檢測定時器溢出情況。


    假設我們使用定時器0、定時為0.02s,兩個寄存器計時

    TMOD=0x01;   TMOD=0x01,指的是采用T0方式,將M1置0,M0置1,是方式一的定時器

    高八位寄存器TH0=0xB8、低八位寄存器TL0=0x00


    C程序?qū)崿F(xiàn)1s鐘定時

    1. #include   

    2. typedef unsigned char uint8;  

    3. typedef unsigned int uint16;  

    4. sbit led=P1^0;  

    5. uint8 counter;  

    6.   

    7. void main(){  

    8.    TMOD=0x01;  

    9.    TH0=0xb8;  

    10.    TL0=0x00;  

    11.    TR0=1;   

    12.    led=1;  

    13.    counter=0;  

    14.    while(1){  

    15.       if(TF0==1){   //如果達到溢出 0.02s后溢出  

    16.          TF0=0;  //軟件清零  

    17.          TH0=0xB8;   //重置計數(shù)基數(shù)  

    18.              TL0=0x00;  

    19.          counter++;  //溢出一次計次數(shù)  

    20.       }  

    21.       if(counter==50){   //0.02s*50=1s  

    22.         counter=0;    //清零  

    23.         led=~led; //取反使P1^0亮滅  

    24.       }  

    25.    }  

    26. }  


    返回新聞列表