亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3825|回復: 9
打印 上一主題 下一主題
收起左側

請教一個單片機定時器中斷進行多個倒計時設計

[復制鏈接]
跳轉到指定樓層
樓主
ID:405193 發表于 2018-11-29 09:14 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位師傅,您們好,我想用一個單片機中斷設置四個時間倒計時,現在我只能用類似延時的方法實現,我到有師傅說可以用用一個定時器中斷做時基,有幾路倒計時就用幾個倒計時單元,分別置初值,在定時器中斷程序內對各個計時單元減1,主程序只要不斷查詢各個計數單元,哪一個歸零了,就是哪一路倒計時結束了。不知道怎樣寫,希望懂的師傅們給點樣品代碼,非常感謝。
我現在用的延時方法:
void ISR_INT2(void) interrupt 12      
{
           static ulong nn;

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

           

}

這樣就是秒的中斷,把這個秒設置成一個延時函數,就可以調用四個不同的時間了,我想看看師傅們怎樣用中斷減操作的方法,非常感謝。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:424598 發表于 2018-11-29 10:22 來自觸屏版 | 只看該作者
這個應該沒問題,定義四個變量時間,初始不同值,啟用定時器,四個變量同時減
回復

使用道具 舉報

板凳
ID:213173 發表于 2018-11-29 10:50 | 只看該作者
回復

使用道具 舉報

地板
ID:405193 發表于 2018-11-29 11:10 | 只看該作者
ssk7793 發表于 2018-11-29 10:22
這個應該沒問題,定義四個變量時間,初始不同值,啟用定時器,四個變量同時減

您好,就是四個減過程我不會寫,能給我寫一段樣例嗎?我是剛學單片機2個多月,非常感謝您了。
回復

使用道具 舉報

5#
ID:405193 發表于 2018-11-29 11:12 | 只看該作者
ssk7793 發表于 2018-11-29 10:22
這個應該沒問題,定義四個變量時間,初始不同值,啟用定時器,四個變量同時減

您好,初始值我會,就是中斷里減的過程我不會,我只會加,抱歉了,不要見笑了,我剛學不久。
回復

使用道具 舉報

6#
ID:405193 發表于 2018-11-29 11:16 | 只看該作者
wulin 發表于 2018-11-29 10:50
查看wulin的回帖:http://www.denmoz.com/bbs/dpj-136631-1.html

您好,這個鏈接里面沒有在中斷里執行減操作的方法,能給我一個減操作的例子嗎?非常感謝。
        if(numrelays==YSA)   //A的延時時間
                  {
                        numrelays--;
                        if(!numrelays)
                                {執行語句}
                }
其它三個一樣一樣這樣寫,這樣可以嗎?
回復

使用道具 舉報

7#
ID:424598 發表于 2018-11-29 15:12 來自觸屏版 | 只看該作者
減和加不是一樣的么?比如加是i++,那么減就是i--,四個變量由于初始值不一樣,所以放在一起減,沒問題啊。i1--;i2--;i3--;i4--;
回復

使用道具 舉報

8#
ID:405193 發表于 2018-11-29 16:14 | 只看該作者
ssk7793 發表于 2018-11-29 15:12
減和加不是一樣的么?比如加是i++,那么減就是i--,四個變量由于初始值不一樣,所以放在一起減,沒問題啊。 ...

非常感謝您的回復,現在問題是中斷同一時間里只能執行一個,其它的三個都不工作,不管是加還是減。我想四個只要檢測到信號,就開始延時,用兩個中斷可以實現2路,就是想用一個中斷實現多路不行。
回復

使用道具 舉報

9#
ID:405193 發表于 2018-11-29 19:00 | 只看該作者
ssk7793 發表于 2018-11-29 15:12
減和加不是一樣的么?比如加是i++,那么減就是i--,四個變量由于初始值不一樣,所以放在一起減,沒問題啊。 ...

非常感謝師傅,已經修改好了,不過我只會用++,到達時間執行。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表