焊接自己打板的心形LED出现的问题

本文详细记录了一位工程师从使用AD导出PDF文件,到焊接心形LED电路板,再到程序调试的全过程。在焊接过程中遇到了晶振位置不合适、电容拥挤、排阻焊接等问题,通过不断尝试和改进,最终成功解决了问题。程序方面,编写并调试了8051单片机的控制程序,通过调整延时时间实现了预期效果。此外,还分享了关于LED正负极检测、烧录程序的方法及注意事项,并对PCB设计进行了反思和改进。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、AD导出PDF文件

AD如何导出PDF(原理图,PCB,BOM表都在里面)

1. 导出文件后AD16的界面

在这里插入图片描述

2. 导出的PDF工程

原理图
在这里插入图片描述
PCB工程图片
在这里插入图片描述
BOM表图片
在这里插入图片描述

二、心形灯的焊接步骤

  • 先决定焊接的顺序:先焊接贴片,再焊接插件

原因:插件焊接后,会由于引脚修剪不整齐导致放在桌面上不稳,这样子在后面焊接贴片的时候板子就会晃动,不容易焊接

  • 从中间往四周焊接

原因:四周焊接完成后,再焊接中间的器件容易被周围的器件挡掉,就不好焊接了

  • 先把最小系统焊接好

原因:焊接了最小系统可以先保证单片机可以正常工作,单片机正常工作程序才可以正常运行

  • 其他部分按照模块来焊接

条理清晰,不容易乱,更方便理清电路的思路

  • 总的焊接步骤

贴片排阻(一个个引脚测阻值,确定没有虚焊)->LED->芯片座->杂七杂八的东西

三、焊接时出的问题

1. 晶振位置摆放不正确

  • PCB里面看着没什么问题,位置也够
    在这里插入图片描述
  • 然而实际接线起来,晶振太大了!!!😲😲😲芯片座放不下去
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
解决办法:
1. 把晶振焊接到板子的背面

当时是先从中间开始焊接的晶振,所以想要焊接芯片座必须把晶振弄下来,真的弄了好久,最后背面的焊盘都给烫掉了

解决办法:
1.把晶振焊接到板子的背面在这里插入图片描述

影响:后面焊接贴片排阻的时候,板子老是左右摇晃,排阻的位置老是偏掉☹️☹️☹️☹️

2. 掰引脚,把它掰成横的

解决办法
2. 掰引脚,把它掰成横的
在这里插入图片描述

看起来还行
在这里插入图片描述

3. 下次更改:在PCB里面把晶振横着放

下次更改:在PCB里面把晶振横着放(我真的不知道位置是不够的)😭😭😭😭😭
在这里插入图片描述

废掉的晶振:引脚已经被搞断了
  在这里插入图片描述

4. 检测是否焊接上去

检测是否焊接上去:用万用表测与晶振相连的单片机两个引脚是否导通了,我测的是会响的,所以没问题(正反面测这四个引脚都是可以的)

在这里插入图片描述

2. 电容位置太挤了,差点挡到芯片座

在这里插入图片描述

3. 排阻的焊接

