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

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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3610|回復(fù): 22
打印 上一主題 下一主題
收起左側(cè)

關(guān)于51單片機(jī) 我覺(jué)得這個(gè)程序的意思應(yīng)該是亮一陣然后暗,為什么這個(gè)循環(huán)會(huì)有閃爍

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:278709 發(fā)表于 2018-1-22 19:49 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
問(wèn)題:我覺(jué)得這個(gè)程序的意思應(yīng)該是亮一陣然后暗,為什么這個(gè)循環(huán)會(huì)有閃爍,這個(gè)程序的執(zhí)行順序是什么?謝謝。
#include"reg52.h"
sbit led1=P2^0;
unsigned int a;
void main()
{
  a=50000;
led1=0;
while(a--);//問(wèn)題:這里的循環(huán)不是起延長(zhǎng)時(shí)間的作用嗎?使led1一直亮,之后就暗嗎?為什么會(huì)閃爍
led1=1;
  a=50000;
while(a--);
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:261288 發(fā)表于 2018-1-22 21:23 | 只看該作者
因延時(shí)比較短,視覺(jué)效果是閃爍的。
回復(fù)

使用道具 舉報(bào)

板凳
ID:7485 發(fā)表于 2018-1-22 21:31 | 只看該作者
led1=0(亮),延時(shí)(大約是0.5S),然后led1=1(滅)延時(shí)(大約是0.5S),不就是閃爍嗎?

你的程序少了一句(紅色的行)

void main()

{
while(1)
{
  a=50000;
led1=0;
while(a--);
  a=50000;
while(a--);
}
}
回復(fù)

使用道具 舉報(bào)

地板
ID:278299 發(fā)表于 2018-1-22 21:38 | 只看該作者
這是用來(lái)延時(shí)的,也可以用嵌套的for循環(huán),都有延時(shí)的作用
回復(fù)

使用道具 舉報(bào)

5#
ID:247467 發(fā)表于 2018-1-23 08:43 | 只看該作者
修改合適的延遲時(shí)間,看看咋樣
回復(fù)

使用道具 舉報(bào)

6#
ID:62355 發(fā)表于 2018-1-23 09:04 | 只看該作者
你這里延時(shí)做的不太對(duì),就是上面說(shuō),時(shí)間太短了,建議用定時(shí)器做,閃爍問(wèn)題不太能理解 應(yīng)該有while(1)的,我沒(méi)有看到 但是時(shí)間上必須要改動(dòng)。也可以做一個(gè)延時(shí)循環(huán) 之后調(diào)用他。比如delayms(int a)這個(gè)函數(shù)定義個(gè)毫秒級(jí)延時(shí),調(diào)用它,這樣你能知道你延時(shí)的時(shí)間。再不懂你就模擬調(diào)試 將LED 這個(gè)IO接口的邏輯和代碼一起貼出來(lái)。
回復(fù)

使用道具 舉報(bào)

7#
ID:278811 發(fā)表于 2018-1-23 09:39 | 只看該作者
延時(shí)比較短,所以就變成閃爍啦。樓主可以試試把a(bǔ)的值再調(diào)整大一些,就可以看到一陣亮一陣滅的效果啦
回復(fù)

使用道具 舉報(bào)

8#
無(wú)效樓層,該帖已經(jīng)被刪除
9#
ID:278860 發(fā)表于 2018-1-23 11:27 | 只看該作者
你的發(fā)光二極管的接法是共陰還是共陽(yáng)的呢?
回復(fù)

使用道具 舉報(bào)

10#
ID:278709 發(fā)表于 2018-1-23 11:45 | 只看該作者
ahshmj 發(fā)表于 2018-1-22 21:31
led1=0(亮),延時(shí)(大約是0.5S),然后led1=1(滅)延時(shí)(大約是0.5S),不就是閃爍嗎?

你的程序少了 ...

很感謝回答,想再問(wèn)一下為什么不加大循環(huán)while(1)也可以閃爍,如果沒(méi)有while(1)大循環(huán),這個(gè)程序?yàn)槭裁磿?huì)循環(huán)啊,這里的while(a--)不是只起延時(shí)的作用嗎,不會(huì)讓整個(gè)程序再循環(huán)啊,怎么會(huì)一直閃爍呢
回復(fù)

使用道具 舉報(bào)

11#
ID:278709 發(fā)表于 2018-1-23 11:48 | 只看該作者
流逝記憶 發(fā)表于 2018-1-23 09:04
你這里延時(shí)做的不太對(duì),就是上面說(shuō),時(shí)間太短了,建議用定時(shí)器做,閃爍問(wèn)題不太能理解 應(yīng)該有while(1)的 ...

