在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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è)計(jì)應(yīng)用 > 51單片機(jī)定時(shí)器設(shè)置入門 (STC89C52RC)

            51單片機(jī)定時(shí)器設(shè)置入門 (STC89C52RC)

            作者: 時(shí)間:2016-11-19 來源:網(wǎng)絡(luò) 收藏
            51單片機(jī)定時(shí)器設(shè)置入門(STC89C52RC)

            STC單片機(jī)定時(shí)器設(shè)置

            STC單片機(jī)定時(shí)器的使用可以說非常簡(jiǎn)單,只要掌握原理,有一點(diǎn)的C語言基礎(chǔ)就行了。要點(diǎn)有以下幾個(gè):

            1. 一定要知道英文縮寫的原形,這樣寄存器的名字就不用記了。

            本文引用地址:http://www.biyoush.com/article/201611/318396.htm

            理解是最好的記憶方法。好的教材一定會(huì)給出所有英文縮寫的原形。

            2.盡量用形像的方法記憶

            比如TCON和TMOD兩個(gè)寄存器各位上的功能,教程一般有個(gè)圖表,你就在學(xué)習(xí)中不斷回憶那個(gè)圖表的形像


            TMOD:定時(shí)器/計(jì)數(shù)器模式控制寄存器(TIMER/COUNTER MODE CONTROL REGISTER)
              
            定時(shí)器/計(jì)數(shù)器模式控制寄存器TMOD是一個(gè)逐位定義的8位寄存器,但只能使用字節(jié)尋址,其字節(jié)地址為89H。
            其格式為:

            其中低四位定義定時(shí)器/計(jì)數(shù)器C/T0,高四位定義定時(shí)器/計(jì)數(shù)器C/T1,各位的說明:

            GATE——門控制。
            GATE=1時(shí),由外部中斷引腳INT0、INT1來啟動(dòng)定時(shí)器T0、T1。
            當(dāng)INT0引腳為高電平時(shí)TR0置位,啟動(dòng)定時(shí)器T0;
            當(dāng)INT1引腳為高電平時(shí)TR1置位,啟動(dòng)定時(shí)器T1。
            GATE=0時(shí),僅由TR0,TR1置位分別啟動(dòng)定時(shí)器T0、T1。

            C/T——功能選擇位
            C/T=0時(shí)為定時(shí)功能,C/T=1時(shí)為計(jì)數(shù)功能。
            置位時(shí)選擇計(jì)數(shù)功能,清零時(shí)選擇定時(shí)功能。

            M0、M1——方式選擇功能
            由于有2位,因此有4種工作方式:
            M1M0 工作方式 計(jì)數(shù)器模式 TMOD(設(shè)置定時(shí)器模式)
            0 0 方式0 13位計(jì)數(shù)器TMOD=0x00
            0 1 方式1 16位計(jì)數(shù)器TMOD=0x01
            1 0 方式2 自動(dòng)重裝8位計(jì)數(shù)器 TMOD=0x02
            1 1 方式3 T0分為2個(gè)8位獨(dú)立計(jì)數(shù)器,T1為無中斷重裝8位計(jì)數(shù)器 TMOD=0x03
            單片機(jī)定時(shí)器0設(shè)置為工作方式1為TMOD=0x01

            這里我們一定要知道,TMOD的T是TIMER/COUNTER的意思,MOD是MODE的意思。至于每位上的功能,你只要記住圖表,并知道每個(gè)英文縮寫的原型就可以了。
            在程序中用到TMOD時(shí),先立即回憶圖表,并根據(jù)縮寫的單詞原形理出每位的意義,如果意義不是很清楚,就查下手冊(cè),幾次下來,TMOD的圖表就已經(jīng)在腦子里了。

            8位 GATE位,本身是門的意思。
            7位 C/TCounter/Timer
            6位 M1Mode 1
            5位 M0Mode 0


            TCON: 定時(shí)器/計(jì)數(shù)器控制寄存器(TIMER/COUNTER CONTROL REGISTER)

            TMOD分成2段,TCON控制更加精細(xì),分成四段,在本文中只要用到高四段。

            TF0(TF1)——計(jì)數(shù)溢出標(biāo)志位,當(dāng)計(jì)數(shù)器計(jì)數(shù)溢出時(shí),該位置1。
            TR0(TR1)——定時(shí)器運(yùn)行控制位
            當(dāng)TR0(TR1)=0 停止定時(shí)器/計(jì)數(shù)器工作
            當(dāng)TR0(TR1)=1 啟動(dòng)定時(shí)器/計(jì)數(shù)器工作
            IE0(IE1)——外中斷請(qǐng)求標(biāo)志位

            當(dāng)CPU采樣到P3.2(P3.3)出現(xiàn)有效中斷請(qǐng)求時(shí),此位由硬件置1。在中斷響應(yīng)完成后轉(zhuǎn)向中斷服務(wù)時(shí),再由硬件自動(dòng)清0。

            IT0(IT1)——外中斷請(qǐng)求信號(hào)方式控制位
            當(dāng)IT0(IT1)=1 脈沖方式(后沿負(fù)跳有效)
            當(dāng)IT0(IT1)=0 電平方式(低電平有效)此位由軟件置1或清0。
            TF0(TF1)——計(jì)數(shù)溢出標(biāo)志位

            當(dāng)計(jì)數(shù)器產(chǎn)生計(jì)數(shù)溢出時(shí),此位由硬件置1。當(dāng)轉(zhuǎn)向中斷服務(wù)時(shí),再有硬件自動(dòng)清0。計(jì)數(shù)溢出的標(biāo)志位的使用有兩種情況:采用中斷方式時(shí),作中斷請(qǐng)求標(biāo)志位來使用;采用查詢方式時(shí),作查詢狀態(tài)位來使用。

            注意記憶方法,理解單詞原形,就絕對(duì)不會(huì)把TF和TR搞混。TF的F也就是溢出OverFlow的F。國外有個(gè)著名的IT知識(shí)問答社區(qū),網(wǎng)址就http://stackoverflow.com/
            TR的R就是運(yùn)行Run。默認(rèn)是0不運(yùn)行,當(dāng)然要置1才運(yùn)行。


            STC單片機(jī)STC89C52RC定時(shí)器延時(shí)時(shí)間的計(jì)算

            延時(shí)時(shí)間要根據(jù)晶振頻率計(jì)算,不同板子可能有所不同。

            時(shí)鐘周期:
            1/時(shí)鐘源,在我現(xiàn)在這塊板子上,晶振頻率是11.0592M,也就是時(shí)鐘周期是1/11059200秒

            機(jī)器周期:
            一般51單片機(jī)是12個(gè)時(shí)鐘周期,我的板子也就是 12/11059200秒

            單次定時(shí)最長(zhǎng)時(shí)間:
            如果是16位的計(jì)數(shù)器,16位最大值是65535,共可計(jì)數(shù)65536次?;镜某?shù)一定要記住,還要記住8位最大值是255,共可計(jì)數(shù)256次,還要記住8位上每位代表的數(shù)值。
            12 * 65536/11059200 = 0.0711 s,也就是,71 ms內(nèi)的定時(shí)可以單次定時(shí)就完成。如果定時(shí)時(shí)間超過71 ms,就要循環(huán)了。

            一次定時(shí)需要幾次機(jī)器周期:
            計(jì)算公式:定時(shí)秒數(shù)/機(jī)器周期
            比如我要定時(shí)1秒, 1/(12/11059200)= 921600次,16位計(jì)數(shù)器最大可計(jì)數(shù)65536次,921600次早就益出了。我們可以每次定時(shí)10 ms,循環(huán)100次就可以定時(shí)1秒了,1 s縮小100百倍就是10 ms, 也就是每次需要計(jì)數(shù)9216次。

            確實(shí)計(jì)數(shù)器初始值:
            定時(shí)10 ms時(shí),如果計(jì)數(shù)器從0開始計(jì)數(shù),我們就不知道什么時(shí)候到了9216次。所以應(yīng)該計(jì)數(shù)了9216次,16位計(jì)數(shù)器最多計(jì)數(shù)95536次,然后就溢出,一溢出TCON的TF位就會(huì)置1,我們只要經(jīng)常檢測(cè)TF位就可以知道什么時(shí)候完成10ms的定時(shí)了。
            計(jì)算公式:計(jì)數(shù)器初始值=最大計(jì)數(shù)次數(shù) - 需要計(jì)數(shù)次數(shù)
            如果定時(shí)10 ms,計(jì)數(shù)器的初始值就是65536 - 9216

            計(jì)算計(jì)數(shù)器的高位和低位:
            16位的計(jì)數(shù)器,也就是兩個(gè)8位組成,8位的最大計(jì)數(shù)次數(shù)是256。所以:
            計(jì)數(shù)器高位 = 初始值/256
            計(jì)數(shù)器低位 = 初始值%256



            評(píng)論


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

            關(guān)閉