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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

關于51單片機 我覺得這個程序的意思應該是亮一陣然后暗,為什么這個循環會有閃爍

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

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

使用道具 舉報

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

使用道具 舉報

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

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

void main()

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

使用道具 舉報

地板
ID:278299 發表于 2018-1-22 21:38 | 只看該作者
這是用來延時的,也可以用嵌套的for循環,都有延時的作用
回復

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

你的程序少了 ...

很感謝回答,想再問一下為什么不加大循環while(1)也可以閃爍,如果沒有while(1)大循環,這個程序為什么會循環啊,這里的while(a--)不是只起延時的作用嗎,不會讓整個程序再循環啊,怎么會一直閃爍呢
回復

使用道具 舉報

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

非常感謝。由于是剛學,今天剛學到延時函數,感謝耐心回答
不過,while(a--)明顯比for循環的嵌套簡單的多啊,為什么調用的延時函數里面寫的都是for循環的嵌套?
回復

使用道具 舉報

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

好,我沒注意時間,下次一定注意。感謝耐心回答
回復

使用道具 舉報

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

可是我都沒有加while(1)的大循環,他為什么會循環閃爍呢
回復

使用道具 舉報

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

低電平亮,應該是共陽
回復

使用道具 舉報

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

使用道具 舉報

16#
ID:278919 發表于 2018-1-23 14:20 | 只看該作者
不是循環執行,while的等待時間太短,需要插入一些語句或延長計數值。
回復

使用道具 舉報

17#
ID:278932 發表于 2018-1-23 14:58 | 只看該作者
while是循環當然是閃爍了。。
回復

使用道具 舉報

18#
ID:278932 發表于 2018-1-23 15:26 | 只看該作者
a--,亮了接著減1,然后暗減1,亮循環進行成閃爍了,要不改成定時才行
回復

使用道具 舉報

19#
無效樓層,該帖已經被刪除
20#
ID:278954 發表于 2018-1-23 15:31 | 只看該作者
因延時比較短,視覺效果是閃爍的。
回復

使用道具 舉報

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

因延時比較短,視覺效果是閃爍的。
回復

使用道具 舉報

22#
ID:62355 發表于 2018-1-23 16:14 | 只看該作者
pinenut 發表于 2018-1-23 11:48
非常感謝。由于是剛學,今天剛學到延時函數,感謝耐心回答
不過,while(a--)明顯比for循環的嵌套簡單 ...

現在你用us級延時 ms 級延時 s級延時 你會發現嵌套比while(a--)好用。
回復

使用道具 舉報

23#
ID:278982 發表于 2018-1-23 16:17 | 只看該作者
不能依靠這么高速運行單片機,來做減數運算,得出來的時間,你的肉眼是無法分辨的
回復

使用道具 舉報

24#
ID:278982 發表于 2018-1-23 16:21 | 只看該作者
應該寫延時子程序
回復

使用道具 舉報

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

為什么不加while(1)大循環還是閃爍
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成年人在线观看视频 | 涩涩鲁亚洲精品一区二区 | 免费一看一级毛片 | 国产黄色精品在线观看 | 午夜资源| 久久久久中文字幕 | 91视频在线观看免费 | 亚洲欧美日韩久久久 | 全免费a级毛片免费看视频免费下 | 成人影院免费视频 | 99精品视频免费在线观看 | 精品久久国产老人久久综合 | 国产精品国产三级国产aⅴ原创 | 亚洲第一色av | 999精品视频在线观看 | 精品自拍视频在线观看 | 久久久久国产一区二区三区不卡 | 2018国产大陆天天弄 | 一区二区三区国产好的精 | 国产成人久久 | 亚洲成人中文字幕 | 成人免费在线观看视频 | 欧美jizzhd精品欧美巨大免费 | 国产sm主人调教女m视频 | 色在线免费视频 | 91色在线| 欧美一级片中文字幕 | 国产一区二区精品在线观看 | 欧美日韩精品免费观看 | 一级免费毛片 | 欧美久久一区二区三区 | 天堂久久网 | 黄片毛片免费观看 | 天天躁日日躁狠狠的躁天龙影院 | 国产精品国色综合久久 | 精品国产不卡一区二区三区 | 久久久久久久久国产精品 | 国产欧美一区二区久久性色99 | 欧美一区二区三区在线观看 | 亚洲国产精品网站 | 在线中文字幕亚洲 |