標(biāo)題: 單片機(jī) 燈一直亮,不能閃爍,求大神告訴程序哪錯(cuò)了 新人 [打印本頁(yè)]

作者: Dpjaihaozhe    時(shí)間: 2017-6-3 17:56
標(biāo)題: 單片機(jī) 燈一直亮,不能閃爍,求大神告訴程序哪錯(cuò)了 新人
#include<reg52.h>
sbit led=P2^0;
void delay500us(void)   //誤差 0us
{
    unsigned char a,b;
    for(b=71;b>0;b--)
        for(a=2;a>0;a--);
}
  void main()
  {
  while(1)
  {
  led=0;
  delay500us();
  led=1;
  delay500us();
  }
  }
燈一直亮,不能閃爍,求大神告訴哪錯(cuò)了


作者: cjjcjj1    時(shí)間: 2017-6-3 18:18
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
作者: Dpjaihaozhe    時(shí)間: 2017-6-3 18:58
cjjcjj1 發(fā)表于 2017-6-3 18:18
延時(shí)時(shí)間太短了

一般時(shí)間設(shè)置多少
作者: yzwzfyz    時(shí)間: 2017-6-3 19:21
延時(shí)時(shí)間大于視覺(jué)殘留時(shí)間就可以了。
作者: ttwwtt    時(shí)間: 2017-6-3 21:01
這個(gè)只能是延時(shí)時(shí)間太短了,其實(shí)數(shù)碼管閃爍的原因就是延時(shí)時(shí)間加上人眼睛的視覺(jué)殘留效應(yīng)引起的,所以修改一下延時(shí)時(shí)間就行,一般20毫秒就可以
作者: Dpjaihaozhe    時(shí)間: 2017-6-3 21:23
yzwzfyz 發(fā)表于 2017-6-3 19:21
延時(shí)時(shí)間大于視覺(jué)殘留時(shí)間就可以了。

謝謝,我也是江都的
作者: Dpjaihaozhe    時(shí)間: 2017-6-3 21:26
cjjcjj1 發(fā)表于 2017-6-3 18:18
延時(shí)時(shí)間太短了

謝謝,大神回復(fù)
作者: 看見(jiàn)客    時(shí)間: 2017-6-3 21:35
應(yīng)該把a(bǔ)設(shè)置上百最好
作者: qwer121    時(shí)間: 2017-6-3 21:38
延時(shí)時(shí)間問(wèn)題
作者: zl2168    時(shí)間: 2017-6-4 08:32
Dpjaihaozhe 發(fā)表于 2017-6-3 18:58
一般時(shí)間設(shè)置多少

至少0.1s
作者: STC89C51    時(shí)間: 2017-6-4 10:28
延時(shí)時(shí)間太短了,刷新太快,小于人眼視覺(jué)殘留時(shí)間了,可是將延時(shí)時(shí)間加長(zhǎng),延時(shí)時(shí)間至少為0.1s
作者: laozang    時(shí)間: 2017-6-4 12:36
延時(shí)時(shí)間太短了,人眼分辨的時(shí)間30ms往上,不然會(huì)有視覺(jué)停留,感覺(jué)不到led的變化的
作者: 51Lovers    時(shí)間: 2017-6-4 15:20
視覺(jué)殘留理論上是200ms,刷新數(shù)碼管要小于200ms才不會(huì)閃爍。
作者: Words丶    時(shí)間: 2017-6-4 16:26
延時(shí)太短了 肉眼分別不了 換成10000 就能看到效果了
作者: tyuyuiuiuiugfgf    時(shí)間: 2017-6-4 16:59
延時(shí)時(shí)間大于視覺(jué)殘留時(shí)間就可以了
作者: 蛻變    時(shí)間: 2017-6-5 08:53
修改延遲函數(shù),延遲太短~
作者: lids    時(shí)間: 2017-6-5 11:32
延時(shí)太短,視覺(jué)暫留,你看到的就是一直亮著的,加大延時(shí)
作者: 吳啟金    時(shí)間: 2017-6-5 11:50
                                                            #include<reg51.h> sbit led=P2^0;  void delay500us(unsigned char ms)  //誤差 0us {    unsigned char i;         while(ms--)         {                 for(i = 0; i < 120; i++);         } }   void main()   {   while(1)   {   led=0;   delay500us(1000);   led=1;   delay500us(1000);   }   }
