|
|
功能測試5根線是否導(dǎo)通。
測試放法:把5根線分別接到對應(yīng)的5個端口P1.0 P1.1 P1.2 P1.3 P1.4 對應(yīng)端口P2.0 P2.1 P2.2 P2.3 P2.4全部導(dǎo)通對應(yīng)5個LED燈亮。有一個不到通蜂鳴器響,
麻煩大神看下程序有什么問題沒。實際電路LED不能全部點亮,線材沒問題。
#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;
}
}
}
|
|