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

標(biāo)題: 麻煩大神看下程序有什么問題沒。實(shí)際電路LED不能全部點(diǎn)亮,線材沒問題。 [打印本頁]

作者: leibo45    時(shí)間: 2020-7-8 08:58
標(biāo)題: 麻煩大神看下程序有什么問題沒。實(shí)際電路LED不能全部點(diǎn)亮,線材沒問題。
功能測試5根線是否導(dǎo)通。
測試放法:把5根線分別接到對(duì)應(yīng)的5個(gè)端口P1.0 P1.1 P1.2 P1.3 P1.4 對(duì)應(yīng)端口P2.0 P2.1 P2.2 P2.3 P2.4全部導(dǎo)通對(duì)應(yīng)5個(gè)LED燈亮。有一個(gè)不到通蜂鳴器響,
麻煩大神看下程序有什么問題沒。實(shí)際電路LED不能全部點(diǎn)亮,線材沒問題。


#include<reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit TXD1=P1^0;//·發(fā)送端
sbit TXD2=P1^1;
sbit TXD3=P1^2;
sbit TXD4=P1^3;
sbit TXD5=P1^4;


sbit RX1=P2^0;//接收端
sbit RX2=P2^1;
sbit RX3=P2^2;
sbit RX4=P2^3;
sbit RX5=P2^4;


sbit LED1=P0^0;//指示燈
sbit LED2=P0^1;
sbit LED3=P0^2;
sbit LED4=P0^3;
sbit LED5=P0^4;


sbit Buzzer=P2^5; //蜂鳴器

void delay(uchar x)


void main()

{

uint y;
        for(;x>0;x--)
        for(y=50;y>0;y--);
}

         P0 = 0xff;

   P1 = 0xff;

   P2 = 0xff;

   P3 = 0xff;
       
        while(1)
               
        {
   TXD1=0;TXD2=1;TXD3=1;TXD4=1;TXD5=1
if(RX1==0&RX2!=0&RX3!=0&RX4!=0&RX5!=0
{

   LED1=0;

}
else
{

   LED1=1;

}
delay(50000);
   TXD1=1;TXD2=0;TXD3=1;TXD4=1;TXD5=1;
if(RX2==0&RX1!=0&RX3!=0&RX4!=0&RX5!=0)
{

   LED2=0;

}
else
{

   LED2=1;

}
delay(50000);
   TXD1=1;TXD2=1;TXD3=0;TXD4=1;TXD5=1;
if(RX3==0&RX1!=0&RX2!=0&RX4!=0&RX5!=0)
{

   LED3=0;

}
else
{

   LED3=1;

}
delay(50000);
   TXD1=1;TXD2=1;TXD3=1;TXD4=0;TXD5=1;
if(RX4==0&RX1!=0&RX2!=0&RX3!=0&RX5!=0)
{

   LED4=0;

}
else
{

   LED4=1;

}
delay(50000);
   TXD1=1;TXD2=1;TXD3=1;TXD4=1;TXD5=0;
if(RX5==0&RX1!=0&RX2!=0&RX3!=0&RX4!=0)
{

   LED5=0;
       

}
else
{

   LED5=1;

}
delay(50000);

if((LED1&LED2&LED3&LED4&LED5)==0)
{   Buzzer=1;}
else
{

   Buzzer=0;

}
}
}



