久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 單片機學習 > 單片機教程 > 51型號單片機定(ding)時器(qi)及其應(ying)用

51型號單片機定(ding)時器(qi)及其(qi)應用(yong) 時間:2018-07-18      來源:未知

先看原理:89c51單片機(ji)內(nei)部(bu)有兩個16位的定(ding)時(shi)/計(ji)(ji)數器(qi)(qi),即(ji)定(ding)時(shi)器(qi)(qi)T0和(he)定(ding)時(shi)器(qi)(qi)T1,單片機(ji)的定(ding)時(shi)功(gong)能其實就(jiu)是通過計(ji)(ji)數來實現的,當(dang)單片機(ji)每一個機(ji)器(qi)(qi)周期產生一個脈沖時(shi),計(ji)(ji)數器(qi)(qi)就(jiu)加一。

舉例說(shuo)明:一個16位的(de)(de)定(ding)時器(qi),它所能計數的(de)(de)范圍(wei)是(shi)0~65535,如果單(dan)(dan)片機(ji)采用(yong)的(de)(de)是(shi)12M的(de)(de)晶振,那么定(ding)時器(qi)單(dan)(dan)次最長的(de)(de)時間為(wei)65535*((1/12)*12),因為(wei)一個一個機(ji)器(qi)周期等于(yu)12個振蕩周期,那么定(ding)時器(qi)加(jia)一所用(yong)的(de)(de)時間是(shi)1/12M*12是(shi)1us,也就是(shi)一個12MHz晶振的(de)(de)51單(dan)(dan)片機(ji)單(dan)(dan)次最長時間約為(wei)65ms.

定時器如何控制

89c51的定(ding)時器由兩個(ge)寄存器控制(zhi),分別是工作模(mo)式寄存器TMOD和控制(zhi)寄存器TCON

工(gong)(gong)作模(mo)式寄(ji)存(cun)器(qi)TMOD是(shi)用于控制(zhi)定時(shi)器(qi)0/1的工(gong)(gong)作模(mo)式,通(tong)過對(dui)TMOD進行賦值,則可以改變(bian)定時(shi)器(qi)的工(gong)(gong)作模(mo)式

具體各位的定(ding)義如下,看(kan)圖

當我們使(shi)用定時器功能時,就只用設置D0、D1、D4、D5的的值就可(ke)以(yi)了,其余位置0即(ji)可(ke)

我(wo)們在(zai)使用(yong)(yong)定(ding)時(shi)器時(shi)基本使用(yong)(yong)的是(shi)模(mo)式(shi)(shi)(shi)1和模(mo)式(shi)(shi)(shi)2,模(mo)式(shi)(shi)(shi)0與模(mo)式(shi)(shi)(shi)3基本不用(yong)(yong),我(wo)就不進(jin)行描述(shu)了。

模式1

當TMOD的D5位(wei)(wei)(wei)置0,D4位(wei)(wei)(wei)置1時,即為定(ding)時器T1的模式一,該模式對應的是(shi)一個16位(wei)(wei)(wei)的定(ding)時器,寄存器TH1和TL1即為T1初值的高8位(wei)(wei)(wei)和低(di)8位(wei)(wei)(wei),定(ding)時時間為:(65536-T1的初值)*振蕩(dang)周期*12

模式二

當TMOD的D5位置(zhi)1,D4位置(zhi)0時(shi)(shi)(shi)(shi),即為定(ding)時(shi)(shi)(shi)(shi)器T1的模(mo)式二,該模(mo)式對應(ying)的是一個可以自(zi)動裝載的8位定(ding)時(shi)(shi)(shi)(shi)器,當定(ding)時(shi)(shi)(shi)(shi)器計(ji)數滿了(計(ji)數溢(yi)出時(shi)(shi)(shi)(shi)),會自(zi)動把TH1中(zhong)的內容重新裝載到TL1中(zhong),那么模(mo)式二計(ji)數的最(zui)長(chang)時(shi)(shi)(shi)(shi)間即為(257-T1的初值)*振蕩(dang)周期(qi)*12

定時器的控(kong)制寄存器TCON

TCON的各(ge)位定義(yi)如(ru)下(xia),看(kan)圖

TF1:T1的(de)溢出標志位,當T1溢出時,由硬(ying)件自動使TF1位置(zhi)1,并向CPU申(shen)請中斷。當CPU響應(ying)中斷進(jin)入中斷服務子程(cheng)序后,TF1又被硬(ying)件自動清0,也(ye)可以用軟件清0.

 TF0:T0溢出標(biao)志(zhi)位(wei)。其功能和(he)操作(zuo)情況同TF1

TR1:T1的(de)運行控制位(wei),當(dang)該位(wei)置1時,即啟(qi)動定時器(qi)1當(dang)該位(wei)置0時,即關閉

TR0:T0的運(yun)行控制位,其功(gong)能及操作情(qing)況同TR1。

接下來(lai)我將用定時器來(lai)結合(he)數(shu)碼管制作一個0-9計時器

代碼我給貼出來,供大家參考:
 

# include <reg52.h>  //引用了51單片機的官方庫文件 
void T0INI() ;
unsigned int temp = 0,i = 0;    //中間變量
unsigned char leddata[]={ 
 
                0xC0,  //"0"
                0xF9,  //"1"
                0xA4,  //"2"
                0xB0,  //"3"
                0x99,  //"4"
                0x92,  //"5"
                0x82,  //"6"
                0xF8,  //"7"
                0x80,  //"8"
                0x90,  //"9"
                0x88,  //"A"
                0x83,  //"B"
                0xC6,  //"C"
                0xA1,  //"D"
                0x86,  //"E"
                0x8E,  //"F"
                0x89,  //"H"
                0xC7,  //"L"
                0xC8,  //"n"
                0xC1,  //"u"
                0x8C,  //"P"
                0xA3,  //"o"
                0xBF,  //"-"
                0xFF,  //熄滅
                0xFF  //自定義
 
           ;              };

void main()
{
       T0INI();
        while(1)
        {
            P2 = 0x0e;   //位選段P20置0
            P0 = leddata[i];         
            if(TF0 == 1)
                    {
                            TH0 = 0X3c;
                            TL0 = 0xb0;            //12Mhz定時50ms
                            temp++;
                    }
            
                if(temp == 20)
                         i++;
                    if(i == 10)
                         i = 0;           
        }
}  

void T0INI()    //定時器T0初始化
{
    EA = 1;                    //cpu開總中斷        
    TCON = 0x10;        //打開定時器T0
    TMOD = 0x01;        //設置T0為工作模式1,16位定時計數器
    TH0 = 0X3c;
    TL0 = 0xb0;            //12Mhz定時50ms
}

上一篇:51單片機學習筆記:矩陣鍵盤

下一篇:干貨:A7139射頻模塊wor配置解析

熱點文章(zhang)推薦
華清學員就(jiu)業(ye)榜(bang)單
高薪學員經驗(yan)分(fen)享
熱(re)點新聞推薦
前臺(tai)專線:010-82525158 企(qi)業培訓洽談專線(xian):010-82525379 院(yuan)校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部