在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > mini2440定時器學(xué)習(xí)筆記

            mini2440定時器學(xué)習(xí)筆記

            作者: 時間:2016-11-21 來源:網(wǎng)絡(luò) 收藏
            S3C2440有5個16位定時器,定時器0、1、2和3有PWM功能(因此這4個定時器也被稱為PWM定時器),都有一個輸出引腳,定時器4是一個內(nèi)部定時器,無外部輸出引腳。
            定時器的時鐘源是PCLK,然后通過內(nèi)部的兩級分頻器分頻得到定時器工作所需要的頻率。其中,定時器0、1公用一個8位的第一級預(yù)分頻器prescaler 0,定時器2、3、4公用另一個8位的第一級預(yù)分頻器prescaler 1;每個定時器都有一個與之對應(yīng)的第二級分頻器clock divider如下圖所示

            雖然定時器較多,但工作原理都是相同的,只需要理解一個定時器的工作原理即可。對于某一個定時器,其內(nèi)部結(jié)構(gòu)原理圖如圖二所示。緩存寄存器TCMPBn和TCNTBn用于緩存定時器n的比較值和初始值;TCON用于控制定時器的開啟與關(guān)閉;通過讀取寄存器TCNTOn得到定時器當(dāng)前計數(shù)值。





            定時器工作原理概述:
            ①首先,將定時器的比較值和初始值裝入寄存器TCMPBn和TCMPBn中
            ②然后,設(shè)置定時器控制寄存器TCON,啟動定時器。此時,TCMPBn和TCNTBn中的值會加載到寄存器TCMPn和TCNTn中。
            ③此時,定時器會減1計數(shù),即TCNTn進(jìn)行減1計數(shù),當(dāng)TCMPn=TCNTn時,TOUTn引腳輸出相反。

            定時器初始化
            ① 定時器時鐘頻率(比如定時器時鐘頻率為50,則1秒鐘計數(shù)寄存器減去50;為100,則1秒鐘計數(shù)寄存器減去100);
            ② 設(shè)置定時器計數(shù)值(比如計數(shù)初值為100,而定時器時鐘頻率為50,則兩秒后會產(chǎn)生中斷,比如引腳輸出相反電平);
            ③ 設(shè)置中斷處理函數(shù)



            ①時鐘頻率初始化:定時器的時鐘頻率=PCLK/(prescaler+1)/(divider value)
            其中: prescaler value=0~255 (它的值由TCFG0寄存器設(shè)置,如下圖)
            divider value=2,4,8,16 (它的值由TCFG1寄存器設(shè)置,如下圖)

            TCFG0描述初始值
            保留[31:24]0x00
            Dead zone length[23:16]此8位決定死區(qū)長度。死區(qū)長度的單位時間等于定時器0的單位時間

            0x00
            Prescaler 1[15:8]此8位決定定時器2,3,4的預(yù)標(biāo)定器值0x00
            Prescaler 0[7:0]此8位決定定時器0,1的預(yù)標(biāo)定器值0x00





            ②計數(shù)值初始化:這兩個寄存器存放的是設(shè)定的計數(shù)比較值,直接對其賦值即可.下面以定時器0為例:
            TCMPB0描述初始值
            Timer 0 computer buffer register[15:0]Set compare buffer value for Timer00x00000000


            TCNTB0描述初始值
            Timer 0 count buffer register[15:0]Set count buffer value for Timer 00x00000000

            ③設(shè)置中斷處理函數(shù),自己編寫。

            例1:結(jié)合上面講解可知,定時器0的輸入時鐘是經(jīng)過PCLK分頻的得到的,下圖展示了其產(chǎn)生過程。

            -------------------------------------分割線---------------------------------------------------

            分析:在上題中出現(xiàn)了TCFG1和TCFG0兩個定時器配置寄存器,其中TCFG0配置寄存器控制第一級分頻器prescaler的分頻系數(shù),TCFG1配置寄存器控制多路選擇開關(guān),選擇第二級分頻器divider的分頻系數(shù)。具體如下圖所示:


            -----------------------------------------分割線---------------------------------------------------





            -----------------------------------------分割線--------------------------------------------------
            例2:PCLK為50MHz,請設(shè)置適當(dāng)?shù)姆诸l系數(shù),使定時器0的輸入時鐘為62.5kHz。
            答:已知PCLK為50MHz,則50MHz/62.5kHz=800,即需要對PCLK進(jìn)行800分頻。所以,使第一級分頻器的分頻系數(shù)為100,第2級的分頻系數(shù)為8即可滿足要求。最后,只需要將分頻系數(shù)寫入定時器控制寄存器中相應(yīng)的位即可,代碼如下:
            1 rTCFG0&=~(0xFF);將TCFG0的低8位清零
            2 rTCFG0|=99;因?yàn)榉诸l系數(shù)=prescaler+1,即prescaler+1=100,所以,prescaler value=99
            3 rTCFG1&=~(0xF);將TCFG1的低4位清零
            4 rTCFG1|=0x02;將TCFG1的低4位賦值為0x02,即選擇8分頻輸出


            關(guān)鍵詞: mini2440定時

            評論


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

            關(guān)閉