作者: carpcarey    時(shí)間: 2020-7-8 09:25
if(RX1==0&RX2!=0&RX3!=0&RX4!=0&RX5!=0)
這個(gè)判斷有問題;這個(gè)執(zhí)行結(jié)果先執(zhí)行0&RX2   判斷的邏輯與應(yīng)該用&&,單個(gè)&是算術(shù)與。
應(yīng)該如下
if((RX1==0)&&(RX2!=0)&&(RX3!=0)&&(RX4!=0)&&(RX5!=0))
作者: f556    時(shí)間: 2020-7-8 09:34
先測試一下全部LED是否會(huì)亮,也叫自檢
P1=0xe0; delayms(2000);
故障可能:
1、delay(50000),是延時(shí)50秒嗎?太長了
2、整個(gè)思路感覺不好,又復(fù)雜、浪費(fèi)時(shí)間。
TXD1=1;TXD2=1;TXD3=0;TXD4=1;TXD5=1;
if(RX3==0&RX1!=0&RX2!=0&RX4!=0&RX5!=0)
類似的全改成并行:
P1=0xff;
TXD1=1;TXD2=1;TXD3=1;TXD4=1;TXD5=1;  //僅一次,永遠(yuǎn)高
if(RX1==0) LED1=0;
if(RX2==0) LED2=0;
if(RX3==0) LED3=0;
...


作者: leibo45    時(shí)間: 2020-7-8 14:16
carpcarey 發(fā)表于 2020-7-8 09:25
if(RX1==0&RX2!=0&RX3!=0&RX4!=0&RX5!=0)
這個(gè)判斷有問題;這個(gè)執(zhí)行結(jié)果先執(zhí)行0&RX2   判斷的邏輯與應(yīng)該用 ...

你好:我現(xiàn)在測試使用杜邦線把P1.0 P1.1 P1.2 P1.3 P1.4 對(duì)應(yīng)端口P2.0 P2.1 P2.2 P2.3 P2.4接通5個(gè)LED燈都亮。可是我換成線材LED等只亮1個(gè)。難道這樣連接有問題,線材內(nèi)阻對(duì)電路有什么影響嗎?應(yīng)該怎么解決?
作者: leibo45    時(shí)間: 2020-7-8 14:48
f556 發(fā)表于 2020-7-8 09:34
先測試一下全部LED是否會(huì)亮,也叫自檢
P1=0xe0; delayms(2000);
故障可能:

你好:我現(xiàn)在使用杜邦線把P1.0 P1.1 P1.2 P1.3 P1.4 對(duì)應(yīng)端口P2.0 P2.1 P2.2 P2.3 P2.4全部連接起來,LED燈5個(gè)都亮。要是使用線材連接起來,只有1個(gè)燈亮。難道線材電阻值太大。這個(gè)問題怎么解決?測試線材是否開路還有什么方法。一根一根測試。
作者: carpcarey    時(shí)間: 2020-7-8 16:47
leibo45 發(fā)表于 2020-7-8 14:16
你好:我現(xiàn)在測試使用杜邦線把P1.0 P1.1 P1.2 P1.3 P1.4 對(duì)應(yīng)端口P2.0 P2.1 P2.2 P2.3 P2.4接通5個(gè)LED燈 ...

什么線材?怎么連的?有圖片么?
作者: leibo45    時(shí)間: 2020-7-8 16:49
carpcarey 發(fā)表于 2020-7-8 16:47
什么線材?怎么連的?有圖片么?

就是測試伺服編碼器線。5根線,公頭連接P1端口,母頭連接P2端口。
作者: carpcarey    時(shí)間: 2020-7-9 15:23
leibo45 發(fā)表于 2020-7-8 16:49
就是測試伺服編碼器線。5根線,公頭連接P1端口,母頭連接P2端口。

如果線很長,線與線之間很近,那么會(huì)有等效電容,建議在置了電平之后,在判斷之前延時(shí)100ms。這段延時(shí)時(shí)間相當(dāng)于給這個(gè)等效電容充電時(shí)間。這個(gè)時(shí)間根據(jù)實(shí)際情況去調(diào)整。

#define DefDelayTime 100
TXD1=0;TXD2=1;TXD3=1;TXD4=1;TXD5=1;
delay(DefDelayTime);
if((RX1==0)&&(RX2!=0)&&(RX3!=0)&&(RX4!=0)&&(RX5!=0))
{
.
.
}
作者: quentin83    時(shí)間: 2020-7-10 09:28
頻率問題




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