IAP15W4K61S4 P0.2推挽没有输出 | 已解决,焊接问题
P0.2~P0.7都用作输出
先驱动PC817,PC817 24V正通过2K限流电阻到
ULN2803输入脚
整个板子测试输出流水灯 P0口的P0.3 P0.4 P0.5 P0.6 P0.7都OK
就P0.2有点倔
#include <REG52.H>
#include <intrins.H>
#define uint unsigned int
#define uchar unsigned char
sbit X00=P3^2;
sbit X01=P6^7;
sbit X02=P6^6;
sbit X03=P6^5;
sbit X04=P3^3;
sbit X05=P5^1;
sbit X06=P7^0;
sbit X07=P7^2;
sbit X10=P7^3;
sbit X11=P7^1;
sbit X12=P3^7;
sbit X13=P3^6;
sbit X14=P3^5;
sbit X15=P6^4;
sbit X16=P5^0;
sbit X17=P3^4;
sbit X20=P4^1;
sbit X21=P4^2;
sbit X22=P4^3;
sbit X23=P4^4;
sbit X24=P2^0;
sbit X25=P2^1;
sbit X26=P2^2;
sbit X27=P2^3;
sbit Y00=P7^4;
sbit Y01=P7^5;
sbit Y02=P7^6;
sbit Y03=P7^7;
sbit Y04=P4^5;
sbit Y05=P4^6;
sbit Y06=P0^1;
sbit Y07=P0^3;
sbit Y10=P0^4;
sbit Y11=P5^2;
sbit Y12=P5^3;
sbit Y13=P0^5;
sbit Y14=P0^6;
sbit Y15=P0^7;
sbit Y16=P6^0;
sbit Y17=P6^1;
sbit Y20=P6^2;
sbit Y21=P6^3;
sbit Y22=P1^0;
sbit Y23=P1^1;
sbit Y24=P4^7;
sbit Y25=P1^2;
sbit Y26=P1^3;
sbit Y27=P1^4;
sbit Y30=P1^5;
sbit Y31=P1^6;
sbit Y32=P4^0;
sbit Y33=P5^5;
sbit Y34=P1^7;
sbit Y35=P5^4;
sbit OUT1=P0^0;
/**************Delay*******************************/
void Delay_50ms(uint Del_50ms) //
{
uint m;
for(;Del_50ms>0;Del_50ms--)
for(m=62450;m>0;m--);
}
void resrt_io()
{
X00=1;
X01=1;
X02=1;
X03=1;
X04=1;
X05=1;
X06=1;
X07=1;
X10=1;
X11=1;
X12=1;
X13=1;
X14=1;
X15=1;
X16=1;
X17=1;
X20=1;
X21=1;
X22=1;
X23=1;
X24=1;
X25=1;
X26=1;
X27=1;
Y00=1;
Y01=1;
Y02=1;
Y03=1;
Y04=1;
Y05=1;
Y06=1;
Y07=1;
Y10=1;
Y11=1;
Y12=1;
Y13=1;
Y14=1;
Y15=1;
Y16=1;
Y17=1;
Y20=1;
Y21=1;
Y22=1;
Y23=1;
Y24=1;
Y25=1;
Y26=1;
Y27=1;
Y30=1;
Y31=1;
Y32=1;
Y33=1;
Y34=1;
Y35=1;
OUT1=1;
}
void main( ) /*主程序开始*/
{
P0M0=0XFF;//0.2开漏
P0M1=0;//0.2开漏
P1M0=0;
P1M1=0;
P2M0=0;
P2M1=0;
P3M0=0;
P3M1=0;
P4M0=0;
P4M1=0;
P5M0=0;
P5M1=0;
P6M0=0;
P6M1=0;
P7M0=0;
P7M1=0;
resrt_io();
while(1)
{
OUT1=0;
Y35=1;
Y00=0;
Delay_50ms(20);
Y00=1;
Y01=0;
Delay_50ms(20);
Y01=1;
Y02=0;
Delay_50ms(20);
Y02=1;
Y03=0;
Delay_50ms(20);
Y03=1;
Y04=0;
Delay_50ms(20);
Y04=1;
Y05=0;;
Delay_50ms(20);
Y05=1;
Y06=0;
Delay_50ms(20);
Y06=1;
Y07=0;
Delay_50ms(20);
Y07=1;
Y10=0;
Delay_50ms(20);
Y10=1;
Y11=0;
Delay_50ms(20);
Y11=1;
Y12=0;
Delay_50ms(20);
Y12=1;
Y13=0;
Delay_50ms(20);
Y13=1;
Y14=0;
Delay_50ms(20);
Y14=1;
Y15=0;
Delay_50ms(20);
Y15=1;
Y16=0;
Delay_50ms(20);
Y16=1;
Y17=0;
Delay_50ms(20);
OUT1=1;
Y17=1;
Y20=0;
Delay_50ms(20);
Y20=1;
Y21=0;
Delay_50ms(20);
Y21=1;
Y22=0;
Delay_50ms(20);
Y22=1;
Y23=0;
Delay_50ms(20);
Y23=1;
Y24=0;
Delay_50ms(20);
Y24=1;
Y25=0;
Delay_50ms(20);
Y25=1;
Y26=0;
Delay_50ms(20);
Y26=1;
Y27=0;
Delay_50ms(20);
Y27=1;
Y30=0;
Delay_50ms(20);
Y30=1;
Y31=0;
Delay_50ms(20);
Y31=1;
Y32=0;
Delay_50ms(20);
Y32=1;
Y33=0;
Delay_50ms(20);
Y33=1;
Y34=0;
Delay_50ms(20);
Y34=1;
Y35=0;
Delay_50ms(20);
}
}
一共焊了两块板,第一块把P0.2并到P0.1上去了
定义了P0.1. 第二块改成P0.2可以输出了。
第一块板可能焊的时候温度高了
页:
[1]