【单片机】心形流水灯の制作指南(保姆级) 您所在的位置:网站首页 电流型指示灯的制作方法图解视频 【单片机】心形流水灯の制作指南(保姆级)

【单片机】心形流水灯の制作指南(保姆级)

2024-07-16 05:21| 来源: 网络整理| 查看: 265

✌ 作者简介:神奇的汪同学,一名电子信息大学生. 📑 个人主页:神奇的汪同学主页👀 📫 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步 🔥 如果感觉博主的文章还不错的话,还请不吝 关注、点赞、收藏三连哦!

文章目录 前言一、原理图设计A、模块电路设计1.最小系统2.烧录电路3.LED电路4.供电电路5.其他电路 B、整体电路设计方案一:(AD20绘制)方案二:(立创DEA绘制) 二、写程序仿真1.Keil 5 编写程序a.main.c函数b.display.c函数c.display.h函数 2.Proteus 8 绘制仿真电路 三、PCB布局1.布局、布线和放置Logo2.铺铜和DRC检查3.生成Gerber文件 四、打板、采样、焊接和烧录1.打板2.采样3.焊接4.烧录 五、成品展示总结

前言

提示:这里是本文的前言内容: 希望这条博客能帮助到一些刚入门51单片机的萌新,这完全就是保姆级教程啦!下面是这个小项目的大致的设计流程图: 在这里插入图片描述

提示:以下是本篇文章正文内容

一、原理图设计 A、模块电路设计

做这个项目之前可以先用 Proteus画出仿真电路图,仿真没有问题后;在用嘉立创EDA或者AD20绘制原理图再生成PCB打板。这里的模块设计是提供一个绘制原理图的设计思路:

1.最小系统

提示:如果对最小系统不熟悉或者还不是很了解的,可以点击这里: 最小系统 在这里插入图片描述

2.烧录电路

在这里插入图片描述

3.LED电路

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

4.供电电路

A、常用的DC供电电路 在这里插入图片描述 B、可自动切换DC供电(时可以给电池充电)和电池供电电的电路 在这里插入图片描述

5.其他电路

A、红外电路 在这里插入图片描述 B、蜂鸣器电路 在这里插入图片描述

B、整体电路设计 方案一:(AD20绘制)

在这里插入图片描述 PCB的3D效果展示:

心形流水灯PCB展示!

方案二:(立创DEA绘制)

请添加图片描述 PCB的3D效果展示:

【单片机】心形流水灯贴片版为了能免费打板用立创eda又重新画了一遍!新增电源管理模块可以给3.7v锂电池充电供电还有一些个人喜欢的logo

二、写程序仿真 1.Keil 5 编写程序 a.main.c函数 #include #include "display.h" //主函数 void main() { while(1) { disp0_f_3(); disp0_f_all(); disp0_f_plus(); disp0_f_updown(); disp0_f_left(); disp0_f_diagonal(); disp0_f(); disp1_CW(); disp1_CW_B(); disp1_CCW(); disp1_CCW_B(); disp1_cwcc_4(); disp1_CW_4(); disp1_CW_4B(); disp1_CCW_4(); disp1_CCW_4B(); disp1_CW_2(); disp1_CCW_2(); disp1_updown_2(); disp1_updown_2B(); disp1_updown_2plus(); disp1_downup_2(); disp1_downup_2B(); disp1_Lout(); disp1_Rout(); disp2_bright_cwout(); disp2_bright_ccwout(); } } b.display.c函数 #include #include #define uint unsigned int #define uchar unsigned char uchar i,j,k; uint tt=70; uint time=200; uint time1=80; uchar code table0[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; uchar code table1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; uchar code table2[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00}; uchar code table3[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00}; uchar code table4[]={0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff}; uchar code table5[]={0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff}; void delay(uint time) { uint x,y; for(x=time;x>0;x--) for(y=110;y>0;y--); } void disp0_f_3() { for(i=0;i for(i=0;i for(i=0;i for(i=0;i for(i=0;i for(i=0;i P2=0x00;P3=0x00; for(i=0;i for(i=0;i P2=table1[i]; delay(100); } P2=0xff; for(i=0;i P1=table1[i]; delay(100); } P1=0xff; } void disp1_CW_B() { for(j=0;j P0=table2[i]; delay(time1); } for(i=0;i P3=table3[i]; delay(time1); } for(i=0;i for(i=0;i P3=table0[i]; delay(100); } P3=0xff; for(i=0;i P0=table1[i]; delay(100); } P0=0xff; } void disp1_CCW_B() { for(j=0;j P1=table2[i]; delay(time1); } for(i=0;i P2=table2[i]; delay(time1); } for(i=0;i for(i=0;i P1=table0[i]; P3=table0[i]; P2=table0[i]; P0=table1[i]; delay(100); } } void disp1_CW_4() { for(i=0;i for(i=0;i for(i=0;i for(i=0;i for(i=0;i P3=table0[i]; P0=table1[i]; delay(100); } P3=0xff; P0=0xff; } void disp1_CCW_2() { for(i=0;i P1=table1[i]; P2=table1[i]; delay(100); } P1=0xff; P2=0xff; } void disp1_updown_2() { for(i=0;i P3=table0[i]; P2=table1[i]; delay(50); } P3=0xff;P2=0xff; } void disp1_updown_2B() { for(i=0;i P3=table2[i]; P2=table3[i]; delay(50); } P1=0xff;P0=0xff; P3=0xff;P2=0xff; } void disp1_updown_2plus() { for(j=0;j P1=table0[i]; P0=table0[i]; delay(tt); } P1=0xff; P0=0xff; for(i=0;i for(i=0;i P3=table0[i]; P2=table1[i]; delay(20); } P3=0xff; P2=0xff; } tt=20; for(j=0;j P1=table0[i]; P0=table0[i]; delay(tt); } P1=0xff; P0=0xff; for(i=0;i for(i=0;i P1=table1[i]; P0=table1[i]; delay(100); } P1=0xff; P0=0xff; } void disp1_downup_2B() { for(i=0;i P1=table3[i]; P0=table3[i]; delay(100); } P1=0xff; P3=0xff; P2=0xff; P0=0xff; } void disp1_Lout() { P1=0xff;P0=0xff; P2=0xff;P3=0xff; for(i=0;i P3=table2[i]; delay(50); } for(i=0;i P0=table3[i]; delay(50); } delay(100); for(i=0;i P3=table4[i]; P2=table5[i]; delay(50); } P3=0xff;P2=0xff; delay(100); } void disp1_Rout() { P1=0xff;P0=0xff; P2=0xff;P3=0xff; for(i=0;i P2=table3[i]; delay(50); } for(i=0;i P1=table3[i]; delay(50); } delay(100); for(i=0;i P3=table4[i]; P2=table5[i]; delay(50); } P3=0xff;P2=0xff; delay(100); } void disp2_bright_cwout() { P1=0x00; P3=0x00; P2=0x00; P0=0x00; for(i=0;i P1=0x00; P3=0x00; P2=0x00; P0=0x00; for(i=0;i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

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