在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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)用 > 采用定時器0產(chǎn)生多個時間間隔

            采用定時器0產(chǎn)生多個時間間隔

            作者: 時間:2012-12-01 來源:網(wǎng)絡(luò) 收藏

            采用單片機產(chǎn)生多個。程序中使用每50ms中斷一次,然后用tt,t1,t2,t3,t4,t5對中斷次數(shù)計數(shù),獲得100ms,1s,2s,4s,8s,16s間隔,在各個定時間隔內(nèi),分別使LED燈亮滅一次。源程序如下:
            #include AT89X51.H>
            unsigned char tt,t1,t2,t3,t4,t5; //全局時間隔變量
            unsigned char code dispcode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,
            0x82,0xF8,0x80,0x90}; //七段數(shù)碼管譯碼表
            void main(void) //主函數(shù)
            {
            TMOD=0x01; //運行在工作模式1,GATE=0,C/T=0
            TH0=(65536-15536)/256; //設(shè)置定時器0高8位初值
            TL0=(65536-15536)%256; //設(shè)置定時器0低8位初值
            //若是機器周期為1μs,則計數(shù)50000,相當(dāng)于50ms。
            TR0=1; //啟動定時器
            ET0=1; //允許定時器0中斷
            EA=1; //允許總中斷
            while(1) //無限循環(huán)
            {
            if(t1>5) P2_0=0; else P2_0=1; //根據(jù)變量值閃爍LED燈
            if(t2>10) P2_1=0; else P2_1=1;
            if(t3>20) P2_2=0; else P2_2=1;
            if(t4>40) P2_3=0; else P2_3=1;
            if(t5>80) P2_4=0; else P2_4=1;
            P1=dispcode[t4/10]; //顯示間隔變量t4的十位
            P0=dispcode[t4%10]; //顯示間隔變量t4的個位
            }}
            void t0(void) interrupt 1 //定時器0中斷服務(wù)程序
            {
            TH0=(65536-15536)/256; //設(shè)置定時器0高8位初值(3CH)
            TL0=(65536-15536)%256; //設(shè)置定時器0低8位初值(B0H)
            tt++; //每中斷一次,tt加1
            if(tt==2) //如果tt等于2,相當(dāng)于100ms,執(zhí)行如下語句
            {
            tt=0; //將tt清0,所以tt的計數(shù)值為0---1---2(0),每個間隔為50ms
            t1++;
            if(t1==10){t1=0;}
            t2++;
            if(t2==20){t2=0;}
            t3++;
            if(t3==40){t3=0;}
            t4++;
            if(t4==80){t4=0;}
            t5++;
            if(t5==160){t5=0;}
            P2_6=~P2_6; //每100ms,P2_6連接的LED燈閃爍一次
            } }



            關(guān)鍵詞: 定時器0 時間間隔 全局變量

            評論


            相關(guān)推薦

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

            關(guān)閉