新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機定時器工作模式TMOD設置

        單片機定時器工作模式TMOD設置

        作者: 時間:2013-06-08 來源:網絡 收藏

        TMOD:/計數器模式控制寄存器(TIMER/COUNTER MODE CONTROL REGISTER)

        /計數器模式控制寄存器TMOD是一個逐位定義的8位寄存器,但只能使用字節尋址,其字節地址為89H。

        其格式為:

        單片機定時器工作模式TMOD設置

        TMOD結構圖

        ==============================================

        其中低四位定義定時器/計數器T0,高四位定義定時器/計數器T1,各位的說明:

        Ⅰ,GATE——門控制。

        ●GATE=1時,由外部中斷引腳INT0、INT1來啟動定時器T0、T1。

        當INT0引腳為高電平時TR0置位,啟動定時器T0;

        當INT1引腳為高電平時TR1置位,啟動定時器T1。

        ●GATE=0時,僅由TR0,TR1置位分別啟動定時器T0、T1。

        Ⅱ,C/T——功能選擇位

        C/T=0時為定時功能,C/T=1時為計數功能。

        置位時選擇計數功能,清零時選擇定時功能。

        Ⅲ,M0、M1——方式選擇功能

        由于有2位,因此有4種工作方式

        ==============================

        M1M0 工作方式 計數器模式 TMOD(設置定時器模式)

        0 0 方式0 13位計數器 TMOD=0x00

        0 1 方式1 16位計數器 TMOD=0x01

        1 0 方式2 自動重裝8位計數器 TMOD=0x02

        1 1 方式3 T0分為2個8位獨立計數器,T1為無中斷重裝8位計數器 TMOD=0x03

        定時器0設置為工作方式1為TMOD=0x01;定時器1設置工作方式1時TMOD=0x10

        沒有用到的定時器一般設置為0

        =============================

        初始化定時器0

        TH0=(65535-50000)/256;Tl0=(65535-50000)%256;

        在51中,如果你的定時器0選擇的是“方式一”,則表示定時器0的計數器從0開始加到50000,其中每加一次的時間為你的晶振頻率的倒數。如12MHz,則每加一個數的時間為 1*12/12000000 秒。你的公式中是加50000次,即 50000*1*12/12000000 = 50MS。注:數值只能從0加到65535,否則就會溢出。如果需要定時的時間長,可在定時器中斷函數中,使用全局變量計數。如使用你的公式進行定時器初始化,想要實現1S的定時,則等到全局變量從0加至20時,即定時器0發生20次中斷,就可以了。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南华县| 淳安县| 布拖县| 奎屯市| 阿城市| 会东县| 大宁县| 商丘市| 荣昌县| 太原市| 清流县| 松滋市| 梁河县| 定结县| 永济市| 大石桥市| 厦门市| 平原县| 永修县| 霍山县| 界首市| 南昌市| 通辽市| 托克逊县| 中阳县| 瑞丽市| 泰安市| 龙井市| 平谷区| 武汉市| 客服| 会同县| 兰坪| 东乡县| 黔西县| 富裕县| 虞城县| 远安县| 潮州市| 丰顺县| 大方县|