这八个排阻我真的焊接了四五遍,老是连锡😵😵😵焊接了两天,最后掌握了技巧

  • 助焊膏
  • 连锡了的话用焊锡+烙铁头去连锡的地方拖(我就是这样,因为当时我不知道助焊膏怎么用😏😏😏当然,这种方法比较奢侈
  • 最开始出现连锡我会去搞那几个连锡的引脚,不过最后我觉得还是直接重新焊接比较好

我就把焊锡溶解在焊盘上面,加上烙铁头,一下子就把焊好的排阻取下来了

  • 先在焊盘上弄上焊锡,再把排阻放上去,用镊子固定,最后用烙铁头去融化焊盘上面的焊锡,就可以把排阻焊接上去了

排阻没有那么的脆弱,没有那么容易烧坏的!!!!!!

1. 教程

一分钟教你认识各种烙铁头
一分钟教你处理连锡
焊锡技巧:烙铁焊锡时松香是如何使用的 松香怎么放到焊点上

2. 检测是否焊接上去——拿万用表来测

测焊盘和LED那边对应引脚可以测出电阻来

在这里插入图片描述
LED那边的引脚:
在这里插入图片描述
排阻对应在单片机的引脚:在这里插入图片描述

我是先焊接了LED焊接排阻,所以测排阻有没有虚焊时要到背面去测电阻(正面的焊盘已经被LED盖住了😠😠😠😠😠😠)

改进:先把排阻焊接好,测量没有虚焊,再焊接LED,32个接口一个个去测量,不要偷懒😡😡😡😡
在这里插入图片描述
在这里插入图片描述

四、LED正负极检测

数字万用表检测常用元器件5LED测量
万用表选到蜂鸣器挡位,红表笔接正,黑表笔接负,二极管会发光
在这里插入图片描述

五、写调试程序、烧录程序

1. 调试程序,亲测可用😃😃😃😃

#include <reg52.h>	//51头文件
#include <intrins.h>//包含循环右移函数_cror头文件
#define uint unsigned int
#define uchar unsigned char
uchar temp,x,y;//全局变量,赋值时变量的类型要和被赋值的值类型一样,P1口是八位寄存器,uchar也是八位
void Delay100ms();
sbit LED1=P0^0;
sbit LED2=P0^1;
sbit LED3=P0^2;
sbit LED4=P0^3;
sbit LED5=P0^4;
sbit LED6=P0^5;
sbit LED7=P0^6;
sbit LED8=P0^7;

sbit LED9=P1^0;
sbit LED10=P1^1;
sbit LED11=P1^2;
sbit LED12=P1^3;
sbit LED13=P1^4;
sbit LED14=P1^5;
sbit LED15=P1^6;
sbit LED16=P1^7;

sbit LED25=P3^0;
sbit LED26=P3^1;
sbit LED27=P3^2;
sbit LED28=P3^3;
sbit LED29=P3^4;
sbit LED30=P3^5;
sbit LED31=P3^6;//后面自己补上去的
sbit LED32=P3^7;

sbit LED20=P2^0;
sbit LED19=P2^1;
sbit LED18=P2^2;
sbit LED17=P2^3;
sbit LED24=P2^4;
sbit LED23=P2^5;
sbit LED22=P2^6;
sbit LED21=P2^7;
void main()
{		
	while(1)
	{
		
		x=0;
		LED1=0;
		Delay100ms();
		LED2=0;
		Delay100ms();
		LED3=0;
		Delay100ms();
		LED4=0;
		Delay100ms();
		LED5=0;
		Delay100ms();
		LED6=0;
		Delay100ms();
		LED7=0;
		Delay100ms();
		LED8=0;
		Delay100ms();
		LED21=0;
		Delay100ms();
		LED22=0;
		Delay100ms();
		LED23=0;
		Delay100ms();
		LED24=0;
		Delay100ms();
		
		LED17=0;
		Delay100ms();
		LED18=0;
		Delay100ms();
		LED19=0;
		Delay100ms();
		LED20=0;
		Delay100ms();
		LED32=0;
		Delay100ms();
		LED31=0;
		Delay100ms();
		LED30=0;
		Delay100ms();
		LED29=0;
		Delay100ms();
		LED28=0;
		Delay100ms();
		LED27=0;
		Delay100ms();
		LED26=0;
		Delay100ms();
		
		LED25=0;
		Delay100ms();
		LED16=0;
		Delay100ms();
		LED15=0;
		Delay100ms();
		LED14=0;
		Delay100ms();
		LED13=0;
		Delay100ms();
		LED12=0;
		Delay100ms();
		LED11=0;
		Delay100ms();
		LED10=0;
		Delay100ms();
		LED9=0;
		for(x;x<8;x++)
		{
		Delay100ms();
		P0=0xff;
		P1=0xff;
		P2=0xff;
		P3=0xff;
		Delay100ms();
		P0=0x00;
		P1=0x00;
		P2=0x00;
		P3=0x00;
		}
		Delay100ms();
		Delay100ms();
		P0=0xff;
		P1=0xff;
		P2=0xff;
		P3=0xff;
		Delay100ms();
	}
		
}

void Delay100ms()		//@11.0592MHz
{
	unsigned char i, j;

	i = 180;
	j = 73;
	do
	{
		while (--j);
	} while (--i);
}

2. 烧录程序

以前烧录程序:

在这里插入图片描述

现在烧录程序

我直接四个接头先接好

烧录排针:
烧录时候的骚操作:在烧录先点击下载,再把排针放在引出的脚的焊盘上面,烧录完就拿走,下次再烧录程序再这样子搞,完美,这样子就不会因为排针焊死在PCB板子上影响板子的美观的

疏忽:在打板前,应该在排针四个焊盘周围标上丝印,要不然别人不认识啊!!!!!!现在才想起来!!!

烧录前:
在这里插入图片描述
烧录时:看我排针位置变化😯😯😯
在这里插入图片描述

六、调试程序

调试

我四次调试视频B站

灯的问题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后

只有LED31一直不点亮,去检查程序,发现写程序时把LED31漏掉了
在这里插入图片描述

关于延时时间的问题:
第一次:

延时200ms--------程序走完41s
理论上:程序走完约需要10s(多了四、五倍)
延时程序:在这里插入图片描述

第二次

延时1000ms------程序走完3min30s
理论上:程序走完约需要55s(多了四、五倍)
延时程序:
在这里插入图片描述

第三次

延时100ms------程序走完30s
理论上:程序走完约需要6s(多了四、五倍)
延时程序:在这里插入图片描述

8051指令

无论我怎么调代码,延迟程序都是理论时间的4-5倍,可能是延时程序自身就是有问题的,一个个查最后发现了8051指令错误
在这里插入图片描述

改正
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

最后:终于正常了!!!!

[PCB调试]第四次

七、其他

七彩LED
不同颜色LED灯工作电流和压降是多少,限流电阻咋算
如何用stc-isp软件计算C程序函数的延时时间?

我终于知道为什么商家宁可放弃好看的排版用直插电阻也不用贴片排阻了,买家大部分不会焊吧,所以为了焊接的方便性,再丑也得搞直插

在这里插入图片描述

改进后的PCB/原理图

在这里插入图片描述
在这里插入图片描述

原文所在:在这里插入图片描述

原文所在:布尔青年
原文链接

proteus仿真基本教程,第6章 控制电路设计与仿真 .........................................................................................................................2 6.1 Proteus系统仿真基础 ........................................................................................................................2 6.2 Proteus中的单片机模型 ....................................................................................................................5 6.3 51系列单片机系统仿真 ....................................................................................................................7 6.3.1 51系列单片机基础 ................................................................................................................7 6.3.2 在Proteus中进行源程序设计与编译 ..............................................................................8 6.3.3 在Keil μVision中进行源程序设计与编译 ................................................................. 11 6.3.4 Proteus和Keil μVision联合调试 ................................................................................... 15 6.4 用51单片机实现电子秒表设计实例 ....................................................................................... 18 6.5 AVR系列单片机仿真 ...................................................................................................................... 20 6.5.1 AVR系列单片机基础 ......................................................................................................... 21 6.5.2 Proteus和IAR EWB for AVR联合开发 ....................................................................... 22 6.6 用AVR单片机实现数字电压表设计实例 .............................................................................. 28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值