久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3206|回復(fù): 9
收起左側(cè)

請(qǐng)教一個(gè)單片機(jī)定時(shí)器中斷進(jìn)行多個(gè)倒計(jì)時(shí)設(shè)計(jì)

[復(fù)制鏈接]
ID:405193 發(fā)表于 2018-11-29 09:14 | 顯示全部樓層 |閱讀模式
各位師傅,您們好,我想用一個(gè)單片機(jī)中斷設(shè)置四個(gè)時(shí)間倒計(jì)時(shí),現(xiàn)在我只能用類似延時(shí)的方法實(shí)現(xiàn),我到有師傅說可以用用一個(gè)定時(shí)器中斷做時(shí)基,有幾路倒計(jì)時(shí)就用幾個(gè)倒計(jì)時(shí)單元,分別置初值,在定時(shí)器中斷程序內(nèi)對(duì)各個(gè)計(jì)時(shí)單元減1,主程序只要不斷查詢各個(gè)計(jì)數(shù)單元,哪一個(gè)歸零了,就是哪一路倒計(jì)時(shí)結(jié)束了。不知道怎樣寫,希望懂的師傅們給點(diǎn)樣品代碼,非常感謝。
我現(xiàn)在用的延時(shí)方法:
void ISR_INT2(void) interrupt 12      
{
           static ulong nn;

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

           

}

這樣就是秒的中斷,把這個(gè)秒設(shè)置成一個(gè)延時(shí)函數(shù),就可以調(diào)用四個(gè)不同的時(shí)間了,我想看看師傅們?cè)鯓佑弥袛鄿p操作的方法,非常感謝。
回復(fù)

使用道具 舉報(bào)

ID:424598 發(fā)表于 2018-11-29 10:22 來自觸屏版 | 顯示全部樓層
這個(gè)應(yīng)該沒問題,定義四個(gè)變量時(shí)間,初始不同值,啟用定時(shí)器,四個(gè)變量同時(shí)減
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2018-11-29 10:50 | 顯示全部樓層
回復(fù)

使用道具 舉報(bào)

ID:405193 發(fā)表于 2018-11-29 11:10 | 顯示全部樓層
ssk7793 發(fā)表于 2018-11-29 10:22
這個(gè)應(yīng)該沒問題,定義四個(gè)變量時(shí)間,初始不同值,啟用定時(shí)器,四個(gè)變量同時(shí)減

您好,就是四個(gè)減過程我不會(huì)寫,能給我寫一段樣例嗎?我是剛學(xué)單片機(jī)2個(gè)多月,非常感謝您了。
回復(fù)

使用道具 舉報(bào)

ID:405193 發(fā)表于 2018-11-29 11:12 | 顯示全部樓層
ssk7793 發(fā)表于 2018-11-29 10:22
這個(gè)應(yīng)該沒問題,定義四個(gè)變量時(shí)間,初始不同值,啟用定時(shí)器,四個(gè)變量同時(shí)減

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

使用道具 舉報(bào)

ID:405193 發(fā)表于 2018-11-29 11:16 | 顯示全部樓層
wulin 發(fā)表于 2018-11-29 10:50
查看wulin的回帖:http://www.zg4o1577.cn/bbs/dpj-136631-1.html

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

使用道具 舉報(bào)

ID:424598 發(fā)表于 2018-11-29 15:12 來自觸屏版 | 顯示全部樓層
減和加不是一樣的么?比如加是i++,那么減就是i--,四個(gè)變量由于初始值不一樣,所以放在一起減,沒問題啊。i1--;i2--;i3--;i4--;
回復(fù)

使用道具 舉報(bào)

ID:405193 發(fā)表于 2018-11-29 16:14 | 顯示全部樓層
ssk7793 發(fā)表于 2018-11-29 15:12
減和加不是一樣的么?比如加是i++,那么減就是i--,四個(gè)變量由于初始值不一樣,所以放在一起減,沒問題啊。 ...

非常感謝您的回復(fù),現(xiàn)在問題是中斷同一時(shí)間里只能執(zhí)行一個(gè),其它的三個(gè)都不工作,不管是加還是減。我想四個(gè)只要檢測(cè)到信號(hào),就開始延時(shí),用兩個(gè)中斷可以實(shí)現(xiàn)2路,就是想用一個(gè)中斷實(shí)現(xiàn)多路不行。
回復(fù)

使用道具 舉報(bào)

ID:405193 發(fā)表于 2018-11-29 19:00 | 顯示全部樓層
ssk7793 發(fā)表于 2018-11-29 15:12
減和加不是一樣的么?比如加是i++,那么減就是i--,四個(gè)變量由于初始值不一樣,所以放在一起減,沒問題啊。 ...

非常感謝師傅,已經(jīng)修改好了,不過我只會(huì)用++,到達(dá)時(shí)間執(zhí)行。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 波多野结衣一区二区三区 | 中文字幕 欧美 日韩 | 欧美日韩一二三区 | 大陆一级毛片免费视频观看 | 99精品久久久久 | 九九热在线免费视频 | 日韩三级电影一区二区 | 亚洲成人av在线播放 | 欧美一区视频在线 | 国产成人高清视频 | 日韩a| 欧美三区在线观看 | 欧美炮房 | 日韩高清一区 | 国产精品亚洲视频 | 日韩精品一区二区三区在线播放 | 午夜免费影视 | 在线看av的网址 | 日韩亚洲欧美一区 | 精品国产乱码久久久久久88av | 亚洲精品免费观看 | 亚洲av毛片 | 久久不卡日韩美女 | 美女黄频| 精区3d动漫一品二品精区 | 国产精品久久国产精品 | 久久精品国产99国产精品 | 在线视频一区二区三区 | 国产欧美在线 | 亚洲欧美一区二区三区1000 | 日韩中文字幕在线观看 | 国产一区二区免费 | 欧美炮房| 日本高清中文字幕 | 一级黄色片美国 | 成人片免费看 | 亚洲人成人一区二区在线观看 | 在线观看日本网站 | 午夜一区二区三区视频 | 亚洲精品电影在线 | 欧美自拍日韩 |