作者: 吳啟金    時(shí)間: 2017-6-5 11:50
qwer121 發(fā)表于 2017-6-3 21:38
延時(shí)時(shí)間問(wèn)題

                                                          
#include<reg51.h>
sbit led=P2^0;

void delay500us(unsigned char ms)  //誤差 0us
{
   unsigned char i;
        while(ms--)
        {
                for(i = 0; i < 120; i++);
        }
}
  void main()
  {
  while(1)
  {
  led=0;
  delay500us(1000);
  led=1;
  delay500us(1000);
  }
  }
作者: xuemei645876017    時(shí)間: 2017-6-5 12:50
在延時(shí)函數(shù)里,你讓for循環(huán)就是ab的乘積最少10000次
作者: peng19970426    時(shí)間: 2017-6-5 14:10
延時(shí)時(shí)間太短1所以看不到,加大延時(shí)的時(shí)間即可喲
作者: 沉默的墓碑    時(shí)間: 2017-6-5 14:10
延遲太短,建議延長(zhǎng)
作者: dyalexamor    時(shí)間: 2017-6-5 14:52

延時(shí)時(shí)間太短了
作者: 依然是你    時(shí)間: 2017-6-5 15:11
閃的太快了 人家區(qū)別不出來(lái)了
作者: sicelex    時(shí)間: 2017-6-5 15:22
延時(shí)時(shí)間短了些
作者: lancong    時(shí)間: 2017-6-5 16:50
延時(shí)太短,燈光的閃爍眼睛捕捉不到,延長(zhǎng)時(shí)間就可以了
作者: cherishqwer    時(shí)間: 2017-6-5 18:15
延時(shí)應(yīng)該長(zhǎng)一點(diǎn)人的視覺(jué)殘留效應(yīng)
作者: qwert55n    時(shí)間: 2017-6-6 10:16
燈在閃,只是你看不清楚,它的亮度低于正常的發(fā)光亮度
作者: lovexeon    時(shí)間: 2017-6-6 21:56
用for循環(huán)讓delay500us()多運(yùn)行幾次,50微秒的閃爍頻率眼睛是分辨不出來(lái)的
作者: 13852833337    時(shí)間: 2017-6-9 08:51
延遲設(shè)置為50000試試
作者: 梅花    時(shí)間: 2017-6-9 18:09
延時(shí)時(shí)間太短,人的肉眼無(wú)法看到變化,加大延時(shí)時(shí)間20毫秒以上就可以了
作者: 223342105    時(shí)間: 2017-6-9 19:37
延時(shí)短。一般500ms吧
作者: 666到家    時(shí)間: 2017-6-9 20:40
延時(shí)函數(shù)都寫(xiě)成delay500us(2000);   這樣就會(huì)每隔一秒閃爍
作者: 1546306199    時(shí)間: 2017-6-9 22:15
人的視覺(jué)停留時(shí)間為50ms到200ms,所以延時(shí)程序要改到50ms以上
作者: 鴕鳥(niǎo)不會(huì)飛    時(shí)間: 2017-6-10 09:47
看你的程序是由于延時(shí)時(shí)間太短造成的,你可以借助示波器看一下波形你就會(huì)知道。應(yīng)該還有一個(gè)現(xiàn)象就是你這個(gè)燈的亮度會(huì)比正常燈的亮度要低。因?yàn)闊舨皇且恢惫ぷ鳎情g歇性工作的。
作者: 仙塵貓爺爺    時(shí)間: 2017-6-10 12:02
延時(shí)太短了~還可以用led取反加延時(shí),可以簡(jiǎn)化一下~
void delayms(unsigned int z)
{
    int x,y;   
    for(x=z;x>0;x--)
        for(y=110;y>0;y--);
}
while(1)
{
    led=~led;
    delayms(1000);
}
作者: 欣然相惜    時(shí)間: 2017-6-10 14:52
延時(shí)太短 建議加長(zhǎng)就行了
作者: 123456x    時(shí)間: 2017-6-10 16:35
把a(bǔ)改成13000,b改成13000,就行了
作者: 123456x    時(shí)間: 2017-6-10 16:36
zl2168 發(fā)表于 2017-6-4 08:32
至少0.1s

