新聞中心

        51單片機(jī)-定時(shí)器

        作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò) 收藏
        定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)和工作原理
        定時(shí)/計(jì)數(shù)器的實(shí)質(zhì)是加1計(jì)數(shù)器(16位),由高8位和低8位兩個(gè)寄存器組成。80C51單片機(jī)定時(shí)/計(jì)數(shù)器的工作是由兩個(gè)特殊功能寄存器控制的。TMOD是定時(shí)/計(jì)數(shù)器的工作方式寄存器,確定工作方式和功能,低四位用于T0,高四位用于T1。TCON是控制寄存器,控制T0和T1的啟動(dòng)和停止及溢出標(biāo)志,高四位與定時(shí)器有關(guān),低四位與外部中斷有關(guān)。如果定時(shí)/計(jì)數(shù)器工作于定時(shí)模式,則表示定時(shí)時(shí)間已到;如果工作于計(jì)數(shù)模式,則表示計(jì)數(shù)值已滿。加1計(jì)數(shù)器輸入的計(jì)數(shù)脈沖有兩個(gè)來(lái)源,一個(gè)是由系統(tǒng)的時(shí)鐘振蕩脈沖經(jīng)12分頻后送來(lái);一個(gè)是T0或T1引腳輸入的外部脈沖源。








        中斷允許控制。CPU對(duì)中斷系統(tǒng)所有中斷以及某個(gè)中斷源的開放和屏蔽是由中斷允許寄存器
        IE控制的。
        #include <reg52.h>
        unsigned int t;
        sbit p3_4 = P3^4;
        void init_timer(){
        TH0 = (65535 - 50000) / 256; //求取高8位
        TL0 = (65535 - 50000) % 256; //求取低8位
        EA = 1; //CPU總中斷允許位
        ET0 = 1; //定時(shí)/計(jì)數(shù)器中斷允許位
        IT0 = 1; //下降沿有效
        TR0 = 1; //定時(shí)器啟動(dòng)
        TMOD = 0x01; //使用定時(shí)器T0,16位計(jì)數(shù)器
        p3_4 = 1;
        }
        void main(){
        init_timer();
        t = 0;
        while(1){
        if(t == 20){
        p3_4 = "p3_4; //響一秒,停一秒
        t = 0;
        }
        }
        }
        void bell() interrupt 1{
        TH0 = (65535 - 50000) / 256; //從15535開始計(jì)時(shí),共50000us,50ms
        TL0 = (65535 - 50000) % 256; //20*50 = 1000ms = 1s 即1s響停一次
        t++;
        }


        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 梁山县| 嘉祥县| 颍上县| 栖霞市| 收藏| 抚远县| 兴仁县| 昌都县| 南丹县| 辽宁省| 宜昌市| 平凉市| SHOW| 瑞金市| 太仆寺旗| 崇信县| 怀仁县| 延吉市| 井冈山市| 宁阳县| 龙南县| 通州市| 呼和浩特市| 梅州市| 新乡县| 无锡市| 岐山县| 上犹县| 巴楚县| 肇庆市| 安远县| 泽库县| 崇阳县| 台南市| 光泽县| 黄平县| 新竹县| 凤城市| 瑞金市| 宁津县| 金平|