非常感謝。由于是剛學(xué),今天剛學(xué)到延時(shí)函數(shù),感謝耐心回答
不過(guò),while(a--)明顯比f(wàn)or循環(huán)的嵌套簡(jiǎn)單的多啊,為什么調(diào)用的延時(shí)函數(shù)里面寫(xiě)的都是for循環(huán)的嵌套?
回復(fù)

使用道具 舉報(bào)

12#
ID:278709 發(fā)表于 2018-1-23 11:49 | 只看該作者
天下1213 發(fā)表于 2018-1-23 08:43
修改合適的延遲時(shí)間,看看咋樣

好,我沒(méi)注意時(shí)間,下次一定注意。感謝耐心回答
回復(fù)

使用道具 舉報(bào)

13#
ID:278709 發(fā)表于 2018-1-23 11:50 | 只看該作者
哦哦哦哦哦 發(fā)表于 2018-1-23 09:39
延時(shí)比較短,所以就變成閃爍啦。樓主可以試試把a(bǔ)的值再調(diào)整大一些,就可以看到一陣亮一陣滅的效果啦

可是我都沒(méi)有加while(1)的大循環(huán),他為什么會(huì)循環(huán)閃爍呢
回復(fù)

使用道具 舉報(bào)

14#
ID:278709 發(fā)表于 2018-1-23 11:52 | 只看該作者
leesin 發(fā)表于 2018-1-23 11:27
你的發(fā)光二極管的接法是共陰還是共陽(yáng)的呢?

低電平亮,應(yīng)該是共陽(yáng)
回復(fù)

使用道具 舉報(bào)

15#
ID:276587 發(fā)表于 2018-1-23 13:36 來(lái)自觸屏版 | 只看該作者
一直再循環(huán)里面如果你把后面去掉了,那就是延時(shí)了就滅了
回復(fù)

使用道具 舉報(bào)

16#
ID:278919 發(fā)表于 2018-1-23 14:20 | 只看該作者
不是循環(huán)執(zhí)行,while的等待時(shí)間太短,需要插入一些語(yǔ)句或延長(zhǎng)計(jì)數(shù)值。
回復(fù)

使用道具 舉報(bào)

17#
ID:278932 發(fā)表于 2018-1-23 14:58 | 只看該作者
while是循環(huán)當(dāng)然是閃爍了。。
回復(fù)

使用道具 舉報(bào)

18#
ID:278932 發(fā)表于 2018-1-23 15:26 | 只看該作者
a--,亮了接著減1,然后暗減1,亮循環(huán)進(jìn)行成閃爍了,要不改成定時(shí)才行
回復(fù)

使用道具 舉報(bào)

19#
無(wú)效樓層,該帖已經(jīng)被刪除
20#
ID:278954 發(fā)表于 2018-1-23 15:31 | 只看該作者
因延時(shí)比較短,視覺(jué)效果是閃爍的。
回復(fù)

使用道具 舉報(bào)

21#
ID:278954 發(fā)表于 2018-1-23 15:32 | 只看該作者

因延時(shí)比較短,視覺(jué)效果是閃爍的。
回復(fù)

使用道具 舉報(bào)

22#
ID:62355 發(fā)表于 2018-1-23 16:14 | 只看該作者
pinenut 發(fā)表于 2018-1-23 11:48
非常感謝。由于是剛學(xué),今天剛學(xué)到延時(shí)函數(shù),感謝耐心回答
不過(guò),while(a--)明顯比f(wàn)or循環(huán)的嵌套簡(jiǎn)單 ...

現(xiàn)在你用us級(jí)延時(shí) ms 級(jí)延時(shí) s級(jí)延時(shí) 你會(huì)發(fā)現(xiàn)嵌套比while(a--)好用。
回復(fù)

使用道具 舉報(bào)

23#
ID:278982 發(fā)表于 2018-1-23 16:17 | 只看該作者
不能依靠這么高速運(yùn)行單片機(jī),來(lái)做減數(shù)運(yùn)算,得出來(lái)的時(shí)間,你的肉眼是無(wú)法分辨的
回復(fù)

使用道具 舉報(bào)

24#
ID:278982 發(fā)表于 2018-1-23 16:21 | 只看該作者
應(yīng)該寫(xiě)延時(shí)子程序
回復(fù)

使用道具 舉報(bào)

25#
ID:278709 發(fā)表于 2018-1-24 19:29 | 只看該作者
pinenut 發(fā)表于 2018-1-23 11:45
很感謝回答,想再問(wèn)一下為什么不加大循環(huán)while(1)也可以閃爍,如果沒(méi)有while(1)大循環(huán),這個(gè)程序?yàn)槭?...

為什么不加while(1)大循環(huán)還是閃爍
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表