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

標題: 單片機LED燈閃亮問題 [打印本頁]

作者: molo    時間: 2019-9-21 10:41
標題: 單片機LED燈閃亮問題
大家好!請教各位大俠一下:
在STC單片機上,原來控制LED打開用以下語句:
case 0x01: OUT1=0;break;
想把這個修改成亮1秒滅1秒,怎么修改呢?加延時還是加定時器?
給個參考示例,謝謝!


作者: 來51學習的    時間: 2019-9-21 12:33
如果沒有別的控制,加延時的方式最方便
作者: 166864646883    時間: 2019-9-21 12:57
延時定時器都可以,延時的話只能大概,不是很準確,定時器的話比較準確
作者: 166864646883    時間: 2019-9-21 12:58
比如延時的:
OUT1=0;
for(i=0;i<30000;i++);
OUT1=1;
for(i=0;i<30000;i++);
作者: devcang    時間: 2019-9-21 13:30
定時器、延時,都可以做到的。
~~~~~~~~
作者: angmall    時間: 2019-9-21 13:52
你這個程序不完整
問題描述太少,不好貿然回答

作者: molo    時間: 2019-9-21 16:01
我是想讓LED一直閃著,用延時好像一段時間就會停下來。
作者: molo    時間: 2019-9-21 16:11
不好意思,沒說清楚,是想修改成亮1秒滅1秒,一直循環。
作者: 海里蛐蛐    時間: 2019-9-21 16:26
估計樓主是想通過 switch判斷變量 來控制led。這個開個定時中斷每隔1s改變判斷變量就可以了。
作者: qq603599910    時間: 2019-9-21 16:39
沒有相關任務,軟件延時最直接也最簡單易懂.

void Delay1000ms()                //@11.0592MHz
{
        unsigned char i, j, k;

        _nop_();
        _nop_();
        i = 43;
        j = 6;
        k = 203;
        do
        {
                do
                {
                        while (--k);
                } while (--j);
        } while (--i);
}
作者: 文鳳軒    時間: 2019-9-21 17:09
加延時就行了
作者: molo    時間: 2019-9-21 17:25
謝謝各位,我再琢磨琢磨!
作者: qq603599910    時間: 2019-9-21 21:22
定義LED變量,然后默認LED=1,main函數里加while循環,啟動延時后加一行 LED=!LED ,每次取反,這樣就能循環亮滅閃動了.從基本的教程開始學習一下,最初步的教程就是LED的亮和閃亮開始.
作者: hantu    時間: 2019-9-21 21:58
用中斷吧,一開中斷就讓它亮滅不停,關中斷它才停下。
作者: weijoyer    時間: 2019-9-22 00:23
簡單的直接加軟件延時,如果有控制用定時器提高效率
作者: 你是我爸爸    時間: 2019-9-22 19:50
定時器吧,用定時器限時一秒,再在主函數判定循環取反就OK啦
作者: molo    時間: 2019-9-22 21:15
謝謝各位答復,看來用定時器比較好。
作者: spendell    時間: 2019-9-22 22:23
延時不準,定時器準一些。
作者: 1539905269    時間: 2019-9-23 11:38
加延遲會造成程序堵塞 建議開啟定時器  每次取反輸出




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