欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 請教一個單片機定時器中斷進行多個倒計時設(shè)計 [打印本頁]

作者: yong761228    時間: 2018-11-29 09:14
標(biāo)題: 請教一個單片機定時器中斷進行多個倒計時設(shè)計
各位師傅,您們好,我想用一個單片機中斷設(shè)置四個時間倒計時,現(xiàn)在我只能用類似延時的方法實現(xiàn),我到有師傅說可以用用一個定時器中斷做時基,有幾路倒計時就用幾個倒計時單元,分別置初值,在定時器中斷程序內(nèi)對各個計時單元減1,主程序只要不斷查詢各個計數(shù)單元,哪一個歸零了,就是哪一路倒計時結(jié)束了。不知道怎樣寫,希望懂的師傅們給點樣品代碼,非常感謝。
我現(xiàn)在用的延時方法:
void ISR_INT2(void) interrupt 12      
{
           static ulong nn;

       T2L = 0x20;                //設(shè)置定時初值
           T2H = 0xD1;                //設(shè)置定時初值
                   nn++;                    //自加 臨時計數(shù)器01
               if(nn==1000)             //如果 臨時計數(shù)器01達到設(shè)定值(1ms轉(zhuǎn)1s)
        {         nn=0;             //清零 臨時計數(shù)器01
            numrelays++;           //自加 計數(shù)器relay
         }

           

}

這樣就是秒的中斷,把這個秒設(shè)置成一個延時函數(shù),就可以調(diào)用四個不同的時間了,我想看看師傅們怎樣用中斷減操作的方法,非常感謝。

作者: ssk7793    時間: 2018-11-29 10:22
這個應(yīng)該沒問題,定義四個變量時間,初始不同值,啟用定時器,四個變量同時減
作者: wulin    時間: 2018-11-29 10:50
查看wulin的回帖:http://m.raoushi.com/bbs/dpj-136631-1.html

作者: yong761228    時間: 2018-11-29 11:10
ssk7793 發(fā)表于 2018-11-29 10:22
這個應(yīng)該沒問題,定義四個變量時間,初始不同值,啟用定時器,四個變量同時減

您好,就是四個減過程我不會寫,能給我寫一段樣例嗎?我是剛學(xué)單片機2個多月,非常感謝您了。
作者: yong761228    時間: 2018-11-29 11:12
ssk7793 發(fā)表于 2018-11-29 10:22
這個應(yīng)該沒問題,定義四個變量時間,初始不同值,啟用定時器,四個變量同時減

您好,初始值我會,就是中斷里減的過程我不會,我只會加,抱歉了,不要見笑了,我剛學(xué)不久。
作者: yong761228    時間: 2018-11-29 11:16
wulin 發(fā)表于 2018-11-29 10:50
查看wulin的回帖:http://m.raoushi.com/bbs/dpj-136631-1.html

您好,這個鏈接里面沒有在中斷里執(zhí)行減操作的方法,能給我一個減操作的例子嗎?非常感謝。
        if(numrelays==YSA)   //A的延時時間
                  {
                        numrelays--;
                        if(!numrelays)
                                {執(zhí)行語句}
                }
其它三個一樣一樣這樣寫,這樣可以嗎?
作者: ssk7793    時間: 2018-11-29 15:12
減和加不是一樣的么?比如加是i++,那么減就是i--,四個變量由于初始值不一樣,所以放在一起減,沒問題啊。i1--;i2--;i3--;i4--;
作者: yong761228    時間: 2018-11-29 16:14
ssk7793 發(fā)表于 2018-11-29 15:12
減和加不是一樣的么?比如加是i++,那么減就是i--,四個變量由于初始值不一樣,所以放在一起減,沒問題啊。 ...

非常感謝您的回復(fù),現(xiàn)在問題是中斷同一時間里只能執(zhí)行一個,其它的三個都不工作,不管是加還是減。我想四個只要檢測到信號,就開始延時,用兩個中斷可以實現(xiàn)2路,就是想用一個中斷實現(xiàn)多路不行。
作者: yong761228    時間: 2018-11-29 19:00
ssk7793 發(fā)表于 2018-11-29 15:12
減和加不是一樣的么?比如加是i++,那么減就是i--,四個變量由于初始值不一樣,所以放在一起減,沒問題啊。 ...

非常感謝師傅,已經(jīng)修改好了,不過我只會用++,到達時間執(zhí)行。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1