一般設(shè)置a=13000,b=13000
作者: 樹(shù)葉的人生    時(shí)間: 2017-6-10 17:54
延時(shí)這么短的時(shí)間,燈熄滅你也看不到啊
作者: tomorrow1    時(shí)間: 2017-6-10 20:22
延時(shí)太短了
作者: renh12    時(shí)間: 2017-6-11 10:25
1. 端口配置是否正確    2. 延時(shí)時(shí)間是否太短
作者: dragon19790000    時(shí)間: 2017-6-11 18:36
延時(shí)問(wèn)題,加大延時(shí),一秒
作者: 秦@    時(shí)間: 2017-6-11 22:59
延時(shí)時(shí)間太短肉眼不能看不出來(lái)效果,100ms左右,根據(jù)你的需求調(diào)整時(shí)間
作者: zyb8548345113    時(shí)間: 2017-6-11 23:17
延遲時(shí)間太短
作者: zyb8548345113    時(shí)間: 2017-6-11 23:18
修改延遲時(shí)間
作者: huhulala    時(shí)間: 2017-6-12 11:02
閃爍的延時(shí)一般用毫秒就好,微秒太快,人的視覺(jué)轉(zhuǎn)換不過(guò)來(lái),就會(huì)看到燈一直亮著
作者: 追命三狼    時(shí)間: 2017-6-12 11:17
給a和b都乘以一個(gè)10就行
作者: 屁哥帥帥    時(shí)間: 2017-6-12 14:52
延時(shí)太短
作者: liujunsudu    時(shí)間: 2017-6-12 15:44
好像是由于延時(shí)時(shí)間太短造成的,你可以借助示波器看一下波形你就會(huì)知道
作者: wangamin    時(shí)間: 2017-6-12 16:15
延時(shí)函數(shù)時(shí)間設(shè)置太短了
作者: 李紫宸    時(shí)間: 2017-6-12 20:41
void delay(uchar z)
{uchar i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);}

作者: 李紫宸    時(shí)間: 2017-6-12 20:42
修改延時(shí)時(shí)間
作者: 何qiaoqiao    時(shí)間: 2017-6-13 10:02
延時(shí)問(wèn)題吧
作者: 老蔣家的木頭    時(shí)間: 2017-6-13 10:41
眼睛反應(yīng)不過(guò)來(lái)啊

作者: 騎士必勝    時(shí)間: 2017-6-13 12:12
延時(shí)時(shí)間太短了
作者: 隨風(fēng)消逝    時(shí)間: 2017-6-13 12:43
延時(shí)太短
作者: mas    時(shí)間: 2017-6-13 13:10
延時(shí)太短;再說(shuō)你的延時(shí)程序是什么哦,看不懂
作者: year1987    時(shí)間: 2017-6-13 14:56
修改延時(shí)參數(shù)至500ms,500us對(duì)于肉眼來(lái)說(shuō)太快了,分辨不出來(lái)是否閃爍,一般來(lái)講要延時(shí)時(shí)間要大于200ms,肉眼才可以有效分辨
作者: luciferlike    時(shí)間: 2017-6-14 11:17
DELAY時(shí)間太短其實(shí)你上示波器應(yīng)該就看的到ON OFF 只是你眼睛看不到
DELAY來(lái)個(gè)100ms應(yīng)該又可以看出來(lái)
作者: 13705132095    時(shí)間: 2017-6-14 11:50
修改一下delay后面的時(shí)間
作者: 啦啦啦啦。    時(shí)間: 2017-6-14 13:44
你可以把延時(shí)時(shí)間改為1000
作者: gyt    時(shí)間: 2017-6-14 16:04
燈壞了么
作者: 一世顧你    時(shí)間: 2017-6-14 19:11
延時(shí)太短
作者: hhy961228    時(shí)間: 2017-6-14 20:40
燈是一直閃爍的,但人眼有識(shí)別的時(shí)間,如果燈閃爍時(shí)間比人眼識(shí)別時(shí)間還短的話,那當(dāng)然看得就是一直亮了




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