【PCB授课笔记】心形流水灯 制作全过程 您所在的位置:网站首页 cad上怎么画爱心 【PCB授课笔记】心形流水灯 制作全过程

【PCB授课笔记】心形流水灯 制作全过程

2024-07-01 14:30| 来源: 网络整理| 查看: 265

前言

最近在上的一门课内容是PCB设计,采用的教学软件是国产的立创EDA,前几节课已经给学生们讲解了基础的理论知识,后面的课程就准备做一些真实的项目,毕竟嘉立创5元包邮的PCB打样还是很香的。

第一个项目肯定不能太难,而且还要有一定的趣味性,能激发学生学习的兴趣。于是我就选择了采用51单片机制作一个心形流水灯。

设计草图

主控芯片采用的是STC15W404,LED等采用的是5MM的直插式发光二极管,单片机引脚高电平直接驱动,为了节省元器件,没有添加限流电阻。

原理图如下图所示:

心形流水灯原理图 STC15W404采用的是SOP16封装,二极管1N4148是为了调整烧录时串口引脚的电压。整个设计已将做的了最简,一个元器件都不能再少。设计好的PCB渲染图如下图所示。

心形流水灯渲染图

制作过程:

打开立创EDA,创建一个新项目,打开原理图设计页面,点击元件库,搜索 STC15W404,放置下图所示的芯片, 放置STC15W404

然后放置14可5mm的红色直插LED灯,按照下图方式将其连接起来,注意LED灯的编号是从右下角开始,逆时针方向递增。 LED与51单片机连接

51单片机需要使用串口烧录,我们的心形流水灯串口引脚(p3.0,p3.1)上也连接的LED,这些LED会在烧录时干扰串口数据线的电平,所以要用两个1N4148二极管调整一下串口电压,如下图所示: 51单片机烧录电路

PCB设计

原理图设计完成后,使用原理图转PCB功能将原理图转成PCB,如下图所示,我们将LED放置在PCB的正面,其他元器件都放在PCB板的背面,并且把LED1放置12点钟方向,其他LED按照顺时针排列成一个心形: 元器件布局

点击边框层,删除原来的边框,使用布线工具,重新给我们的PCB绘制一个心形边框

绘制PCB边框

然后在PCB板背面,将除GND外的所有网络连接起来:

布线参考

最后添加泪滴,并铺铜 泪滴,铺铜

然后再PCB板心形正面添加想要表达的信息 添加丝印

3D预览效果图如下图所示: 心形流水灯3D预览图

设计完成后,导出PCB制版文件,使用嘉立创下单助手下单,5元包邮。

焊接:

将所需要的元器件分装好,发给学生,学生自己在课余时间完成焊接。 心形流水灯元器件包

软件调试:

软件开发使用的是Keil5,核心代码如下:

#include "STC15W.h" #include sbit LED1=P3^0; sbit LED2=P3^1; sbit LED3=P3^2; sbit LED4=P3^3; sbit LED5=P3^6; sbit LED6=P3^7; sbit LED7=P1^0; sbit LED8=P1^1; sbit LED9=P1^2; sbit LED10=P1^3; sbit LED11=P1^4; sbit LED12=P1^5; sbit LED13=P5^4; sbit LED14=P5^5; /** * @description: 51延时函数 @11.0592MHz * @param {uint ms 毫秒} * @return: void */ void Delay_ms(unsigned int ms) { unsigned char i, j; while(ms--) { _nop_(); _nop_(); _nop_(); i = 11; j = 190; do { while (--j); } while (--i); } } void Pin_Init() { P1M0=P3M0=P5M0 = 0xff; //LED OUT PUT P1M1=P3M1=P5M1 = 0x00; P1=P3=P5=0x00; } void main() { Pin_Init(); while (1) { LED1 = 1; Delay_ms(100); LED1 = 0; LED2 = 1; Delay_ms(100); LED2 = 0; LED3 = 1; Delay_ms(100); LED3 = 0; LED4 = 1; Delay_ms(100); LED4 = 0; LED5 = 1; Delay_ms(100); LED5 = 0; LED6 = 1; Delay_ms(100); LED6 = 0; LED7 = 1; Delay_ms(100); LED7 = 0; LED8 = 1; Delay_ms(100); LED8 = 0; LED9 = 1; Delay_ms(100); LED9 = 0; LED10 = 1; Delay_ms(100); LED10 = 0; LED11 = 1; Delay_ms(100); LED11 = 0; LED12 = 1; Delay_ms(100); LED12 = 0; LED13 = 1; Delay_ms(100); LED13 = 0; LED14 = 1; Delay_ms(100); LED14 = 0; LED1 = 1; Delay_ms(100); LED2 = 1; LED14 = 1; Delay_ms(100); LED2 = 1; LED14 = 1; Delay_ms(100); LED3 = 1; LED13 = 1; Delay_ms(100); LED4 = 1; LED12 = 1; Delay_ms(100); LED5 = 1; LED11 = 1; Delay_ms(100); LED6 = 1; LED10 = 1; Delay_ms(100); LED7 = 1; LED9 = 1; Delay_ms(100); LED8 = 1; Delay_ms(1000); } }

烧录使用的是STC原厂提供的烧录工具,注意串口引脚上面连接了LED,电平不稳,波特率建议使用2400,如下图所示: 固件烧录

运行效果:

运行效果图

喜欢的话点击下关注吧,以后会发布更多有趣的电子制作哦!

作者:我是鹏老师



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有